Ultimate-Multisite / Ultimate-Multisite/ultimate-multisite

Detect missing Composer development tools in check-env

Open
#1,808 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

auto-dispatch blocked-by:GH#1805 origin:interactive priority:medium quality-debt status:blocked tier:standard
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.md only 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

  1. Inspect existing prerequisite checks and shell-test conventions.
  2. Add explicit executable checks for all Composer-backed quality commands.
  3. Distinguish a production --no-dev install from a development-ready install.
  4. Add a regression test for vendor/autoload.php present with vendor/bin tools 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.