symfony/thanks
39.9
Weak · 19 September 2026
474
lines of production code
PHP
primary language
1
measurement over time
What this system is
This system is a Composer plugin designed to encourage support for PHP package maintainers. It provides commands to automatically star GitHub repositories upon package updates and to discover and aggregate sponsorship links for dependencies. The tool facilitates open-source appreciation by integrating these actions directly into the Composer workflow.
Features
Introduce composer thanks and fund commands to encourage open-source support
This change introduces the \composer thanks\ and \composer fund\ commands, allowing users to easily show appreciation for open-source maintainers. The plugin now detects package updates and displays a reminder to run \composer thanks\, which stars relevant GitHub repositories. It also adds a \composer fund\ command to help users discover and sponsor maintainers via funding links. The implementation includes a new \GitHubClient\ to handle repository lookups and API calls, and ensures the \fund\ command is only registered if it does not already exist in the Composer environment.
src · high confidence
New 'composer fund' command to discover package sponsorships
A new 'composer fund' command has been added to help users discover and access funding links published by PHP package maintainers on GitHub. This command scans project dependencies, aggregates their associated sponsorship URLs, and displays them grouped by owner, encouraging users to support the authors. The existing 'composer thanks' command has also been updated to include a '--dry-run' option for testing star-sending actions without executing them, and now suggests running 'composer fund' as a follow-up action.
src/Command · high confidence
Dependencies
Initial release of the symfony/thanks Composer plugin
This change introduces the symfony/thanks Composer plugin, a new tool designed to encourage users to star and sponsor PHP package maintainers. The plugin is configured to require PHP 8.1 or higher and supports both Composer plugin API versions 1.0 and 2.0, ensuring compatibility with modern Composer environments.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Baseline
- First survey — no prior run to compare against. CAI 40.
Lenses
- Code Health 99
- Architecture 69
- Maturity 37
- Readiness 17
- Security 100
Changes since last survey
- 103 commits — 68 feature/other, 35 fixes
By area
- src/Command — 33 commits
- (repo) — 32 commits
- (root) — 23 commits
- src/Thanks.php — 8 commits
- src/GitHubClient.php — 7 commits
Notable commits
- fix: CS fix
- fix: Fix PHP 5 support
- fix: Fix PHP 8.4 deprecation
- fix: Fix compat with Symfony 8
- fix: Fix deprecation
- fix: Fix display on Windows
- fix: Fix issue on Composer 2
- fix: Fix reporting failures when there is only one
- fix: Fix sending stars to repos containing a dot in their name
- fix: Fix some 🌟
- fix: Fix: Case mismatch
- fix: Fix: Use short syntax
- fix: Fixed CS and optimize code
- fix: bug #23 Fix display on Windows (nicolas-grekas)
- fix: bug #28 Display a invite to run "thanks" after "composer update" (nicolas-grekas)
- fix: bug #31 Dispatch PluginEvents::PRE_FILE_DOWNLOAD when calling github (nicolas-grekas)
- fix: bug #34 Replace ⭐ by ★ (nicolas-grekas)
- fix: bug #37 Add compatibility with composer-plugin-api ^1.0 (nicolas-grekas)
- fix: bug #38 Display reminder only when a package is actually updated (nicolas-grekas)
- fix: bug #44 Workaround Hirak\Prestissimo\CurlRemoteFilesystem (nicolas-grekas)
- …and 83 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
symfony/thanks was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 19 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit f455cc9ba4e0c61dcc18ea7e52bd725ee661aa64 — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-13a154b7f5d1.