Project Map CLI (Rust)
A high-performance, idiomatic Rust reimplementation of project-map-cli. This tool provides AI agents and developers with a contextually efficient architectural map of a codebase, enabling deep navigation and dependency analysis without massive token overhead.
🚀 Features
- Multi-Language AST Parsing: Powered by Tree-sitter for high-fidelity symbol extraction.
- Supported: Rust, Python, TypeScript/TSX, Kotlin, SQL, Vue 3.
- Architectural Discovery:
find: Fast substring search for symbols across the monorepo.context: Dense architectural overview of any source file.blast: Inbound dependency analysis (who depends on this?).impact: Outbound dependency analysis (what does this depend on?).fetch: Precise extraction of raw source code using byte-range hydration.
- Smart Versioning:
- Automatic
.gitignorerespect for clean indexing. - Timestamped backups for every build.
- Consistent
latest/symlink for stable integration.
- Automatic
- MCP Server: Built-in Model Context Protocol server exposing
pm_status,pm_query,pm_check_blast_radius, andpm_plantools. Powered byrust-mcp-sdkfor fully type-safe compliance with the2024-11-05protocol.
🛠 Installation
📖 Usage
1. Build the Map
Index your project and create a versioned snapshot.
2. Find a Symbol
3. Analyze Blast Radius
See everything that might break if you change a specific symbol.
4. Fetch Raw Logic
Extract just the code you need.
5. Start MCP Server
Connect to Claude, Gemini, or other agents.
📂 Storage Structure
The tool maintains state in the .project-map/ directory:
latest/: Symlink to the most recent successful build.backups/: Historical snapshots of the project's architecture.
License
MIT