Thanks for contributing. This document defines the expected workflow for issues, changes, and pull requests.
- Be respectful and constructive. Follow
CODE_OF_CONDUCT.md. - Keep changes focused and reviewable.
- Write clear commit messages and PR descriptions.
- Include tests or explain why tests are not applicable.
- Never commit secrets, keys, or credentials.
Prerequisites:
- Node.js 20+
- npm 10+
- Python 3.11+ (for Python services and sanity checks)
Backend setup:
npm install
npm run setup
npm run devFrontend setup (separate shell):
cd frontend
npm install
npm start- Branch from
main. - Use short, descriptive branch names:
feat/<name>fix/<name>docs/<name>chore/<name>
- Keep PRs small enough for targeted review.
- Follow existing project patterns in
src/,frontend/, andscripts/. - Run lint and tests before opening a PR:
npm run lint
npm test -- --runInBand --passWithNoTests
cd frontend && npm run build- For Python changes, ensure code compiles:
python -m compileall scripts src/python_services- Open an issue first for large or breaking changes.
- Open a PR with:
- concise summary
- rationale
- testing notes
- migration notes if applicable
- Link related issues (
Fixes #<id>). - Ensure CI is green before requesting final review.
- Obtain approval from a code owner/maintainer.
- This project uses Semantic Versioning (
MAJOR.MINOR.PATCH). - User-facing notable changes should be recorded in
CHANGELOG.md. RELEASE_NOTES.mdcan be used for richer release narratives.
If you find a vulnerability, do not open a public issue. Follow SECURITY.md.