Get started
From install to your first agent asking DMN, in five steps. Then the commands, the words, and the fixes.
Quickstart
-
Install DMN
Get the Windows installer from the download page. It installs for your user; no admin rights.
-
Open a project
Open a folder in the app and DMN indexes it in the background, then keeps the index current as files change. From a terminal,
dmn index --watchindexes the current folder and waits until it's searchable. -
Connect your agents
The app can do this for you. From a terminal:
dmn skill-init --apply # Claude Code, Codex, OpenCode: the dmn command line dmn mcp-init --apply # Cursor and any other MCP client dmn hook-init --apply # Claude Code: brief each session with the project's notesLeave out
--applyto see what a command would change first. -
Check the wiring
dmn config verify # MCP entries, skills and hooks; read-only dmn doctor # the engine, GPU, models, index and MCP config -
Start an agent
In the app, click + agent in the Fleet panel, pick Claude Code or Codex, and give it a task. Once it's connected, it can ask DMN instead of grepping. Or try a search yourself:
dmn search "where does login redirect" --curate
Commands
What your agents run, and what you can run yourself.
| Command | What it does |
|---|---|
dmn search "<question>" --curate | Ranked code sections for a question in plain words, fitted to a token budget |
dmn context <symbol> | A symbol's definition, its callers and what a change could affect, in one call |
dmn search --mode trace <symbol> | Who calls it |
dmn impact --symbol <symbol> | What could break if it changes (--path for a file) |
dmn grep "<exact text>" | Exact matches, shown with the code around them |
dmn repo | Branch, status, recent commits and stashes in one call |
dmn memory list | The project's shared notes (dmn memory read <path> to open one) |
dmn stats | Tokens DMN saved your agents compared with reading whole files |
dmn bench | A search benchmark built from your own code |
dmn projects | The projects DMN tracks, and their index status |
Agents without a shell use the same abilities through MCP tools; the engine page lists them.
In the workspace
| Keys | What it does |
|---|---|
| Ctrl+P | The omnibox: commands, files, code search, panes, and handing a task to an agent |
| Ctrl+` | Flip between the fleet and the editor |
| Ctrl+G | The git drawer |
| Ctrl+J | The agent dock |
| ? | Every shortcut |
Click a path:line in any terminal to open that line. The spawn sheet (+ agent) starts an agent
as a terminal or a chat, in the project root, a folder, or its own git worktree.
The words
- Agent
- A coding assistant, like Claude Code or Codex, working in a project.
- Pane
- A terminal or chat in the workspace that hosts one agent, or a plain shell.
- Fleet
- The agents working on a project right now. The Fleet panel lists them.
- Workspace
- A set of panes, shown as a tab. You can have several.
- Project
- A folder DMN indexes and serves.
- Engine
- DMN's background process: it indexes your projects and answers agents' questions.
- Memory note
- A short note an agent saved in the project's
.dmn/memories, readable by every agent there. - Claim
- An advisory hold an agent puts on paths it's about to edit, with an expiry. Other agents check it; it never blocks a write. Agents call it a lease.
When something's wrong
| What you see | Likely cause | Fix |
|---|---|---|
dmn search fails with no engine running |
Search commands never start the engine themselves | Open the app, or run dmn start |
| An agent never asks DMN | It isn't connected, or it started before you connected it | dmn config verify, then dmn skill-init --apply or dmn mcp-init --apply, and restart the agent |
| Results miss a file you just changed | The index is still catching up | dmn index --watch waits until it's searchable |
| Anything else | — | dmn doctor checks the engine, GPU, models, index and MCP config, and says what to do |
For AI agents
A plain-text summary of DMN and this site is at /llms.txt, for agents that read the web.