Development setup
All commands run from the repository root. The repository pins pnpm@11.5.0;
if pnpm is not installed globally, replace the leading pnpm with
npm exec --yes pnpm@11.5.0 --.
First run
Section titled “First run”pnpm installtest -f .env || cp .env.example .env # then edit as neededpnpm docker:up # starts PostgreSQL (pgvector)pnpm db:generate # generate Prisma clientpnpm db:migrate # run migrationspnpm buildpnpm --filter mcp-server dev # MCP server on http://localhost:3000This is the standard profile flow (the default). For the single-user lite
profile and the full walkthrough, see
Installation.
Quality checks
Section titled “Quality checks”Run these before opening a pull request:
pnpm buildpnpm lintpnpm typecheckpnpm testpnpm docs:checkWorking on a single package
Section titled “Working on a single package”Turborepo lets you filter any script to one workspace:
pnpm --filter @engram/memory-ltm testpnpm --filter mcp-server test:e2e:dockerpnpm --filter @engram/vector-store test # set PGVECTOR_TEST_URL for pgvector integration testspnpm --filter docs dev # docs site on http://localhost:3001pgvector integration tests and the pgvector backend require the
pgvector/pgvector:pg16+Docker image; plainpostgres:*-alpineimages lack the extension.
Framework CLIs
Section titled “Framework CLIs”Use project and framework generators when they exist instead of hand-creating files:
| Task | Command |
|---|---|
| Generate NestJS resource | nest g resource <name> |
| Generate NestJS module | nest g module <name> |
| Generate NestJS service | nest g service <name> |
| Generate NestJS controller | nest g controller <name> |
| Generate Prisma client | pnpm db:generate |
| Create Prisma migration | pnpm db:migrate |
| Open Prisma Studio | pnpm db:studio |
Manual file creation is fine for documentation, Zod schemas, custom types, small utilities, and configuration files when no generator exists.
Evaluation and benchmarks
Section titled “Evaluation and benchmarks”pnpm eval # recall quality harness (precision@k, recall@k, MRR, nDCG@k)pnpm bench:backends # vector-backend latency benchmarkDocumentation rules
Section titled “Documentation rules”- Keep setup instructions short and copy-pasteable.
- Put detailed explanations in focused docs and link to them from the root README.
pnpm docs:checkvalidates frontmatter and relative links on every.mdfile in the repo; the docs site build additionally validates internal links in.mdxcontent.