Ask your codebase
Analyze Project: plain-English questions about any corner of your repository, answered from your indexed code with real file citations and diagrams. Pro.
Any question about any corner of the repository — not just the lines in the current diff. In the app this surface is called Analyze Project.
Available on Pro. On Basic it stays where you expect it and opens an upgrade prompt.
#What it is
DiffGuardian indexes your entire repository into a local code knowledge graph and an on-device embeddings index. Ask a question in plain English and it answers from your actual code, citing the real files the answer came from, and where a diagram helps it draws one on a canvas beside the conversation.
Questions it is built for:
- How does authentication work across the app?
- Show the overall architecture.
- What are the main modules?
- How does data flow through the app?
- What does this service touch if I change it?
The fastest way in is the ask bar on the project overview: type the question there and Analyze opens with it already running, so the click and the thought stay together.
#Preparing a project
The first time you open Analyze for a project, DiffGuardian prepares it in two passes — mapping the code knowledge graph, then embedding your code for semantic search. Both run entirely on your machine, and the chat opens as soon as they finish. Later sessions reuse the index.
#The diagram canvas
When a diagram explains an answer better than prose, DiffGuardian draws one from the code graph rather than from a hand-authored picture that drifts out of date — architecture, flow, sequence, state, data model or database schema. Each diagram in the conversation gets a tab above the canvas, so you can jump back to an earlier one without scrolling the chat.
#Conversations
Conversations are saved automatically and listed in History, so you can pick one back up days later or delete it. New starts a fresh conversation without discarding the current one.
Compact trims a long conversation: every message and diagram is kept, but the fetched repository context is dropped to free up the model's context window. It is re-fetched only when a later question needs it.
#Where the answer comes from
Every answer names its sources, which can include:
- Repository (embeddings) — semantic search over your indexed code.
- Repository (code graph) — symbols, callers and import edges.
- A knowledge base — your own documents or vector store.
- An MCP server — a tool you connected.
See Knowledge bases and MCP servers for how to widen that surface beyond the repository.
#How to get good answers
- Ask about behaviour, not file names. "How does a refund get applied?" works better
than "what's in
refunds.ts?". - Follow the citations. Every answer names the files it is grounded in. Open them. An answer you have not verified is a summary, not knowledge.
- Re-index after large changes. The graph is built from your checkout. If you have just pulled a large branch, let the index catch up before asking about it.
#Where the question goes
Exactly where you told it to go. The question and the retrieved code are sent to the AI backend selected for the job:
- Local model — never leaves your machine.
- Your own cloud provider key — sent from your machine directly to Anthropic, OpenAI, Gemini or Kimi under your agreement with them.
Never to DiffGuardian's servers. See Privacy and data handling.