WHAT IS IT?
Litho, shipped as the deepwiki-rs crate, is a Rust CLI that has an LLM read a code repository and turns the result into Markdown architecture documentation. The README describes it as a "DeepWiki-like" generator you run yourself. deepwiki-rs -p ./my-project writes into ./litho.docs a project overview, the architecture and its modules, the main workflows, one page per technical topic and the exposed interfaces (CLI, API, routes), all with Mermaid diagrams.
WHY IS IT INTERESTING?
- Four-stage pipeline: preprocessing extracts structure and dependencies, research agents work out the system context, domain modules, workflows and boundaries, editor agents write each document, and a final pass checks Mermaid syntax and repairs broken diagrams.
- Two models per run: a cheap one for routine tasks and a stronger one for complex reasoning, which also acts as the fallback.
- Eight providers: OpenAI, Anthropic, Gemini, Mistral, DeepSeek, Moonshot, OpenRouter and Ollama. Point it at Ollama on
localhostand the code never reaches a third party. - Response cache: LLM calls are cached in
.litho/cacheand kept for a year by default, so an analysis you already paid for is not billed twice.--force-regenerateclears it. - External docs as input: PDF, Markdown, SQL, OpenAPI specs in YAML or JSON and plain text are filed into categories (architecture, database, API, ADR...), and each category only goes to the agents that need it.
deepwiki-rs sync-knowledgeprepares these sources. - Database documentation: for SQL Server projects (
.sqlproj) and SQL files, Litho adds a6.Database-Overview.mdwith tables, views, stored procedures and an entity-relationship diagram. - Eight output languages: English, French, German, Russian, Chinese, Japanese, Korean and Vietnamese, picked with
--target-language.
Releases ship no binaries, so installing means cargo install deepwiki-rs and a Rust 1.70+ toolchain, plus an API key or an Ollama server. The source tree has dedicated extractors for Rust, Python, Java, Kotlin, C#, Swift, PHP, JavaScript, TypeScript, React, Vue and Svelte. Go, C++, Ruby and Dart files are picked up during the scan but get no extractor, even though the README lists Go as supported. By default only Git-tracked files are analyzed, with tests and anything over 512 KB left out.
The repository dates from September 2025, and 1.6.0 landed on September 13, 2026, mostly new CLI flags and fixes. The README now points to Terrain, another MIT project by the same author started in June 2026, which builds on Litho and adds a knowledge base kept in sync with the code that agents (Claude Code, Codex...) read over ACP. The README says Litho stays the documentation generator, which means you rerun it, locally or in CI, whenever the docs need to catch up with the code.
USE CASES
- Produce a first architecture write-up for a repository that never had one, ahead of an audit or a code handover.
- Give newcomers a map of the modules and workflows of a project they are just discovering.
- Document an existing SQL Server project, schema and stored procedures included.
- Regenerate the docs in CI on every release, relying on the cache to skip work already done.
- Analyze proprietary code with a local model served by Ollama.
