Thank you for your interest in contributing to TrueRisk.
- Fork the repository
- Create a feature branch:
git checkout -b feat/your-feature - Set up the development environment following the README
feat/— New featuresfix/— Bug fixesrefactor/— Code restructuringdocs/— Documentation changestest/— Test additions or fixes
Frontend (TypeScript):
- Run
npx tsc --noEmit— no type errors - Run
npx eslint .— no lint errors - Run
npm test— all tests pass
Backend (Python 3.12):
- Run
ruff check .— no lint errors (line-length=100) - Run
mypy app— no type errors - Run
pytest— all tests pass
Use Conventional Commits:
feat(scope): add new feature
fix(scope): fix specific bug
docs: update documentation
refactor(scope): restructure code
test(scope): add or fix tests
chore: maintenance tasks
- Ensure all checks pass locally before opening a PR
- Target the
mainbranch - Provide a clear description of what changed and why
- Link related issues if applicable
- Use PostgreSQL-compatible SQL — no SQLite-specific syntax
- Use timezone-aware datetimes (
datetime.now(timezone.utc)) - Test migrations with
alembic upgrade head
When adding user-facing strings, update both translation files:
messages/en.jsonmessages/es.json
Use GitHub Issues to report bugs or request features. Include:
- Steps to reproduce (for bugs)
- Expected vs actual behavior
- Environment details (OS, browser, Node/Python version)