Codebase context compiler for AI agents. Token-optimized maps + auto-generated instructions.
ctxmap provides 6 read-only tools for codebase analysis with basic descriptions and minimal input validation. Tool names follow verb_noun convention (ctxmap_*), but descriptions are terse (10-50 chars, well below the 194-char baseline). Input schemas exist for 2 of 6 tools but lack parameter descriptions entirely. No output schemas documented. Error handling is minimal, file-not-found returns plain text rather than actionable guidance. The server reads project state but does not expose secrets or destructive operations, mitigating security risk. Overall structure is functional but falls short of production-grade tool design.
Get project conventions and patterns
Get detailed info about a specific file (exports, imports, props)
Get a brief project overview (name, stack, file count)
Search files by name, export name, dependency, or role
Find related files (imports, imported-by, siblings)
Get the full .ctx tree with file roles and annotations
Parameter descriptions missing. ctxmap_file and ctxmap_related accept 'path' parameter with no description of expected format, path resolution rules, or error cases. LLMs cannot infer whether to pass 'src/App.tsx' or './src/App.tsx' or absolute paths.
Tool descriptions are terse (10 - 50 chars vs 194-char baseline). 'Get a brief project overview' and 'Get the full .ctx tree' lack context on WHEN to call each tool, what distinguishes them, or what data structure is returned. LLMs cannot reason about tool selection.
No output schemas documented. Tools return text content but LLMs do not know the structure of formatOverview(), formatFileDetail(), or findRelated() output. Agents cannot reliably parse or chain results.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
Error handling returns plain text ('File not found: <path>') without recovery guidance. Pattern:recovery-guide requires actionable next steps, e.g. 'File not found. Call ctxmap_query() to search by name or export.'
ctxmap_query parameter 'query' lacks enum or format constraints. Description says 'file name, export name, dep, or role like "comp" or "hook"' but does not specify valid role values or query syntax. LLMs will hallucinate invalid queries.