Generated during:
devmap initPurpose:
- Human instructions
- AI instructions
- Explain DevMap workflow
Generated or updated during:
devmap initPurpose:
Direct AI agents to DevMap.
Generated DEVMAP.md tells AI agents to use command-level --json output
instead of parsing decorated terminal text. This applies to analyze and
doctor, while init --json is intended for non-interactive setup with an
environment API key.
Its navigation contract uses this order:
.devmap/index.json- the relevant
.devmap/features/*.jsonmap - files listed in
sourcePriority .devmap/snapshot.jsononly when the lightweight maps are insufficient
Rules:
- Never overwrite existing file
- Create a basic file when
AGENTS.mddoes not exist - Ask before appending to an existing regular file
- Append only the small DevMap instruction block
- Skip an existing file in non-interactive mode
- Do not append the block more than once
- Refuse to update a symlinked
AGENTS.md
Confirmation:
AGENTS.md exists. Append DevMap instructions? [y/N]:
Only y or yes appends the block. Any other answer preserves the existing
file unchanged.
Generated during:
devmap analyzePurpose:
Primary machine-readable entry point for AI coding agents.
Contains:
- Project identity
- Entry points
- Critical files
- Feature navigation
- Lightweight project metadata
This file intentionally stays compact and points AI toward
.devmap/features/*.json before falling back to the full snapshot.
Generated during:
devmap analyzeOne file is generated for every detected feature.
Example:
.devmap/
└── features/
├── authentication.json
├── workspace.json
└── snippet-management.json
Purpose:
- Feature summary
- Entry points
- Related files
- File roles
- Keywords
- Confidence
- Source priority
Acts as the bridge between index.json and the full snapshot.
Generated during:
devmap analyzePurpose:
- Source of truth
- Full reusable project snapshot
- AI context archive
- Debugging information
Regenerated whenever the project changes or when:
devmap analyze --freshis executed.
The snapshot intentionally does not contain full source code.
DevMap generates the following files when you run its commands.
Generated by:
devmap mapExample:
.devmap/
└── maps/
├── project.md
├── project.mmd
├── authentication.md
├── authentication.mmd
└── workspace.md
Purpose:
- Project relationship maps
- Feature maps
- Mermaid diagrams
- Human-readable architecture overview
Generated by:
devmap flow
devmap flow --all # uncapped: medium-confidence features + non-API routesExample:
.devmap/
└── flows/
├── authentication.md
├── authentication.mermaid
├── request-login.md
├── request-login.mermaid
└── snippet-management-flow.md
└── snippet-management-flow.mermaid
Purpose:
- Execution flow documentation
- Request lifecycle
- Feature flows
- Mermaid flow diagrams
Notes:
- One
.md+ one.mermaidfile per flow. - Default output uses the curated flows already computed by
devmap analyze;--allrebuilds a larger set from the snapshot without re-scanning. - With a configured API key, each flow's static step list is enriched with a
short AI narration paragraph (
flowNarration); otherwise the step list is used as-is.
Generated by:
devmap onboarding --writeWritten to the project root (ONBOARDING.md), not inside .devmap/.
Purpose:
- Project overview
- Recommended reading order
- Architecture summary
- Important entry points
- Quick onboarding guide for new developers
Created while devmap mcp runs an analysis (devmap_analyze or
--auto-refresh) and removed when it finishes.
{ "pid": 12345, "startedAt": "2026-10-30T02:11:09.000Z" }Purpose:
- Stop two MCP servers (or editor windows) from writing the snapshot at once
A lock whose process is gone, or that is older than 15 minutes, is taken over
automatically. If no analysis is running and the file is still there, it is safe
to delete. devmap analyze does not create or check this file.
Like the rest of .devmap/, it is gitignored.
devmap mcp answers from the files above and writes nothing unless an analysis
runs. devmap_map, devmap_flow and devmap_explain never write
.devmap/maps/, .devmap/flows/ or .devmap/explain/; those folders are only
created by the CLI commands. See mcp.md.
The following files are planned for future phases.
Phase 5 — Agent Layer
Reserved for DevMap Agent runtime data.
Example:
.devmap/
└── agent/
├── context.json
├── state.json
├── cache.json
└── history.json
Purpose:
- Working context
- Incremental project updates
- Smart cache
- Agent runtime state
This directory is intentionally separate from snapshot.json.
snapshot.json remains the immutable source of truth generated by
devmap analyze, while .devmap/agent/ stores temporary runtime data used by
future DevMap Agent features.