Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .agents/agents/README.md
1 change: 1 addition & 0 deletions .agents/agents/agents-maintainer.md
1 change: 1 addition & 0 deletions .agents/agents/changelog-maintainer.md
1 change: 1 addition & 0 deletions .agents/agents/consumer-sync-auditor.md
1 change: 1 addition & 0 deletions .agents/agents/docs-writer.md
1 change: 1 addition & 0 deletions .agents/agents/issue-editor.md
1 change: 1 addition & 0 deletions .agents/agents/issue-implementer.md
1 change: 1 addition & 0 deletions .agents/agents/php-style-curator.md
1 change: 1 addition & 0 deletions .agents/agents/quality-pipeline-auditor.md
1 change: 1 addition & 0 deletions .agents/agents/readme-maintainer.md
1 change: 1 addition & 0 deletions .agents/agents/review-guardian.md
1 change: 1 addition & 0 deletions .agents/agents/test-guardian.md
1 change: 1 addition & 0 deletions .agents/skills/changelog-generator
1 change: 1 addition & 0 deletions .agents/skills/create-agentsmd
1 change: 1 addition & 0 deletions .agents/skills/github-issues
1 change: 1 addition & 0 deletions .agents/skills/github-pull-request
1 change: 1 addition & 0 deletions .agents/skills/package-readme
1 change: 1 addition & 0 deletions .agents/skills/phpdoc-code-style
1 change: 1 addition & 0 deletions .agents/skills/phpunit-tests
1 change: 1 addition & 0 deletions .agents/skills/pull-request-review
1 change: 1 addition & 0 deletions .agents/skills/sphinx-docs
16 changes: 8 additions & 8 deletions .docheader
Original file line number Diff line number Diff line change
@@ -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 <github@mentordosnerds.com>
* @license https://opensource.org/licenses/MIT MIT License
* @author Felipe Sayão Lobato Abreu <github@mentordosnerds.com>
* @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
*/
30 changes: 17 additions & 13 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
* 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
/.dev-tools/ export-ignore
/.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
12 changes: 12 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -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 @coisa
2 changes: 1 addition & 1 deletion .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
github: php-fast-forward
custom:
- https://www.paypal.com/donate/?business=JLDAF45XZ8D84
- 'https://www.paypal.com/donate/?business=JLDAF45XZ8D84'
2 changes: 1 addition & 1 deletion .github/wiki
Submodule wiki updated from 5d4415 to 902602
22 changes: 22 additions & 0 deletions .github/workflows/auto-assign.yml
Original file line number Diff line number Diff line change
@@ -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 || '' }}
36 changes: 36 additions & 0 deletions .github/workflows/auto-resolve-conflicts.yml
Original file line number Diff line number Diff line change
@@ -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
49 changes: 49 additions & 0 deletions .github/workflows/changelog.yml
Original file line number Diff line number Diff line change
@@ -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
15 changes: 15 additions & 0 deletions .github/workflows/label-sync.yml
Original file line number Diff line number Diff line change
@@ -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
15 changes: 13 additions & 2 deletions .github/workflows/reports.yml
Original file line number Diff line number Diff line change
@@ -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 }}
20 changes: 20 additions & 0 deletions .github/workflows/review.yml
Original file line number Diff line number Diff line change
@@ -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 || '' }}
24 changes: 21 additions & 3 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
26 changes: 26 additions & 0 deletions .github/workflows/wiki-maintenance.yml
Original file line number Diff line number Diff line change
@@ -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
Loading
Loading