Thanks for contributing to Claude HUD. This repo is small and fast-moving, so we optimize for clarity and quick review.
- Fork and clone the repo
- Create a branch
- Make your changes
- Run tests and update docs if needed
- Open a pull request
npm ci
npm run build
npm testSee TESTING.md for the full testing strategy, fixtures, and snapshot updates.
- Keep changes focused and small.
- Prefer tests for behavior changes.
- Avoid introducing dependencies unless necessary.
Important: PRs should only modify files in src/ — do not include changes to dist/.
CI automatically builds and commits dist/ after your PR is merged. This keeps PRs focused on source code and makes review easier.
Your PR: src/ changes only → Merge → CI builds dist/ → Committed automatically
- Describe the problem and the fix.
- Include tests or explain why they are not needed.
- Link issues when relevant.
- Only modify
src/files — CI handlesdist/automatically.
When shipping a new version:
-
Update version numbers in all three files:
package.json→"version": "X.Y.Z".claude-plugin/plugin.json→"version": "X.Y.Z".claude-plugin/marketplace.json→"version": "X.Y.Z"
-
Update CHANGELOG.md with changes since last release
-
Commit and merge — CI builds dist/ automatically
Claude Code plugins support updates through the /plugin interface:
- Update now — Fetches latest from main branch, installs immediately
- Mark for update — Stages update for later
Claude Code compares the version field in plugin.json against the installed version. Bumping the version number (e.g., 0.0.1 → 0.0.2) allows users to see an update is available.
We use semantic versioning (MAJOR.MINOR.PATCH):
- PATCH (0.0.x): Bug fixes, minor improvements
- MINOR (0.x.0): New features, non-breaking changes
- MAJOR (x.0.0): Breaking changes