Ultimate-Multisite / Ultimate-Multisite/ultimate-multisite
Detect missing Composer development tools in check-env
Nobody has claimed this yet.
- Dominant language
- PHP
- Stars
- 214
- Forks
- 86
- Avg merge
- 5h 29m
- Merged PRs (30d)
- 60
Description
What
Harden bin/check-env.sh so it verifies the Composer development binaries required by documented quality commands, not only vendor/autoload.php.
Why
During #1805 the environment check reported Composer dependencies ready while vendor/bin/phpunit and vendor/bin/phpcs were absent after a production --no-dev install. The false positive delayed release verification.
Tier
tier:standard — the implementation is small, but the repository needs a verified shell-test pattern and clear recovery guidance for partially installed dependencies.
Files
bin/check-env.sh- Existing shell tests for environment checks, or a new focused test under the verified test-tooling location
AGENTS.mdonly if documented output changes
Reference pattern
Follow the existing [OK] and failure-guidance output in bin/check-env.sh. Check executable presence for vendor/bin/phpunit, vendor/bin/phpcs, and vendor/bin/phpstan; recommend composer install when any required development binary is missing.
Implementation steps
- Inspect existing prerequisite checks and shell-test conventions.
- Add explicit executable checks for all Composer-backed quality commands.
- Distinguish a production
--no-devinstall from a development-ready install. - Add a regression test for
vendor/autoload.phppresent withvendor/bintools absent.
Acceptance criteria
- The check fails when autoload exists but required development binaries do not.
- Recovery output identifies
composer install. - A complete development install still passes.
- ShellCheck and focused tests pass.
Verification
bash bin/check-env.sh- Focused shell test covering missing and present binaries
shellcheck bin/check-env.sh
Dependency
Blocked by #1805; begin after PR #1806 merges.
aidevops.sh v3.32.317 plugin for OpenCode v1.18.29 with gpt-5.6-sol spent 4h 26m and 539,830 tokens on this with the user in an interactive session.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with bin/check-env.sh and the existing shell-test conventions. Reproduce the missing-development-tools case with vendor/autoload.php present while vendor/bin/phpunit, phpcs, and phpstan are absent, then compare it with a complete install. Verify the focused shell test, bash bin/check-env.sh, and shellcheck bin/check-env.sh; done means the missing case fails with composer install guidance and a complete install passes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php, shell
- Domain
- devops, testing, tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 68/100