Offline code intelligence

Living Codebase Cartographer

A stdlib-only static analyser that maps any repository into a graph of symbols, endpoints, call edges and data stores — with evidence and an explicit confidence level on every fact — then renders it as a portable explorer that opens over file://. No language server, no cloud, no telemetry. Each map below was produced by a real scan of that repository.

Maps

OpenClaimFlow — AI Claim Processing

Angular 22 · Spring Boot 3 / Java 21 · PostgreSQL 16 · Keycloak OIDC

2710 nodes9008 edges484 files
Open explorer →

Enterprise Workflow Management

Angular 17 · Django REST · PostgreSQL 16 · Keycloak SSO

650 nodes1327 edges113 files
Open explorer →

Banking Microservices Platform

Java 17 · Spring Boot 3 · PostgreSQL · Apache Kafka · Maven

492 nodes1568 edges111 files
Open explorer →

ClaimShield AI — Insurance RAG

Python · FastAPI · FAISS · Groq LLM

184 nodes430 edges71 files
Open explorer →

Pipeline

1 · Detect Evidence-based stack detection

Manifests and source extensions decide the technology identity — Java, TypeScript/JavaScript, Python, Go, C#, Rust, SQL and generic config each have their own analyser. Anything else falls through to a LOW-confidence pass, so an unsupported language degrades rather than disappears.

scan ↓

2 · Scan One analyser module per technology

Each file is walked once and emitted as nodes and edges: declarations, calls, HTTP endpoints, data-store reads and writes, dependencies. Unresolved relationships stay unresolved — the scanner never guesses on a fact's behalf.

graph.json ↓

3 · Graph The single source of truth

.codebase-map/graph.json — nodes, edges, evidence and confidence in one technology-independent schema. HIGH is a declaration, MEDIUM a resolved reference, LOW a heuristic lead. LOW is never presented as confirmed.

sync ↓

4 · Keep it honest Incremental re-sync, source wins

sync rescans only what changed, using git where available and file hashes where it is not. When the map and the source disagree, the map is corrected — a stale map is treated as a bug.

project ↓

5 · Render A read-only view, never a second source of truth

The graph is projected into a view model and rendered into self-contained HTML with no runtime fetches, so the explorer works offline, from disk, or served over HTTP exactly as it does here.

What happens when you ask a question

  1. Check freshness first. status reports whether the map still matches the working tree, so an answer can never be based on a stale scan.
  2. Look something up. query --name ClaimService returns the symbol with its file, line and the evidence that produced it.
  3. Ask what breaks. impact ClaimService walks the call graph for the blast radius — what depends on this, and how confidently.
  4. Trace a request. flow --from "POST /api/claims" --to ClaimService follows an endpoint to the code that serves it.
  5. Then read the source. The map points at files and lines; the code is still the authority. The tool answers where and what depends on what, not why.

Design rules

Commands

CommandWhat it does
initDetect the stack and build .codebase-map/graph.json from scratch.
statusReport whether the map is still fresh against the working tree.
queryLook up a symbol with its file, line and evidence.
impactBlast radius — everything that depends on a symbol.
flowTrace a request from an endpoint to the code that serves it.
syncIncremental rescan of only what changed.
validateSchema conformance and integrity check over the graph.
detectEvidence-based stack report for the repository.
visualizeRender the portable offline HTML explorer.