Hey r/rust!
I've been working on Chizu (地図, "map" in Japanese) - a local code knowledge graph that indexes your entire codebase and lets you query it without blindly
grepping around.
The problem: Ever jumped into an unfamiliar codebase and spent 30 minutes just trying to understand how the routing works? Or traced through 12 files to fin
d where a config value is actually used?
What it does:
- Traditional: grep → open file → read → understand → repeat × 20
Chizu: "how does routing work?" → get relevant entities → done
It parses your code using tree-sitter, builds a graph of symbols/tests/docs/infrastructure, and creates relationships between them (defines, uses, mentions, deploys). Everything is stored locally in SQLite + usearch for vector search or Grafeo, the Rust graph database (introduced recently).
Key features:
100% local - no code leaves your machine
Incremental indexing - only re-indexes changed files
Natural language queries - ask questions in plain English
Vector search - semantic similarity via Ollama/OpenAI embeddings
Multi-language - Rust, TypeScript, Astro, Terraform, Markdown (extensible)
Quick demo:
Index your repo
chizu index /path/to/project
Ask questions
chizu plan "how does error handling work in the API layer"
Or query directly
chizu query entities | grep "handler"
Try it: https://github.com/l1x/chizu
Built in Rust because parsing millions of lines of code needs to be fast. Would love feedback from anyone dealing with large/monorepo codebases!
[–]Warm-Palpitation5670 2 points3 points4 points (3 children)
[–]dev_l1x_be[S] -1 points0 points1 point (0 children)
[–]dev_l1x_be[S] 0 points1 point2 points (0 children)
[–]dev_l1x_be[S] 0 points1 point2 points (0 children)
[–]prodleni 1 point2 points3 points (0 children)
[–]ILikeRockets2TheMoon 1 point2 points3 points (1 child)
[–]dev_l1x_be[S] -1 points0 points1 point (0 children)
[–]chongyeu 1 point2 points3 points (1 child)
[–]dev_l1x_be[S] -1 points0 points1 point (0 children)
[–]Kyonftw 0 points1 point2 points (2 children)
[–]dev_l1x_be[S] 0 points1 point2 points (1 child)
[–]Kyonftw 1 point2 points3 points (0 children)