| name | contributing |
| description | The project's contribution mechanics — formatting, linting, type-checking, testing, the source-policy gate, the opt-in pre-commit hook, and how to commit. Use when setting up the repo, before committing, or when asked how to run checks/tests here. |
Contributing
Mechanics for contributing to kerala-gov-mission-control. Full prose is in
CONTRIBUTING.md.
Commands
deno task dev
deno task check
deno task check:sources
deno task build
deno task seed
deno task translate:test
deno task review
deno fmt (no --check) auto-formats. The PostToolUse hook already runs
deno fmt + deno lint on each edited .ts/.tsx.
Before you commit — checklist
deno task check is green (formatting, lint, types).
deno task check:sources is green (every figure government-sourced).
SEED_VERSION bumped if any data/*.ts fixture changed.
- Bilingual parity for new strings (or
dataStatus: "tbd") — /bilingual-audit.
- A spec note in
docs/specs/ for non-trivial features.
Pre-commit hook (opt-in)
A version-controlled hook lives in .githooks/. Enable it once per clone:
git config core.hooksPath .githooks
It blocks on deno task check + deno task check:sources and runs an
advisory (non-blocking) headless Claude review. Bypass a single commit with
git commit --no-verify; skip just the review with SKIP_REVIEW=1 git commit.
Testing
- Type-checking (
deno check) is the primary safety net — it's part of
deno task check.
- Python (
scripts/translate.py): deno task translate:test (pytest via uv).
- Manual:
deno task dev + a screenshot for any visual change.
Commit conventions
Branch off main; never commit straight to main. Conventional-style messages
(feat:, fix:, chore:, docs:). CI (.github/workflows/ci.yml) runs
check + build on every PR — keep it green.