- Clone the repository and install dependencies:
make install
- Copy the environment file and fill in your values:
cp .env.example .env
- Install pre-commit hooks:
pre-commit install
- Start the development servers:
make dev
Use the following prefixes for branch names:
feature/-- New features (e.g.,feature/causal-inference-api)fix/-- Bug fixes (e.g.,fix/cognito-token-refresh)docs/-- Documentation changes (e.g.,docs/api-reference)
Follow the Conventional Commits specification:
<type>(<scope>): <description>
[optional body]
[optional footer]
Types: feat, fix, docs, style, refactor, test, chore, ci
Examples:
feat(ml): add survival analysis endpointfix(frontend): correct pagination in publication listdocs(api): update authentication flow diagram
- Open a pull request against
develop(ormainfor hotfixes). - At least one approving review is required before merging.
- All CI checks must pass (lint, type-check, tests, security scan).
- Resolve all review comments before merging.
- Use squash merging to keep the commit history clean.
- All new features must include tests.
- Maintain a minimum of 70% code coverage for
src/ml/. - Run the full test suite before opening a PR:
make test - Run linting and type checks:
make lint make type-check
Any pull request that modifies code in src/ml/ must include:
- A description of the data used and any potential biases.
- An assessment of fairness implications across demographic groups.
- Documentation of model limitations and failure modes.
- Approval from at least one team member with domain expertise in the relevant health/wellness area.
These requirements exist to ensure that ML models deployed in health-adjacent contexts meet ethical standards and do not cause harm to vulnerable populations.