| name | update-contributors |
| description | Updates the contributors list on the Torrust website homepage. Use when asked to refresh, update, or sync the contributors list from the Torrust GitHub org. |
Update Contributors
When to use this skill
Use this skill when asked to update, refresh, or sync the contributors shown on the Torrust website homepage.
Background
The contributors displayed on the homepage are maintained in a static list in src/lib/constants/constants.ts. A local script fetches contributors from the GitHub API and updates that file.
Why static? The GitHub API rate-limits anonymous requests to 60/hour, which would break the live site. The list is updated manually instead.
Steps
1. Obtain a GitHub fine-grained personal access token (required for Torrust org)
Classic tokens are not accepted by the Torrust organization.
- Go to GitHub Settings → Developer settings → Personal access tokens → Fine-grained tokens
- Click Generate new token and configure it:
- Token name: "Torrust Contributors Script"
- Expiration: 90 days (recommended)
- Resource owner: Select
torrust
- Repository access: Public Repositories (read-only)
- Permissions:
- Repository permissions → Metadata: Read-only (set automatically)
- Organization permissions → Members: Read-only
- Click Generate token and copy it immediately.
2. Run the update script
GITHUB_TOKEN=your_token_here npm run update-contributors
npm run update-contributors
3. What the script does
- Fetches all repositories from the Torrust GitHub organization
- Filters out forked and archived repositories — forks include upstream contributors from projects Torrust doesn't own (e.g.
cargo-chef, grcov), and archived repos are no longer active
- Fetches contributors from each remaining repository (using the GitHub
/contributors endpoint, which returns users who have authored at least one commit)
- Deduplicates contributors by username
- Updates
defaultContributorsList in src/lib/constants/constants.ts
4. Verify and commit
npm run dev
npm run lint
git diff src/lib/constants/constants.ts
Commit with a message like chore: update contributors list.