Problem
Fast Forward shared workflows currently rely on many repository-local composite actions and script files. That works, but it spreads automation behavior across YAML, shell, JavaScript, and PHP snippets, and forces reusable workflows to manage an action-source checkout separately from the consumer repository checkout.
We want a small Composer-installable Symfony Console application that centralizes the Fast Forward GitHub Actions runtime behavior behind testable commands. Reusable workflows should eventually be thin YAML orchestration that installs this package globally and calls deterministic CLI commands.
Scope
Bootstrap fast-forward/github-actions as a PHP 8.3 Symfony Console application that can be installed globally by GitHub workflows and used even when a consumer package does not require fast-forward/dev-tools directly.
The initial package should:
- expose a Composer binary for workflow usage;
- depend on
fast-forward/dev-tools so global installation brings the Fast Forward tooling surface along;
- avoid running
dev-tools:sync or any workflow synchronization during local setup by documenting and validating composer install --no-scripts;
- provide a small but production-shaped command architecture instead of loose scripts;
- include at least a couple of simple commands that demonstrate the migration path from composite actions to CLI commands;
- include PHPUnit coverage for command behavior and GitHub output handling;
- include README, changelog, docs, and agent guidance sufficient for future command extraction work;
- intentionally avoid adding synchronized GitHub workflow wrappers in this first PR.
Acceptance Criteria
composer.json defines fast-forward/github-actions, PHP ^8.3, a Composer bin, PSR-4 autoloading, and the package metadata used across Fast Forward repositories.
- The application boots through Symfony Console and exposes a stable binary suitable for GitHub Actions steps.
- Runtime dependencies are chosen to keep command implementations focused and maintainable;
fast-forward/dev-tools is available through the package install.
- The first commands are deterministic, tested, and useful as migration examples for existing actions.
- Commands that need to communicate with GitHub Actions support writing outputs to
GITHUB_OUTPUT and summaries to GITHUB_STEP_SUMMARY where appropriate.
- Local setup and verification use Composer with
--no-scripts so this repository does not sync workflows while the workflow externalization is still in progress.
- No
.github/workflows files are introduced in this first package bootstrap.
- Documentation explains how reusable workflows are expected to install and call the CLI, including the future relationship with
php-fast-forward/.github.
Non-goals
- Do not migrate every existing composite action in this first issue.
- Do not change consumer workflow wrappers yet.
- Do not add release workflows to this repository yet.
- Do not rely on direct commits to protected default branches.
Problem
Fast Forward shared workflows currently rely on many repository-local composite actions and script files. That works, but it spreads automation behavior across YAML, shell, JavaScript, and PHP snippets, and forces reusable workflows to manage an action-source checkout separately from the consumer repository checkout.
We want a small Composer-installable Symfony Console application that centralizes the Fast Forward GitHub Actions runtime behavior behind testable commands. Reusable workflows should eventually be thin YAML orchestration that installs this package globally and calls deterministic CLI commands.
Scope
Bootstrap
fast-forward/github-actionsas a PHP 8.3 Symfony Console application that can be installed globally by GitHub workflows and used even when a consumer package does not requirefast-forward/dev-toolsdirectly.The initial package should:
fast-forward/dev-toolsso global installation brings the Fast Forward tooling surface along;dev-tools:syncor any workflow synchronization during local setup by documenting and validatingcomposer install --no-scripts;Acceptance Criteria
composer.jsondefinesfast-forward/github-actions, PHP^8.3, a Composer bin, PSR-4 autoloading, and the package metadata used across Fast Forward repositories.fast-forward/dev-toolsis available through the package install.GITHUB_OUTPUTand summaries toGITHUB_STEP_SUMMARYwhere appropriate.--no-scriptsso this repository does not sync workflows while the workflow externalization is still in progress..github/workflowsfiles are introduced in this first package bootstrap.php-fast-forward/.github.Non-goals