Skip to content

Latest commit

 

History

History
98 lines (70 loc) · 3.09 KB

File metadata and controls

98 lines (70 loc) · 3.09 KB

Installation

FastForward DevTools is installed as a development dependency and exposed through Composer as both a plugin and a local binary.

Requirements

  • PHP 8.3 or newer.
  • Composer 2.
  • A project with PSR-4 autoload definitions in composer.json.
  • Git, if you want dev-tools:sync to create the repository wiki submodule.

Install with Composer

composer require --dev fast-forward/dev-tools

What happens after installation?

When Composer finishes the install or update, the package performs the following steps:

  1. Composer loads FastForward\DevTools\Composer\Plugin.
  2. The plugin exposes commands through FastForward\DevTools\Composer\Capability\DevToolsCommandProvider.
  3. Composer triggers vendor/bin/dev-tools dev-tools:sync after install and update.
  4. dev-tools:sync adds or refreshes the dev-tools and dev-tools:fix scripts in the consumer composer.json.
  5. dev-tools:sync removes deprecated DevTools-managed extra.grumphp.config-default-path entries, synchronizes funding metadata, copies automation assets such as workflow stubs, .editorconfig, and .github/dependabot.yml, and refreshes .gitignore, .gitattributes, the project license, and packaged Git hooks that prefer a project-local grumphp.yml override and otherwise use the active packaged DevTools grumphp.yml path.
  6. If .github/wiki is missing, dev-tools:sync adds it as a Git submodule that points to the repository wiki.
  7. dev-tools:sync runs gitignore to merge canonical ignore rules into the consumer project.
  8. dev-tools:sync runs skills and agents to create or repair packaged links inside .agents/skills and .agents/agents when sync runs in normal mode rather than preview/check mode.

First commands to try

After installation, these are the most useful sanity checks:

composer skills
composer agents
composer tests
composer docs
composer dev-tools

If Composer argument forwarding becomes awkward, call the binary directly:

vendor/bin/dev-tools tests --filter=SyncCommandTest

If you want to verify the packaged skills or project agents on their own, run:

vendor/bin/dev-tools skills
vendor/bin/dev-tools agents

When manual sync is useful

If the package was installed with Composer plugins disabled, or if you want to refresh consumer automation after upgrading this package, run:

composer dev-tools:sync

Or call the binary explicitly:

vendor/bin/dev-tools dev-tools:sync

Important

The docs and reports commands require a docs/ directory. If your package does not have one yet, create it before running those commands. The skills and agents commands create .agents/skills and .agents/agents when needed, but they do not overwrite existing non-symlink directories inside those trees.