|
| 1 | +# AGENTS - Fast Forward Framework |
| 2 | + |
| 3 | +This repository is a PHP metapackage (`fast-forward/framework`) that aggregates and wires core |
| 4 | +Fast Forward components through a single provider entry point. |
| 5 | + |
| 6 | +## Repository surfaces |
| 7 | + |
| 8 | +- Primary package entrypoint: [`src/`](src/) |
| 9 | +- Container/service-provider behavior: [`src/ConfigProvider/`](src/ConfigProvider/) |
| 10 | +- Tests: [`tests/`](tests/) |
| 11 | +- Docs: [`docs/`](docs/) |
| 12 | +- CI configuration: [`.github/workflows/`](.github/workflows/) |
| 13 | +- Release history: [`CHANGELOG.md`](CHANGELOG.md) |
| 14 | +- Project README: [`README.md`](README.md) |
| 15 | + |
| 16 | +## Setup and local workflow |
| 17 | + |
| 18 | +- Run `composer install` before making any code changes. |
| 19 | +- Keep local runtime aligned to PHP 8.3 (project minimum). |
| 20 | +- Run full local validation with: |
| 21 | + - `composer dev-tools` |
| 22 | +- Apply auto-fixes and generated file synchronization with: |
| 23 | + - `composer dev-tools:fix` |
| 24 | +- Validate changelog discipline on PR branches with: |
| 25 | + - `composer dev-tools changelog:check -- --against=refs/remotes/origin/main` |
| 26 | + |
| 27 | +## Testing and quality gates |
| 28 | + |
| 29 | +- Primary test command: `composer dev-tools` (includes PHPUnit and report generation). |
| 30 | +- Focused test command used by the dev-tools pipeline: `vendor/bin/phpunit`. |
| 31 | +- Relevant changelog and release workflow checks are in |
| 32 | + [`.github/workflows/changelog.yml`](.github/workflows/changelog.yml) and |
| 33 | + [`.github/workflows/tests.yml`](.github/workflows/tests.yml). |
| 34 | + |
| 35 | +## Documentation conventions |
| 36 | + |
| 37 | +- Keep docs consistent with metapackage usage snippets and avoid instantiating providers directly |
| 38 | + when the `::class` shorthand is the canonical documented pattern. |
| 39 | +- Use `FrameworkServiceProvider::class` in documented bootstrap examples per current standards. |
| 40 | + |
| 41 | +## PR and review expectations |
| 42 | + |
| 43 | +- When making user-visible changes, add an entry under `## [Unreleased]` in [`CHANGELOG.md`](CHANGELOG.md). |
| 44 | +- Prefer concise entry wording and include the current PR reference when known. |
0 commit comments