Consumer Automation
FastForward DevTools plays two roles at once:
- producer: this repository ships reusable workflow templates and default configuration files;
- consumer helper: the
dev-tools:synccommand copies those assets and links packaged skills and packaged project agents into other Fast Forward libraries.
Reusable Workflows Versus Consumer Stubs
This repository now separates reusable workflow entrypoints from the local
composite and script actions that implement them. Consumer repositories still
receive thin wrappers from resources/github-actions/*.yml
, but the reusable
implementation in this repository is increasingly composed from local actions in
.github/actions/
.
| Location | Role |
|---|---|
.github/workflows/*.yml
|
Reusable workflows and entry workflows implemented in this repository. |
resources/github-actions/*.yml
|
Small consumer stubs that call the reusable workflows through
workflow_call
. |
.github/actions/php/*
|
Shared PHP helpers such as workflow PHP-version resolution and Composer setup. |
.github/actions/changelog/*
|
Changelog-specific building blocks for release version resolution, release-notes rendering, and GitHub release publication. |
.github/actions/github-pages/*
|
Shared GitHub Pages helpers for restoring previews, removing closed pull request previews, cleaning orphaned previews, and verifying published URLs. |
.github/actions/project-board/*
|
Reusable project-automation actions for resolving the target board, inferring review status, syncing linked metadata, and transitioning items through repository delivery states. |
.github/actions/wiki/*
|
Wiki-specific helpers for preparing preview branches, promoting preview
content to master
, validating publication, and cleaning stale
preview branches. |
.github/dependabot.yml
|
This repository's own Dependabot configuration. |
resources/dependabot.yml
|
Template copied into consumer repositories. |
.agents/skills/*
|
Packaged agent skills linked into consumer repositories by the
skills
command. |
.agents/agents/*
|
Packaged project-agent prompts linked into consumer repositories by
the agents
command. |
.github/wiki
|
Generated Markdown API documentation locally and wiki submodule content in consumer repositories. |
How GitHub Pages Publishing Works
.github/workflows/reports.ymlrunscomposer dev-tools reports.- The workflow delegates repeated GitHub Pages tasks to
.github/actions/github-pages/*instead of keeping that shell logic inline. - Pull requests publish previews under
previews/pr-<number>/. - On the
mainbranch, GitHub Pages serves the generated site from the root of the Pages branch.
How Wiki Publishing Works
Wiki automation now has two distinct entry workflows:
.github/workflows/wiki.ymlhandles pull-request preview generation by calling.github/workflows/wiki-preview.yml..github/workflows/wiki-maintenance-entry.ymlhandles post-merge publication, closed-pull-request cleanup, and scheduled orphan cleanup by calling.github/workflows/wiki-maintenance.yml.
Within those reusable workflows, the lower-level branch preparation, publish
validation, and cleanup steps live under .github/actions/wiki/*
.
In practice:
- pull requests publish generated wiki content to branches such as
pr-123; - the parent repository then commits the updated submodule pointer to the pull request branch;
- after merge, the maintenance workflow promotes the preview content to the
wiki
masterbranch; - closed pull requests and the scheduled maintenance lane remove stale preview branches.
How Changelog and Project Automation Fit In
.github/workflows/changelog.ymlnow composes its release flow from.github/actions/changelog/*and.github/actions/project-board/*.- The changelog workflow validates pull-request changelog entries, prepares release branches, publishes GitHub releases from merged release branches, and can transition the configured GitHub Project item state alongside those lifecycle events.
- Project-board automation is no longer just an inline workflow concern; it is a reusable local action group shared by issue, pull-request, review, and release automation.
See Branch Protection and Bot Commits for the branch protection model,
bot commit behavior, and .github/wiki
conflict resolution steps.
Producer Impact
Any change to resources/github-actions
, resources/dependabot.yml
,
.agents/skills
, .agents/agents
, .github/workflows
, or
FastForward\DevTools\Console\Command\SyncCommand
changes the default onboarding
story for every consumer library.