C'EST QUOI ?
Litho, publié sous le nom de crate deepwiki-rs, est une CLI en Rust qui fait lire un dépôt de code à un LLM et en tire une documentation d'architecture en Markdown. Le README le présente comme un générateur « à la DeepWiki » qui tourne chez soi. deepwiki-rs -p ./mon-projet écrit dans ./litho.docs une vue d'ensemble du projet, l'architecture et ses modules, les flux principaux, une page par sujet technique et les interfaces exposées (CLI, API, routes), le tout illustré de diagrammes Mermaid.
POURQUOI C'EST INTÉRESSANT ?
- Pipeline en quatre étapes : un prétraitement extrait la structure et les dépendances, des agents de recherche analysent le contexte système, les modules métier, les flux et les frontières, des agents rédacteurs écrivent chaque document, puis une dernière passe vérifie la syntaxe Mermaid et répare les diagrammes cassés.
- Deux modèles par exécution : un modèle économique pour les tâches courantes et un modèle plus capable pour le raisonnement complexe, qui sert aussi de repli.
- Huit fournisseurs : OpenAI, Anthropic, Gemini, Mistral, DeepSeek, Moonshot, OpenRouter et Ollama. Avec Ollama sur
localhost, le code ne part chez aucun tiers. - Cache des réponses : les appels au LLM sont mis en cache dans
.litho/cache, conservés un an par défaut, ce qui évite de repayer une analyse déjà faite.--force-regeneratevide ce cache. - Documentation externe injectée : PDF, Markdown, SQL, specs OpenAPI en YAML ou JSON et texte brut se rangent par catégorie (architecture, base de données, API, ADR...), et chaque catégorie n'est transmise qu'aux agents concernés.
deepwiki-rs sync-knowledgeprépare ces sources. - Documentation de base de données : pour les projets SQL Server (
.sqlproj) et les fichiers SQL, Litho ajoute un6.Database-Overview.mdavec tables, vues, procédures stockées et diagramme entité-relation. - Huit langues de sortie : français, anglais, allemand, russe, chinois, japonais, coréen et vietnamien, via
--target-language.
Litho ne publie aucun binaire dans ses releases : l'installation passe par cargo install deepwiki-rs, donc par une chaîne Rust 1.70 ou plus récente, et il faut une clé d'API ou un serveur Ollama. Le code source contient des extracteurs dédiés pour Rust, Python, Java, Kotlin, C#, Swift, PHP, JavaScript, TypeScript, React, Vue et Svelte. Go, C++, Ruby et Dart sont repérés au scan mais n'ont pas d'extracteur, alors que le README cite Go parmi les langages pris en charge. Par défaut, seuls les fichiers suivis par Git sont analysés, sans les tests ni les fichiers de plus de 512 Ko.
Le dépôt existe depuis septembre 2025 et la 1.6.0 date du 13 septembre 2026, avec surtout de nouvelles options CLI et des correctifs. Le README renvoie désormais vers Terrain, un autre projet MIT de l'auteur ouvert en juin 2026, qui reprend Litho et y ajoute une base de connaissance synchronisée avec le code, lisible par les agents (Claude Code, Codex...) via ACP. Le README précise que Litho reste le générateur de documentation : il faut donc le relancer, en local ou en CI, à chaque fois que la doc doit suivre le code.
CAS D'USAGE
- Produire une première documentation d'architecture pour un dépôt qui n'en a jamais eu, avant un audit ou une reprise de code.
- Donner aux nouveaux arrivants une carte des modules et des flux d'un projet qu'ils découvrent.
- Documenter un projet SQL Server existant, schéma et procédures stockées compris.
- Générer la doc dans une CI à chaque release, en s'appuyant sur le cache pour ne pas tout réanalyser.
- Analyser un code propriétaire avec un modèle local servi par Ollama.
