From b53609cf23007ac09bcb5f6916c9079525213ec4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felipe=20Say=C3=A3o=20Lobato=20Abreu?= Date: Fri, 24 Apr 2026 21:26:10 -0300 Subject: [PATCH 1/6] chore: sync dev-tools assets and backfill changelog for framework --- .agents/agents/README.md | 1 + .agents/agents/agents-maintainer.md | 1 + .agents/agents/changelog-maintainer.md | 1 + .agents/agents/consumer-sync-auditor.md | 1 + .agents/agents/docs-writer.md | 1 + .agents/agents/issue-editor.md | 1 + .agents/agents/issue-implementer.md | 1 + .agents/agents/php-style-curator.md | 1 + .agents/agents/quality-pipeline-auditor.md | 1 + .agents/agents/readme-maintainer.md | 1 + .agents/agents/review-guardian.md | 1 + .agents/agents/test-guardian.md | 1 + .agents/skills/changelog-generator | 1 + .agents/skills/create-agentsmd | 1 + .agents/skills/github-issues | 1 + .agents/skills/github-pull-request | 1 + .agents/skills/package-readme | 1 + .agents/skills/phpdoc-code-style | 1 + .agents/skills/phpunit-tests | 1 + .agents/skills/pull-request-review | 1 + .agents/skills/sphinx-docs | 1 + .gitattributes | 29 +++++----- .github/CODEOWNERS | 12 ++++ .github/FUNDING.yml | 2 +- .github/workflows/auto-assign.yml | 22 +++++++ .github/workflows/auto-resolve-conflicts.yml | 36 ++++++++++++ .github/workflows/changelog.yml | 49 ++++++++++++++++ .github/workflows/label-sync.yml | 15 +++++ .github/workflows/reports.yml | 15 ++++- .github/workflows/review.yml | 20 +++++++ .github/workflows/tests.yml | 24 +++++++- .github/workflows/wiki-maintenance.yml | 26 +++++++++ .github/workflows/wiki.yml | 24 +++++--- .gitignore | 5 +- CHANGELOG.md | 60 ++++++++++++++++++++ LICENSE | 12 ++-- composer.json | 12 ++++ 37 files changed, 351 insertions(+), 33 deletions(-) create mode 120000 .agents/agents/README.md create mode 120000 .agents/agents/agents-maintainer.md create mode 120000 .agents/agents/changelog-maintainer.md create mode 120000 .agents/agents/consumer-sync-auditor.md create mode 120000 .agents/agents/docs-writer.md create mode 120000 .agents/agents/issue-editor.md create mode 120000 .agents/agents/issue-implementer.md create mode 120000 .agents/agents/php-style-curator.md create mode 120000 .agents/agents/quality-pipeline-auditor.md create mode 120000 .agents/agents/readme-maintainer.md create mode 120000 .agents/agents/review-guardian.md create mode 120000 .agents/agents/test-guardian.md create mode 120000 .agents/skills/changelog-generator create mode 120000 .agents/skills/create-agentsmd create mode 120000 .agents/skills/github-issues create mode 120000 .agents/skills/github-pull-request create mode 120000 .agents/skills/package-readme create mode 120000 .agents/skills/phpdoc-code-style create mode 120000 .agents/skills/phpunit-tests create mode 120000 .agents/skills/pull-request-review create mode 120000 .agents/skills/sphinx-docs create mode 100644 .github/CODEOWNERS create mode 100644 .github/workflows/auto-assign.yml create mode 100644 .github/workflows/auto-resolve-conflicts.yml create mode 100644 .github/workflows/changelog.yml create mode 100644 .github/workflows/label-sync.yml create mode 100644 .github/workflows/review.yml create mode 100644 .github/workflows/wiki-maintenance.yml create mode 100644 CHANGELOG.md diff --git a/.agents/agents/README.md b/.agents/agents/README.md new file mode 120000 index 0000000..bff20fe --- /dev/null +++ b/.agents/agents/README.md @@ -0,0 +1 @@ +../../vendor/fast-forward/dev-tools/.agents/agents/README.md \ No newline at end of file diff --git a/.agents/agents/agents-maintainer.md b/.agents/agents/agents-maintainer.md new file mode 120000 index 0000000..bdd77cd --- /dev/null +++ b/.agents/agents/agents-maintainer.md @@ -0,0 +1 @@ +../../vendor/fast-forward/dev-tools/.agents/agents/agents-maintainer.md \ No newline at end of file diff --git a/.agents/agents/changelog-maintainer.md b/.agents/agents/changelog-maintainer.md new file mode 120000 index 0000000..53b2a9b --- /dev/null +++ b/.agents/agents/changelog-maintainer.md @@ -0,0 +1 @@ +../../vendor/fast-forward/dev-tools/.agents/agents/changelog-maintainer.md \ No newline at end of file diff --git a/.agents/agents/consumer-sync-auditor.md b/.agents/agents/consumer-sync-auditor.md new file mode 120000 index 0000000..e1250e6 --- /dev/null +++ b/.agents/agents/consumer-sync-auditor.md @@ -0,0 +1 @@ +../../vendor/fast-forward/dev-tools/.agents/agents/consumer-sync-auditor.md \ No newline at end of file diff --git a/.agents/agents/docs-writer.md b/.agents/agents/docs-writer.md new file mode 120000 index 0000000..6c39ce3 --- /dev/null +++ b/.agents/agents/docs-writer.md @@ -0,0 +1 @@ +../../vendor/fast-forward/dev-tools/.agents/agents/docs-writer.md \ No newline at end of file diff --git a/.agents/agents/issue-editor.md b/.agents/agents/issue-editor.md new file mode 120000 index 0000000..f6970a6 --- /dev/null +++ b/.agents/agents/issue-editor.md @@ -0,0 +1 @@ +../../vendor/fast-forward/dev-tools/.agents/agents/issue-editor.md \ No newline at end of file diff --git a/.agents/agents/issue-implementer.md b/.agents/agents/issue-implementer.md new file mode 120000 index 0000000..97b4113 --- /dev/null +++ b/.agents/agents/issue-implementer.md @@ -0,0 +1 @@ +../../vendor/fast-forward/dev-tools/.agents/agents/issue-implementer.md \ No newline at end of file diff --git a/.agents/agents/php-style-curator.md b/.agents/agents/php-style-curator.md new file mode 120000 index 0000000..00eb5fa --- /dev/null +++ b/.agents/agents/php-style-curator.md @@ -0,0 +1 @@ +../../vendor/fast-forward/dev-tools/.agents/agents/php-style-curator.md \ No newline at end of file diff --git a/.agents/agents/quality-pipeline-auditor.md b/.agents/agents/quality-pipeline-auditor.md new file mode 120000 index 0000000..fe7a715 --- /dev/null +++ b/.agents/agents/quality-pipeline-auditor.md @@ -0,0 +1 @@ +../../vendor/fast-forward/dev-tools/.agents/agents/quality-pipeline-auditor.md \ No newline at end of file diff --git a/.agents/agents/readme-maintainer.md b/.agents/agents/readme-maintainer.md new file mode 120000 index 0000000..161d077 --- /dev/null +++ b/.agents/agents/readme-maintainer.md @@ -0,0 +1 @@ +../../vendor/fast-forward/dev-tools/.agents/agents/readme-maintainer.md \ No newline at end of file diff --git a/.agents/agents/review-guardian.md b/.agents/agents/review-guardian.md new file mode 120000 index 0000000..7d09397 --- /dev/null +++ b/.agents/agents/review-guardian.md @@ -0,0 +1 @@ +../../vendor/fast-forward/dev-tools/.agents/agents/review-guardian.md \ No newline at end of file diff --git a/.agents/agents/test-guardian.md b/.agents/agents/test-guardian.md new file mode 120000 index 0000000..41df2af --- /dev/null +++ b/.agents/agents/test-guardian.md @@ -0,0 +1 @@ +../../vendor/fast-forward/dev-tools/.agents/agents/test-guardian.md \ No newline at end of file diff --git a/.agents/skills/changelog-generator b/.agents/skills/changelog-generator new file mode 120000 index 0000000..993ac74 --- /dev/null +++ b/.agents/skills/changelog-generator @@ -0,0 +1 @@ +../../vendor/fast-forward/dev-tools/.agents/skills/changelog-generator/ \ No newline at end of file diff --git a/.agents/skills/create-agentsmd b/.agents/skills/create-agentsmd new file mode 120000 index 0000000..d66c730 --- /dev/null +++ b/.agents/skills/create-agentsmd @@ -0,0 +1 @@ +../../vendor/fast-forward/dev-tools/.agents/skills/create-agentsmd/ \ No newline at end of file diff --git a/.agents/skills/github-issues b/.agents/skills/github-issues new file mode 120000 index 0000000..5ee8e56 --- /dev/null +++ b/.agents/skills/github-issues @@ -0,0 +1 @@ +../../vendor/fast-forward/dev-tools/.agents/skills/github-issues/ \ No newline at end of file diff --git a/.agents/skills/github-pull-request b/.agents/skills/github-pull-request new file mode 120000 index 0000000..5f13bb0 --- /dev/null +++ b/.agents/skills/github-pull-request @@ -0,0 +1 @@ +../../vendor/fast-forward/dev-tools/.agents/skills/github-pull-request/ \ No newline at end of file diff --git a/.agents/skills/package-readme b/.agents/skills/package-readme new file mode 120000 index 0000000..f50285c --- /dev/null +++ b/.agents/skills/package-readme @@ -0,0 +1 @@ +../../vendor/fast-forward/dev-tools/.agents/skills/package-readme/ \ No newline at end of file diff --git a/.agents/skills/phpdoc-code-style b/.agents/skills/phpdoc-code-style new file mode 120000 index 0000000..260a431 --- /dev/null +++ b/.agents/skills/phpdoc-code-style @@ -0,0 +1 @@ +../../vendor/fast-forward/dev-tools/.agents/skills/phpdoc-code-style/ \ No newline at end of file diff --git a/.agents/skills/phpunit-tests b/.agents/skills/phpunit-tests new file mode 120000 index 0000000..8f50c3b --- /dev/null +++ b/.agents/skills/phpunit-tests @@ -0,0 +1 @@ +../../vendor/fast-forward/dev-tools/.agents/skills/phpunit-tests/ \ No newline at end of file diff --git a/.agents/skills/pull-request-review b/.agents/skills/pull-request-review new file mode 120000 index 0000000..8f4d973 --- /dev/null +++ b/.agents/skills/pull-request-review @@ -0,0 +1 @@ +../../vendor/fast-forward/dev-tools/.agents/skills/pull-request-review/ \ No newline at end of file diff --git a/.agents/skills/sphinx-docs b/.agents/skills/sphinx-docs new file mode 120000 index 0000000..6bdc721 --- /dev/null +++ b/.agents/skills/sphinx-docs @@ -0,0 +1 @@ +../../vendor/fast-forward/dev-tools/.agents/skills/sphinx-docs/ \ No newline at end of file diff --git a/.gitattributes b/.gitattributes index b85bc56..0a36f88 100755 --- a/.gitattributes +++ b/.gitattributes @@ -1,13 +1,16 @@ -* text=auto -/.github/ export-ignore -/tests/ export-ignore -/.docheader export-ignore -/.dockerignore export-ignore -/.editorconfig export-ignore -/.gitattributes export-ignore -/.gitignore export-ignore -/.php-cs-fixer.php export-ignore -/docker-compose export-ignore -/Dockerfile export-ignore -/infection.json5 export-ignore -/phpunit.xml export-ignore +* text=auto +/.github/ export-ignore +/docs/ export-ignore +/tests/ export-ignore +/.docheader export-ignore +/.dockerignore export-ignore +/.editorconfig export-ignore +/.gitattributes export-ignore +/.gitignore export-ignore +/.gitmodules export-ignore +/.php-cs-fixer.php export-ignore +/docker-compose export-ignore +/Dockerfile export-ignore +/infection.json5 export-ignore +/phpunit.xml export-ignore +/README.md export-ignore diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..fd05102 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,12 @@ +# Generated by fast-forward/dev-tools +# +# Review the generated owners before committing this file. +# +# When no GitHub owners can be inferred automatically, replace the placeholder +# example below with the usernames, teams, or emails that should review +# changes in the consumer repository. +# +# Example: +# * @your-github-user @your-org/platform-team + +* @php-fast-forward diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 83caf12..03439ec 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,3 +1,3 @@ github: php-fast-forward custom: - - https://www.paypal.com/donate/?business=JLDAF45XZ8D84 + - 'https://www.paypal.com/donate/?business=JLDAF45XZ8D84' diff --git a/.github/workflows/auto-assign.yml b/.github/workflows/auto-assign.yml new file mode 100644 index 0000000..cf1d7a4 --- /dev/null +++ b/.github/workflows/auto-assign.yml @@ -0,0 +1,22 @@ +name: Auto assign + +on: + pull_request_target: + types: [opened, reopened, synchronize] + issues: + types: [opened, reopened] + +jobs: + auto-assign: + permissions: + issues: write + repository-projects: write + pull-requests: write + uses: php-fast-forward/dev-tools/.github/workflows/auto-assign.yml@main + with: + # project: 1 + # + # Consumer repositories SHOULD set this to the target GitHub Project V2 + # number. Repositories inside php-fast-forward MAY omit it and let the + # reusable workflow default to the first organization project. + project: ${{ vars.PROJECT || '' }} diff --git a/.github/workflows/auto-resolve-conflicts.yml b/.github/workflows/auto-resolve-conflicts.yml new file mode 100644 index 0000000..0c248f6 --- /dev/null +++ b/.github/workflows/auto-resolve-conflicts.yml @@ -0,0 +1,36 @@ +name: "Fast Forward Predictable Conflict Resolution" + +on: + push: + branches: [ "main" ] + pull_request: + types: + - opened + - synchronize + - reopened + - ready_for_review + workflow_dispatch: + inputs: + base-ref: + description: Base branch inspected for open pull requests. + required: false + type: string + default: main + pull-request-number: + description: Optional pull request number to inspect. Leave empty to scan open pull requests targeting the base branch. + required: false + type: string + default: '' + +permissions: + actions: write + contents: write + pull-requests: write + +jobs: + auto-resolve-conflicts: + uses: php-fast-forward/dev-tools/.github/workflows/auto-resolve-conflicts.yml@main + with: + base-ref: ${{ inputs.base-ref || github.event.pull_request.base.ref || github.event.repository.default_branch || 'main' }} + pull-request-number: ${{ inputs.pull-request-number || github.event.pull_request.number || '' }} + secrets: inherit diff --git a/.github/workflows/changelog.yml b/.github/workflows/changelog.yml new file mode 100644 index 0000000..48e7a1e --- /dev/null +++ b/.github/workflows/changelog.yml @@ -0,0 +1,49 @@ +name: "Fast Forward Changelog" + +on: + pull_request: + types: [opened, reopened, synchronize] + pull_request_target: + types: [closed] + workflow_dispatch: + inputs: + changelog-file: + description: Path to the managed changelog file. + required: false + type: string + default: CHANGELOG.md + project: + description: Optional GitHub Project V2 number used for project-board release transitions. + required: false + type: string + default: '' + version: + description: Optional version to promote. Leave empty to infer from Unreleased. + required: false + type: string + default: '' + release-branch-prefix: + description: Prefix used for release-preparation branches. + required: false + type: string + default: release/v + +permissions: + actions: write + contents: write + pull-requests: write + repository-projects: write + +jobs: + changelog: + uses: php-fast-forward/dev-tools/.github/workflows/changelog.yml@main + with: + changelog-file: ${{ inputs.changelog-file || 'CHANGELOG.md' }} + # project: 1 + # + # Consumer repositories SHOULD set this when they want changelog-driven + # release transitions to update a specific GitHub Project V2 board. + project: ${{ inputs.project || vars.PROJECT || '' }} + version: ${{ inputs.version || '' }} + release-branch-prefix: ${{ inputs.release-branch-prefix || 'release/v' }} + secrets: inherit diff --git a/.github/workflows/label-sync.yml b/.github/workflows/label-sync.yml new file mode 100644 index 0000000..649aab9 --- /dev/null +++ b/.github/workflows/label-sync.yml @@ -0,0 +1,15 @@ +name: Label sync + +on: + pull_request_target: + types: [opened, reopened, synchronize] + issues: + types: [opened, reopened] + +jobs: + label-sync: + permissions: + contents: read + issues: read + pull-requests: write + uses: php-fast-forward/dev-tools/.github/workflows/label-sync.yml@main diff --git a/.github/workflows/reports.yml b/.github/workflows/reports.yml index 993a891..f0f8c32 100644 --- a/.github/workflows/reports.yml +++ b/.github/workflows/reports.yml @@ -1,17 +1,28 @@ name: "Fast Forward Reports" on: + pull_request: + types: [opened, synchronize, reopened, closed] push: branches: - main + schedule: + - cron: '41 3 * * *' workflow_dispatch: + inputs: + cleanup-previews: + description: Remove stale pull request previews without publishing production reports. + required: false + type: boolean + default: false permissions: contents: write - pages: write - id-token: write + pull-requests: write jobs: reports: uses: php-fast-forward/dev-tools/.github/workflows/reports.yml@main secrets: inherit + with: + cleanup-previews: ${{ inputs.cleanup-previews || false }} diff --git a/.github/workflows/review.yml b/.github/workflows/review.yml new file mode 100644 index 0000000..d8c5f9e --- /dev/null +++ b/.github/workflows/review.yml @@ -0,0 +1,20 @@ +name: Rigorous Pull Request Review + +on: + pull_request_target: + types: [ready_for_review] + workflow_dispatch: + inputs: + pull-request-number: + description: Pull request number to review manually. + required: true + type: string + +jobs: + rigorous-review: + permissions: + contents: read + pull-requests: write + uses: php-fast-forward/dev-tools/.github/workflows/review.yml@main + with: + pull-request-number: ${{ github.event.pull_request.number || inputs.pull-request-number || '' }} diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 83ea015..e070da2 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -2,14 +2,32 @@ name: "Fast Forward Test Suite" on: push: + pull_request: + types: + - opened + - synchronize + - reopened workflow_dispatch: + inputs: + max-outdated: + description: Maximum number of outdated packages allowed by the dependencies command. + required: false + type: string + default: '-1' + publish-required-statuses: + description: Mirror required test matrix checks as commit statuses for workflow-dispatched runs. + required: false + type: boolean + default: false permissions: - contents: write - pages: write - id-token: write + contents: read + statuses: write jobs: tests: uses: php-fast-forward/dev-tools/.github/workflows/tests.yml@main + with: + max-outdated: ${{ inputs.max-outdated || -1 }} + publish-required-statuses: ${{ inputs.publish-required-statuses || false }} secrets: inherit diff --git a/.github/workflows/wiki-maintenance.yml b/.github/workflows/wiki-maintenance.yml new file mode 100644 index 0000000..f8f15d8 --- /dev/null +++ b/.github/workflows/wiki-maintenance.yml @@ -0,0 +1,26 @@ +name: "Fast Forward Wiki Maintenance" + +on: + pull_request_target: + types: [closed] + schedule: + - cron: '17 3 * * *' + workflow_dispatch: + +permissions: + contents: write + pull-requests: read + +concurrency: + group: fast-forward-wiki-maintenance-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +jobs: + maintenance: + permissions: + contents: write + pull-requests: read + # This wrapper handles merged publication to the wiki master branch plus + # preview-branch cleanup. Pull-request preview generation lives in wiki.yml. + uses: php-fast-forward/dev-tools/.github/workflows/wiki-maintenance.yml@main + secrets: inherit diff --git a/.github/workflows/wiki.yml b/.github/workflows/wiki.yml index e76daa4..cdf2726 100644 --- a/.github/workflows/wiki.yml +++ b/.github/workflows/wiki.yml @@ -1,17 +1,25 @@ name: "Fast Forward Wiki Update" on: - push: - branches: - - main - workflow_dispatch: + pull_request: + types: [opened, synchronize, reopened] permissions: + actions: write contents: write - pages: write - id-token: write + pull-requests: read + +concurrency: + group: fast-forward-wiki-preview-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true jobs: - wiki: - uses: php-fast-forward/dev-tools/.github/workflows/wiki.yml@main + preview: + permissions: + actions: write + contents: write + pull-requests: read + # Pull-request wiki previews live here. Publication and preview cleanup are + # handled by the separate wiki-maintenance wrapper. + uses: php-fast-forward/dev-tools/.github/workflows/wiki-preview.yml@main secrets: inherit diff --git a/.gitignore b/.gitignore index e2856dd..fc80b4b 100755 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,10 @@ +.dev-tools/ .idea/ .vscode/ +backup/ public/ tmp/ vendor/ -composer.lock *.cache +.DS_Store +composer.lock diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..07db8c2 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,60 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +### Added + +- Add changelog history for releases v1.0.0-v1.3.0 during dev-tools asset synchronization. + +## [1.3.0] - 2026-03-29 + +### Added + +- Add test attribute metadata to FrameworkServiceProviderTest. + +### Changed + +- Migrate framework baseline to PHP 8.3+ and refresh documentation. +- Update wiki submodule pointer. + +## [1.2.1] - 2025-08-01 + +### Fixed + +- Fix test namespace mismatches. +- Fix self-referencing factory behavior. + +## [1.2.0] - 2025-08-01 + +### Added + +- Introduce service-provider bootstrapping and registration support. + +### Changed + +- Finalize first production-ready version baseline. + +## [1.1.0] - 2025-04-20 + +### Added + +- Add fast-forward/iterators support and update package configuration. + +## [1.0.0] - 2025-04-20 + +### Added + +- Initial package bootstrap, foundational framework scaffolding, and baseline release metadata. + + +[unreleased]: https://github.com/php-fast-forward/framework/compare/v1.3.0...HEAD +[1.3.0]: https://github.com/php-fast-forward/framework/compare/v1.2.1...v1.3.0 +[1.2.1]: https://github.com/php-fast-forward/framework/compare/v1.2.0...v1.2.1 +[1.2.0]: https://github.com/php-fast-forward/framework/compare/v1.1.0...v1.2.0 +[1.1.0]: https://github.com/php-fast-forward/framework/compare/v1.0.0...v1.1.0 +[1.0.0]: https://github.com/php-fast-forward/framework/releases/tag/v1.0.0 diff --git a/LICENSE b/LICENSE index aa2c238..94b8a8c 100644 --- a/LICENSE +++ b/LICENSE @@ -1,11 +1,13 @@ -Copyright (c) 2025 Felipe Sayão Lobato Abreu +MIT License + +Copyright (c) 2026 Felipe Sayão Lobato Abreu Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. @@ -15,5 +17,5 @@ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/composer.json b/composer.json index 4085598..6fda916 100644 --- a/composer.json +++ b/composer.json @@ -3,6 +3,7 @@ "description": "Fast Forward Framework — a lightweight PHP framework for building modern web applications with a simple and elegant API.", "license": "MIT", "type": "library", + "readme": "README.md", "authors": [ { "name": "Felipe Sayão Lobato Abreu", @@ -14,6 +15,16 @@ "issues": "https://github.com/php-fast-forward/framework/issues", "source": "https://github.com/php-fast-forward/framework" }, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/php-fast-forward" + }, + { + "type": "custom", + "url": "https://www.paypal.com/donate/?business=JLDAF45XZ8D84" + } + ], "require": { "php": "^8.3", "fast-forward/clock": "^1.0", @@ -45,6 +56,7 @@ "fast-forward/dev-tools": true, "phpdocumentor/shim": true, "phpro/grumphp": true, + "phpro/grumphp-shim": true, "pyrech/composer-changelogs": true }, "platform": { From 1ae70b8dd1fe6d2531ca525a2c360f963215f70a Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 25 Apr 2026 00:26:57 +0000 Subject: [PATCH 2/6] Update wiki submodule pointer for PR #3 --- .github/wiki | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/wiki b/.github/wiki index 5d4415f..9026028 160000 --- a/.github/wiki +++ b/.github/wiki @@ -1 +1 @@ -Subproject commit 5d4415f18d2f1250bebe24a8fba3330e1638d55b +Subproject commit 90260281826f7a43e5e177178a9a75ad15c7ca2b From b308f2567dbc4112785ce5748544f1a558a312cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felipe=20Say=C3=A3o=20Lobato=20Abreu?= Date: Fri, 24 Apr 2026 21:28:56 -0300 Subject: [PATCH 3/6] chore: include @coisa in framework CODEOWNERS --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index fd05102..986b8c3 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -9,4 +9,4 @@ # Example: # * @your-github-user @your-org/platform-team -* @php-fast-forward +* @php-fast-forward @coisa From f4af695ee2c2dbc0e6141e2cdd1739cbeeb5f7ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felipe=20Say=C3=A3o=20Lobato=20Abreu?= Date: Fri, 24 Apr 2026 21:30:09 -0300 Subject: [PATCH 4/6] chore: document dev-tools asset sync in unreleased changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 07db8c2..17b02b5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - Add changelog history for releases v1.0.0-v1.3.0 during dev-tools asset synchronization. +- Sync latest Fast Forward dev-tools managed assets (workflow templates, governance metadata, agents, and skills) into this repository. (#3) ## [1.3.0] - 2026-03-29 From 96c99e4a01ca4bfef7cedaa24bcf6fa6f71a8ad7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felipe=20Say=C3=A3o=20Lobato=20Abreu?= Date: Fri, 24 Apr 2026 21:31:15 -0300 Subject: [PATCH 5/6] chore: add PR reference to changelog backfill entry --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 17b02b5..b1e120e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added -- Add changelog history for releases v1.0.0-v1.3.0 during dev-tools asset synchronization. +- Add changelog history for releases v1.0.0-v1.3.0 during dev-tools asset synchronization. (#3) - Sync latest Fast Forward dev-tools managed assets (workflow templates, governance metadata, agents, and skills) into this repository. (#3) ## [1.3.0] - 2026-03-29 From 3e44955868f9b1a687f5e7d39b41102258815023 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felipe=20Say=C3=A3o=20Lobato=20Abreu?= Date: Fri, 24 Apr 2026 21:38:50 -0300 Subject: [PATCH 6/6] chore: ignore unused and shadow dependency findings --- .docheader | 16 +++++------ .gitattributes | 1 + composer-dependency-analyser.php | 27 +++++++++++++++++++ .../FrameworkServiceProvider.php | 16 +++++------ .../FrameworkServiceProviderTest.php | 16 +++++------ 5 files changed, 52 insertions(+), 24 deletions(-) create mode 100644 composer-dependency-analyser.php diff --git a/.docheader b/.docheader index ec1dbd6..5edac6d 100755 --- a/.docheader +++ b/.docheader @@ -1,13 +1,13 @@ /** - * This file is part of php-fast-forward/framework. + * Fast Forward Framework — a lightweight PHP framework for building modern web applications with a simple and elegant API. * - * This source file is subject to the license bundled - * with this source code in the file LICENSE. + * This file is part of fast-forward/framework project. * - * @copyright Copyright (c) 2025-%year% Felipe Sayão Lobato Abreu - * @license https://opensource.org/licenses/MIT MIT License + * @author Felipe Sayão Lobato Abreu + * @license https://opensource.org/licenses/MIT MIT License * - * @see https://github.com/php-fast-forward/framework - * @see https://github.com/php-fast-forward - * @see https://datatracker.ietf.org/doc/html/rfc2119 + * @see https://php-fast-forward.github.io/framework/ + * @see https://github.com/php-fast-forward/framework + * @see https://github.com/php-fast-forward/framework/issues + * @see https://datatracker.ietf.org/doc/html/rfc2119 */ diff --git a/.gitattributes b/.gitattributes index 0a36f88..bcb0b1c 100755 --- a/.gitattributes +++ b/.gitattributes @@ -1,4 +1,5 @@ * text=auto +/.dev-tools/ export-ignore /.github/ export-ignore /docs/ export-ignore /tests/ export-ignore diff --git a/composer-dependency-analyser.php b/composer-dependency-analyser.php new file mode 100644 index 0000000..c0164ed --- /dev/null +++ b/composer-dependency-analyser.php @@ -0,0 +1,27 @@ + + * @license https://opensource.org/licenses/MIT MIT License + * + * @see https://php-fast-forward.github.io/framework/ + * @see https://github.com/php-fast-forward/framework + * @see https://github.com/php-fast-forward/framework/issues + * @see https://datatracker.ietf.org/doc/html/rfc2119 + */ + +use FastForward\DevTools\Config\ComposerDependencyAnalyserConfig; +use ShipMonk\ComposerDependencyAnalyser\Config\Configuration; +use ShipMonk\ComposerDependencyAnalyser\Config\ErrorType; + +return ComposerDependencyAnalyserConfig::configure( + static function (Configuration $configuration): void { + $configuration->ignoreErrors([ErrorType::SHADOW_DEPENDENCY, ErrorType::UNUSED_DEPENDENCY]); + } +); diff --git a/src/ServiceProvider/FrameworkServiceProvider.php b/src/ServiceProvider/FrameworkServiceProvider.php index 8ff51ea..eaca4df 100644 --- a/src/ServiceProvider/FrameworkServiceProvider.php +++ b/src/ServiceProvider/FrameworkServiceProvider.php @@ -3,17 +3,17 @@ declare(strict_types=1); /** - * This file is part of php-fast-forward/framework. + * Fast Forward Framework — a lightweight PHP framework for building modern web applications with a simple and elegant API. * - * This source file is subject to the license bundled - * with this source code in the file LICENSE. + * This file is part of fast-forward/framework project. * - * @copyright Copyright (c) 2025-2026 Felipe Sayão Lobato Abreu - * @license https://opensource.org/licenses/MIT MIT License + * @author Felipe Sayão Lobato Abreu + * @license https://opensource.org/licenses/MIT MIT License * - * @see https://github.com/php-fast-forward/framework - * @see https://github.com/php-fast-forward - * @see https://datatracker.ietf.org/doc/html/rfc2119 + * @see https://php-fast-forward.github.io/framework/ + * @see https://github.com/php-fast-forward/framework + * @see https://github.com/php-fast-forward/framework/issues + * @see https://datatracker.ietf.org/doc/html/rfc2119 */ namespace FastForward\Framework\ServiceProvider; diff --git a/tests/ServiceProvider/FrameworkServiceProviderTest.php b/tests/ServiceProvider/FrameworkServiceProviderTest.php index c728dc6..df27235 100644 --- a/tests/ServiceProvider/FrameworkServiceProviderTest.php +++ b/tests/ServiceProvider/FrameworkServiceProviderTest.php @@ -3,17 +3,17 @@ declare(strict_types=1); /** - * This file is part of php-fast-forward/framework. + * Fast Forward Framework — a lightweight PHP framework for building modern web applications with a simple and elegant API. * - * This source file is subject to the license bundled - * with this source code in the file LICENSE. + * This file is part of fast-forward/framework project. * - * @copyright Copyright (c) 2025-2026 Felipe Sayão Lobato Abreu - * @license https://opensource.org/licenses/MIT MIT License + * @author Felipe Sayão Lobato Abreu + * @license https://opensource.org/licenses/MIT MIT License * - * @see https://github.com/php-fast-forward/framework - * @see https://github.com/php-fast-forward - * @see https://datatracker.ietf.org/doc/html/rfc2119 + * @see https://php-fast-forward.github.io/framework/ + * @see https://github.com/php-fast-forward/framework + * @see https://github.com/php-fast-forward/framework/issues + * @see https://datatracker.ietf.org/doc/html/rfc2119 */ namespace FastForward\Framework\Tests\ServiceProvider;