Build Project Memory for AI
Stop re-explaining your project in every new chat. Capture it once as a context profile the AI keeps across every conversation — stack-inferred conventions and all.
Set up Cursor, Copilot, or Claude for a repo that already exists. One profile becomes the rules file your AI assistant reads on every request.
In-editor assistants are only as good as the context they're configured with — and most repos give them none. This setup configures AI for Relay, a microservices logistics backend where each service owns its data and talks over a bus. Choosing the Copilot output target tailors the install note (.github/copilot-instructions.md); switching to Cursor produces a .cursorrules file instead. The profile carries the architecture principles, the cross-service rules, and the never-assume list, so the assistant respects service boundaries instead of reaching across them.
Capture the architecture
Service boundaries, the bus, data ownership — the rules an assistant must respect.
Pick the target tool
Copilot, Cursor, or Claude — the install note adapts to where the file goes.
Commit the rules file
The assistant reads it on every request; the whole team gets the same context.
The rendered profile carries an install note pointing to `.github/copilot-instructions.md`, which Copilot Chat picks up automatically once committed. Switch the output target in project-context-builder to Cursor and it produces a `.cursorrules` file instead; the same Relay conventions and Never Assume list travel with either path. Your assistant reads whichever file you commit.
The `## Never Assume` and `## Always Remember` sections spell out "each service owns its own data — never reach into another service's database" and "do not assume a relational schema or foreign keys." Because project-context-builder bakes those rules into the committed file the assistant reads on every request, it respects the Relay bus-and-service model instead of inventing JOINs. You still review its output.
It is project KNOWLEDGE, not behavior — the `## AI Usage Notes` section says so directly. For a task persona with role, tone, and escalation rules, build a System Prompt in the System Prompt Generator; to carry a half-finished task into a new chat, use the Context Handoff Builder. This profile is durable project identity the whole team commits, not work state.
Yes — replace the Relay-specific content and re-run project-context-builder. The per-tech tagged conventions like "(MongoDB)" model-documents-not-rows or "(Kubernetes)" treat-pods-as-ephemeral are swappable for your stack, and the `## Team Conventions`, `## Naming Rules`, and `## Glossary` (Service/Bus/Saga/Idempotency) get rewritten to your architecture. The `Profile completeness: 100/100` line reflects your inputs, not this example.
Stop re-explaining your project in every new chat. Capture it once as a context profile the AI keeps across every conversation — stack-inferred conventions and all.
A reusable profile that tells AI everything constant about your project — type, stack, conventions, glossary, architecture principles, and the rules it must never guess.
Onboard AI to a codebase the way you'd onboard a new hire: what it is, how it's built, the rules that aren't written down, and the things never to assume.
End a working session like a shift change, not an abandonment: state captured, decisions logged, next step named — ready for the next session to pick up.
Convert scattered bug notes, Slack messages, or user complaints into structured engineering tasks with reproduction steps, severity, and root cause hypothesis.
What a converged conversation contains: a rejected voice, an accepted framing, a hard constraint, a format decision, and a final-version moment — each mapped to its prompt section.
Define what AI should permanently know about your project — stack conventions, glossary, and never-assume rules in a profile you paste once.
A complete AI-assisted review pass — not one prompt — that ends with ranked findings, tests guarding behavior, and a refactor plan when one is warranted.
Recover a legacy system's architecture before you change it — package the codebase context, explain the current structure, surface the risks and seams, then document the recovered architecture.
The code compiles, the tests pass, and it doesn't look like anything else in the repo. "Follow our conventions" is a wish: yours aren't written down, they're spread across nine hundred files that disagree. Here's how to extract the real rules and test them.