Thanks for contributing.
- Install dependencies:
npm install
npm ci --prefix cli- Start the site:
npm run dev- Optional CLI development:
npm run cli:dev -- status --jsonRun the same checks CI runs:
npm run verify
npm run validate:ci
npm run security:ci
npm run build
npm run build --prefix cli
npm test --prefix cliRelease process and changelog expectations are documented in RELEASING.md and
CHANGELOG.md.
- Start from templates in
src/data/bills/_templates/. - Follow filename conventions in
AGENTS.md. - Run
npm run validateand address errors.
Note: CI treats bill validation warnings as failures.
- Keep changes scoped and reviewable.
- Do not commit secrets (
.env, API tokens, browser session data). - Prefer explicit, deterministic behavior over hidden side effects.
- Add or update tests when changing CLI behavior.
- Explain user-visible behavior changes.
- Include test coverage or explain why tests were not added.
- Call out any follow-up work clearly.
- Use signed commits for all changes merged to
main. - Any GitHub-verified signature format is acceptable (
GPG,SSH, orS/MIME). - Maintainers should enforce "Require signed commits" in branch protection or rulesets.
CODEOWNERSis defined in.github/CODEOWNERS.- Protect
mainand require PR approval from code owners. - Require signed commits on
main(GitHub verified signatures). - Require these status checks before merge:
security-auditsecret-scanvalidate-contentbuild-sitetest-cli
By contributing, you agree that your contributions are licensed under the MIT License in LICENSE.