Contributing to Inquira CE
Thanks for contributing.
Development Flow
- Branch from
master. - Make focused changes.
- Run local checks (backend + frontend).
- Open PR.
- Merge only after CI is green.
Local Checks
Backend:
cd backend
uv sync --group dev
uv run --group dev ruff check app/v1 tests
uv run --group dev mypy --config-file mypy.ini app/v1
uv run alembic upgrade head
uv run pytest tests -q
Frontend:
cd frontend
npm ci
npm test
npm run build
Updating Version
Do not bump version for every commit.
Bump only when preparing a release/tag:
make set-version X.Y.ZaN
This enforces that the new version is greater than current VERSION.
Use PEP 440 input such as 0.5.7a9. Tag style such as v0.5.7a9 is normalized automatically.
If release_metadata.md exists, the version bump also refreshes .github/release/metadata.json.
Updating Release Metadata
- Edit
release_metadata.mdin repo root. - Generate tracked metadata JSON used by the release workflow if you changed
release_metadata.mdafter the version bump:
make metadata
This writes .github/release/metadata.json.
Release Steps
make set-version X.Y.Z[a|b|rc]Nmake metadatamake testmake git-addmake git-commitmake git-pushmake git-tag
CI/Release Behavior
- CI (
.github/workflows/ci.yml) runs on pushes tomaster. - Release (
.github/workflows/release.yml) runs on tag pushesv*. - Release workflow enforces that tag commit must be on
master. - Release workflow also enforces successful CI for the same commit SHA.
Commit Hygiene
- Keep commit messages clear and scoped.
- Keep root
commit_message.txtupdated before runningmake git-commit. - Append new commit messages; do not overwrite previous entries.
Next: Changelog