Every awesome list rots, so I made mine delete things
Description and use
Automated recipe for maintaining a Laravel AI awesome list: auto-remove stale packages, validate new entries, and refresh stats via GitHub Actions.
Problem
Awesome lists become stale quickly because they are static and only add new entries, leading to outdated or broken links.
Outcome
The automated system keeps the Laravel AI awesome list up-to-date by removing stale entries and validating new ones, reducing maintenance effort and ensuring users see accurate, current information.
Workflow
- 1. Create a data file with package entries and categories.
- 2. Run a validation script locally to catch duplicates, unknown categories, malformed names, and missing summaries (fails in ~3s).
- 3. Set up a scheduled GitHub Actions workflow (cron 17 6 * * *) to fetch star and install counts from Packagist and GitHub APIs.
- 4. In the workflow, evaluate each entry: remove if GitHub archived, Packagist marked abandoned, or idle > 365 days.
- 5. Update the list with fresh statistics and a timestamp of the last refresh.
- 6. Commit and push changes; PRs are automatically validated before merging.
- 7. Publish the updated list on GitHub.
- 8. Encourage contributors to add new entries manually, relying on the automated removal process to keep the list current.
Evidence
Three ways an entry earns removal: archived on GitHub, marked abandoned on Packagist, or idle > 365 days.
Validation runs before the network does: duplicate entries, unknown categories, malformed vendor/package names, missing summaries.
- Record date: 2026-09-15T12:50:45.739Z