Files
claude-hud/CONTRIBUTING.md
Jarrod Watts 59f1fb81c1 security: remove dist/ from git tracking (Phase 2) (#13)
* security: remove dist/ from git tracking (Phase 2)

Completes the security hardening started in Phase 1.

Changes:
- Add dist/ to .gitignore
- Remove dist/ from git tracking (48 files)
- Remove husky pre-commit hook (no longer needed)

CI will immediately rebuild and commit dist/ after this merges.
Installation flow remains unbroken.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: clarify dist/ gitignore comment

* chore: bump version to 0.0.2 and update docs

- Update version to 0.0.2 in package.json, plugin.json, marketplace.json
- Update CHANGELOG.md with all changes since 0.0.1
- Document release process and plugin update mechanism in CONTRIBUTING.md

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 23:03:39 +11:00

2.1 KiB

Contributing

Thanks for contributing to Claude HUD. This repo is small and fast-moving, so we optimize for clarity and quick review.

How to Contribute

  1. Fork and clone the repo
  2. Create a branch
  3. Make your changes
  4. Run tests and update docs if needed
  5. Open a pull request

Development

npm ci
npm run build
npm test

Tests

See TESTING.md for the full testing strategy, fixtures, and snapshot updates.

Code Style

  • Keep changes focused and small.
  • Prefer tests for behavior changes.
  • Avoid introducing dependencies unless necessary.

Build Process

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

Pull Requests

  • Describe the problem and the fix.
  • Include tests or explain why they are not needed.
  • Link issues when relevant.
  • Only modify src/ files — CI handles dist/ automatically.

Releasing New Versions

When shipping a new version:

  1. 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"
  2. Update CHANGELOG.md with changes since last release

  3. Commit and merge — CI builds dist/ automatically

How Users Get Updates

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.

Version Strategy

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