Thanks for contributing to the Confidential ML Feature Store.
- Create a feature branch from
main. - Keep changes scoped and reviewable.
- Run formatting, linting, type checks, and tests before opening a pull request.
- Update documentation when behavior, configuration, scripts, or endpoints change.
Install dependencies:
make installCommon commands:
make format
make lint
make test
make coverageFor local mock-enclave development:
docker compose up -d dynamodb-local
make run-dev-mock- Preserve the current file structure and public interfaces unless there is a strong reason to change them.
- Use type hints throughout.
- Add or update docstrings for public functions, classes, and methods.
- Prefer explicit, meaningful error messages over generic failures.
- Keep request/response schemas and routes aligned with the existing FastAPI application.
This project uses:
pytestmoto- local mock components such as
MockEnclaveClientandMockNSM
Before submitting a PR, make sure all tests pass:
make testIf you changed typing or formatting-sensitive code, also run:
make lintWhen changing behavior in any of these areas, update the docs in the same PR:
- endpoint routes or schemas
- environment variables
- AWS setup steps
- scripts in
scripts/ - enclave / mock-enclave behavior
If you add or update screenshots, place them in docs/screenshots/ and update docs/screenshots/README.md.
A good pull request should include:
- a concise summary of the change
- the reason for the change
- any migration or setup notes
- test evidence when behavior changed