Prerequisites
- Docker & Docker Compose
- Python 3.14 with uv
- Node.js 20+
Getting started
.env.example to .env and configure. For auth-enabled mode, run make setup-auth.
Key commands
Branching
feat/* or fix/* > PR to staging > PR to main. Both branches are protected via GitHub Rulesets. Merge commits only.
Commits
feat, fix, refactor, docs, test, chore, perf. Imperative mood, 50 char subject, no period.
Testing
- Backend:
pytestwithpytest-cov(60% coverage floor) - MCP: Integration tests with savepoint isolation against pgvector
- Frontend: Playwright E2E tests
- No PR merge without corresponding tests
Architecture rules
- SQL placeholders:
%s(not$1) engram.mcpandengram.apinever import each other- Services own business logic, not routers
- All DDL via Alembic migrations