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
6 changes: 6 additions & 0 deletions .changelog/adopt-fast-forward-changelog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
category: changed
type: patch
---

Automate changelog checks, version pull requests and approved releases with Fast Forward Changelog, with the project skill available to contributors.
6 changes: 6 additions & 0 deletions .changelog/composer-dependency-skills.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
category: changed
type: patch
---

Synchronize the Config and Container consumer skills from the installed Composer dependencies through an explicit trusted-package list instead of independent GitHub sources.
6 changes: 6 additions & 0 deletions .changelog/container-1-10.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
category: changed
type: patch
---

Require fast-forward/container ^1.10 so installed Composer dependencies supply the supported Container consumer skill alongside the runtime library.
6 changes: 6 additions & 0 deletions .changelog/container-consumer-skill.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
category: added
type: patch
---

Restores the Fast Forward Container consumer skill through the existing development-only Composer skill manager, alongside the configured contributor skills, without changing runtime dependencies.
6 changes: 6 additions & 0 deletions .changelog/manage-changelog-skill-through-composer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
category: changed
type: patch
---

Restore the Changelog skill from its GitHub source during Composer installation instead of committing a generated copy and separate installation receipt.
4 changes: 4 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
* text=auto
/.agents/ export-ignore
/.changelog/ export-ignore
/CONTRIBUTING.md export-ignore
/.github/ export-ignore
/tests/ export-ignore
/.docheader export-ignore
Expand All @@ -13,3 +16,4 @@
/phpunit.xml export-ignore
/docs/ export-ignore
/README*.md export-ignore
/skills.json export-ignore
43 changes: 43 additions & 0 deletions .github/workflows/changelog.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Changelog

on:
pull_request:
branches:
- main
types:
- opened
- synchronize
- reopened
- ready_for_review
- labeled
- unlabeled
pull_request_target:
branches:
- main
types:
- opened
- synchronize
- reopened
- ready_for_review
- labeled
- unlabeled
- closed
push:
branches:
- main
workflow_dispatch: null

permissions: {}

jobs:
changelog:
permissions:
contents: write
pull-requests: write
issues: read
statuses: write
uses: php-fast-forward/changelog/.github/workflows/changelog.yml@v0
Comment thread
coisa marked this conversation as resolved.
Comment thread
coisa marked this conversation as resolved.
with:
source: github
version-pr-title: 'chore(release): fast-forward/http-client v{current_version} → v{next_version}'
base-branch: main
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@ tmp/
vendor/
composer.lock
*.cache
/.agents/
22 changes: 22 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# 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).

## [1.1.0] - 2026-03-29

**Full Changelog**: https://github.com/php-fast-forward/http-client/compare/v1.0.1...v1.1.0

## [1.0.1] - 2025-08-01

Release notes are unavailable for this version.

## [1.0.0] - 2025-06-12

Release notes are unavailable for this version.

[1.1.0]: https://github.com/php-fast-forward/http-client/compare/v1.0.1...v1.1.0
[1.0.1]: https://github.com/php-fast-forward/http-client/compare/v1.0.0...v1.0.1
[1.0.0]: https://github.com/php-fast-forward/http-client/releases/tag/v1.0.0
51 changes: 51 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Contributing

Add one independent `.changelog/*.md` fragment for each observable change.
Use [Fast Forward Changelog](https://github.com/php-fast-forward/changelog)
through CPX with PHP 8.5 or newer; the package's PHP requirements stay unchanged.

```sh
cpx --skip-local fast-forward/changelog help add
cpx --skip-local fast-forward/changelog add "Describe the change." --category=fixed --no-interaction
cpx --skip-local fast-forward/changelog check --no-interaction
```

Choose the category and semantic impact that describe the change. Commit the
fragment with the contribution; leave published history intact and do not add
an `Unreleased` section to `CHANGELOG.md`. After committing, validate the PR delta
with `check --since=origin/main --source=github --no-interaction` using the same CLI.

Run `composer install` to fetch the project skill into
`.agents/skills/fast-forward-changelog`. The committed `skills.json` selects its
GitHub source through `llm/skills`; generated `.agents` files stay out of Git.
This does not install Changelog's runtime dependencies into the library.
Inspect the copy with `composer skills:show` and refresh compatible versions with
`composer skills:update --from=github`. Keep the skill under this manager's
ownership; do not run the legacy Changelog skill installer on it.

The GitHub workflow checks fragments, maintains PR feedback and prepares a
version PR from stable ancestral tags, existing GitHub Release notes and committed
history. Historical GitHub Release bodies are preserved in `CHANGELOG.md`; empty
release bodies are identified explicitly without invented change descriptions.
New entries can link to their originating PR automatically when GitHub evidence
is available.
Version PR titles use `chore(release): fast-forward/http-client v<current> → v<next>`.
Review that PR's version, history and fragment deletions before merging it.
It never merges itself;
its approved merge publishes the version tag and GitHub Release. Installing the
workflow or merging an ordinary contribution does not publish a release.

## Composer dependency skills

The development-only manager restores `fast-forward-container` and
`fast-forward-config` from the installed Composer packages, including Config as
a transitive dependency. `skills.json` explicitly trusts only those two Composer
donors; dependency trust does not extend to other installed packages. No separate
GitHub source or version pin is used for either library.

Inspect donors with `composer skills:show` and refresh their payloads with
`composer skills:update --from=composer`. The existing GitHub source continues
to manage the Changelog contributor skill independently. Generated copies remain
ignored. Synchronization does not upgrade runtime dependencies; an installed
version without a bundled skill contributes no skill. Check installed versions
and the bundled skill's supported contract before using its instructions.
8 changes: 5 additions & 3 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,14 @@
},
"require": {
"php": "^8.3",
"fast-forward/container": "^1.4",
"fast-forward/container": "^1.10",
"psr/http-client": "^1.0",
"psr/http-factory": "^1.1",
"symfony/http-client": "^7.3"
},
"require-dev": {
"fast-forward/dev-tools": "dev-main"
"fast-forward/dev-tools": "dev-main",
"llm/skills": "^1.15"
},
"minimum-stability": "stable",
"autoload": {
Expand All @@ -41,7 +42,8 @@
"fast-forward/dev-tools": true,
"phpdocumentor/shim": true,
"phpro/grumphp": true,
"pyrech/composer-changelogs": true
"pyrech/composer-changelogs": true,
"llm/skills": true
},
"platform": {
"php": "8.3.0"
Expand Down
27 changes: 27 additions & 0 deletions skills.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"$schema": "https://raw.githubusercontent.com/roxblnfk/skills/master/resources/skills.schema.json",
"target": ".agents/skills",
"aliases": [],
"discovery": false,
"auto-sync": true,
"vendor-sources": false,
"dependencies": {
"composer": {
"trusted": [
"fast-forward/config",
"fast-forward/container"
],
"trusted-replace": true
}
},
"sources": [
{
"from": "github",
"package": "php-fast-forward/changelog",
"ref": "^0.3.0",
"skills": [
"fast-forward-changelog"
]
}
]
}
Loading