Use the standalone commands when you want one tool instead of the full
standards pipeline.
Runs PHPUnit with the resolved phpunit.xml.
composer dev-tools tests
composer dev-tools tests -- --filter=EventTracerTestImportant details:
- local
phpunit.xmlis preferred over the packaged default; --coverage=<path>creates HTML, Testdox, Clover, and raw coverage output;--no-cachedisablestmp/cache/phpunit;- the packaged configuration registers the DevTools PHPUnit extension.
Runs Composer Normalize and ECS.
composer dev-tools code-style
composer dev-tools code-style -- --fixImportant details:
- it always executes
composer update --lock --quietfirst; - without
--fix, Composer Normalize runs in--dry-runmode; - ECS uses local
ecs.phpwhen present, otherwise the packaged fallback.
Runs Rector against the current project.
composer dev-tools refactor
composer dev-tools refactor -- --fixImportant details:
- without
--fix, Rector runs in dry-run mode; - local
rector.phpis preferred when present; - the packaged default includes Fast Forward custom Rector rules plus shared Rector sets.
Coordinates PHP-CS-Fixer and a focused Rector pass for missing method PHPDoc.
composer dev-tools phpdoc
composer dev-tools phpdoc -- --fixImportant details:
- it creates
.docheaderfrom the packaged template when the file is missing; - it uses
.php-cs-fixer.dist.phpandrector.phpthrough the same local-first fallback logic; - the Rector phase explicitly runs
FastForward\DevTools\Rector\AddMissingMethodPhpDocRector.
Builds the HTML documentation site with phpDocumentor.
composer dev-tools docs
vendor/bin/dev-tools docs --source=docs --target=publicImportant details:
docs/must exist unless you pass another--sourcedirectory;- API pages are built from the PSR-4 paths declared in
composer.json; - guide pages are built from the selected source directory;
--templatedefaults tovendor/fast-forward/phpdoc-bootstrap-template.
Builds Markdown API pages for a GitHub wiki.
composer dev-tools wikiImportant details:
- the default output directory is
.github/wiki; - it uses the Markdown template from
vendor/saggre/phpdocumentor-markdown/themes/markdown; - it is especially useful together with the reusable wiki workflow.
Runs the documentation and test-report pipeline used by GitHub Pages.
composer dev-tools reportsImportant details:
- it calls
docs --target public; - it calls
tests --coverage public/coverage; - it is the reporting stage used by
standards.
Synchronizes consumer-facing automation and defaults.
composer dev-tools:syncImportant details:
- it updates
composer.jsonscripts andextra.grumphp.config-default-path; - it copies missing workflow stubs,
.editorconfig, anddependabot.yml; - it creates
.github/wikias a git submodule when the directory is missing. - it calls
gitignoreto merge the canonical .gitignore with the project's .gitignore.
Merges and synchronizes .gitignore files.
composer dev-tools gitignore
composer dev-tools gitignore -- --source=/path/to/source/.gitignore --target=/path/to/target/.gitignoreImportant details:
- it reads the canonical .gitignore from dev-tools and merges with the project's existing .gitignore;
- by default, the source is the packaged .gitignore and the target is the project's root .gitignore;
- duplicates are removed and entries are sorted alphabetically;
- it uses the Reader, Merger, and Writer components from the GitIgnore namespace.