{"id":30835514,"url":"https://github.com/sopaco/deepwiki-rs","last_synced_at":"2025-09-12T02:02:22.987Z","repository":{"id":313505571,"uuid":"1051229663","full_name":"sopaco/deepwiki-rs","owner":"sopaco","description":"Litho is a high-performance automatic generation tool for C4 architecture documentation, developed using Rust. It can intelligently analyze project structures, identify core components, parse dependency relationships, and leverage large language models (LLMs) to automatically generate professional architecture documentation.","archived":false,"fork":false,"pushed_at":"2025-09-06T15:09:29.000Z","size":413,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-06T15:15:28.667Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sopaco.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-05T16:38:32.000Z","updated_at":"2025-09-06T15:09:32.000Z","dependencies_parsed_at":"2025-09-06T15:25:46.701Z","dependency_job_id":null,"html_url":"https://github.com/sopaco/deepwiki-rs","commit_stats":null,"previous_names":["sopaco/deepwiki-rs"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/sopaco/deepwiki-rs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sopaco%2Fdeepwiki-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sopaco%2Fdeepwiki-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sopaco%2Fdeepwiki-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sopaco%2Fdeepwiki-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sopaco","download_url":"https://codeload.github.com/sopaco/deepwiki-rs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sopaco%2Fdeepwiki-rs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273933933,"owners_count":25193602,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-06T02:00:13.247Z","response_time":2576,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-09-06T17:10:15.129Z","updated_at":"2025-09-10T00:04:42.044Z","avatar_url":"https://github.com/sopaco.png","language":"Rust","readme":"\u003cp align=\"center\"\u003e\n  \u003cimg height=\"120\" src=\"./assets/banner_litho.jpg\"\u003e\n\u003c/p\u003e\n\u003ch3 align=\"center\"\u003eLitho (deepwiki-rs)\u003c/h3\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"./README.md\"\u003eEnglish\u003c/a\u003e\n    |\n    \u003ca href=\"./README_zh.md\"\u003e中文\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e🛠️ A high-performance, \u003cstrong\u003eAI-driven\u003c/strong\u003e architecture documentation generator based on \u003cstrong\u003eRust\u003c/strong\u003e.\u003c/p\u003e\n\u003cp align=\"center\"\u003e📚 Automatically generates professional \u003cstrong\u003edocumentation\u003c/strong\u003e for any software project.\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://crates.io/crates/deepwiki-rs\"\u003e\u003cimg src=\"https://img.shields.io/crates/v/deepwiki-rs.svg?color=dca282\" /\u003e\u003c/a\u003e\n  \u003ca href=\"\"\u003e\u003cimg src=\"https://img.shields.io/badge/built_with-Rust-dca282.svg?logo=rust\" /\u003e\u003c/a\u003e\n  \u003cimg alt=\"GitHub Actions Workflow Status\" src=\"https://img.shields.io/github/actions/workflow/status/sopaco/deepwiki-rs/rust.yml\"\u003e\n\u003c/p\u003e\n\u003chr /\u003e\n\n\u003e [!WARNING]\n\u003e Here be dragons! As we plan to ship a torrent of features in the following months, future updates will contain breaking changes. With SGNetworks evolving, we'll annotate changes and highlight migration paths as we encounter them.\n\u003e \n\u003e The major refactoring version of Litho 1.0 is currently underway. It will be the most accurate, high-performance, and efficient Davin DeepWiki-like solution among open-source options. The new version introduces an excellent engineering architecture design, along with proper support for different technology stacks, languages, and frameworks. It offers better accuracy and performance. We still need some time—please support us, and stay tuned.\n\n\u003e 🚀 Help me develop this software better by [sponsoring on GitHub](https://github.com/sponsors/sopaco)\n\n\n# 👋 What's Litho\n**Litho** (also known as deepwiki-rs) is a powerful Rust-based tool designed to automate the generation of software architecture documentation. Leveraging advanced AI capabilities, Litho intelligently analyzes project structures, identifies core components, parses dependency relationships, and generates professional documentation automatically.\n\n**Litho** is completely free and open-source, making it an ideal solution for teams looking to maintain up-to-date architecture documentation without the manual effort. By using large language models (LLMs), Litho provides insightful analysis and clear documentation that helps developers understand complex codebases more easily.\n\n❤️ Like **Litho**? Star it 🌟 or [Sponsor Me](https://github.com/sponsors/sopaco)! ❤️\n\n**Thanks to the kind people**\n\n[![Stargazers repo roster for @sopaco/deepwiki-rs](https://reporoster.com/stars/sopaco/deepwiki-rs)](https://github.com/sopaco/deepwiki-rs/stargazers)\n\n# 🌠 Key Features\n\n- **Automated Documentation Generation**: Automatically generates comprehensive documentation by analyzing project code, reducing manual documentation efforts.\n- **AI-Powered Analysis**: Utilizes large language models (LLMs) with ReAct pattern for intelligent analysis, accurately identifying core components and architectural patterns in projects.\n- **Multi-Format Output**: Supports generating documentation in multiple formats including Markdown and HTML to meet different needs and scenarios.\n- **Extensibility**: Modular design with a plugin system supports extension and customization for different project types and requirements.\n- **Multi-Language Support**: Capable of analyzing projects written in various programming languages including Rust, Python, JavaScript/TypeScript, Java, C/C++, and Go.\n- **Dependency Visualization**: Extracts and visualizes file and function dependency relationships to help understand codebase structure.\n- **Component Identification**: Automatically identifies and analyzes core components within a project, calculating importance scores based on various metrics.\n- **Architecture Detection**: Recognizes common architectural patterns such as MVC, layered architecture, and microservices.\n\n# 🧠 How it works\n\n**Litho** follows a systematic approach to generate architecture documentation:\n\n1. **Project Analysis**: First, Litho scans the project structure, identifies files and directories, and performs initial analysis.\n2. **Metadata Extraction**: The tool extracts detailed metadata including component information, dependency relationships, and structural details.\n3. **AI-Enhanced Analysis**: Using large language models, Litho performs in-depth analysis of code components, their functionality, and relationships.\n4. **Documentation Generation**: Finally, Litho generates comprehensive architecture documentation in the requested format(s), including diagrams and detailed descriptions.\n\n```mermaid\ngraph TD\n    subgraph Litho\n        A[Project Analysis] --\u003e B[Metadata Extraction]\n        B --\u003e C[AI-Enhanced Analysis]\n        C --\u003e D[Documentation Generation]\n    end\n```\n\n# 🏗️ Architecture Overview\n\n**Litho** is built with a modular architecture designed for extensibility and performance. The system consists of several key components working together:\n\n```mermaid\nflowchart TB\n    %% 定义主要模块\n    Main_Entry_Point((Main Entry Point))\n    Metadata_Extractor(Metadata Extractor)\n    LLM_Manager(LLM Manager)\n    Document_Generator(Document Generator)\n    React_Agent(React Agent)\n\n    %% 子模块\n    Project_Structure(Project Structure)\n    Dependencies(Dependencies)\n    Core_Components(Core Components)\n    LLM_Service(LLM Service)\n    Markdown_Generator(Markdown Generator)\n    HTML_Generator(HTML Generator)\n    ReAct_Pattern(ReAct Pattern)\n\n    %% 外部系统\n    External_LLM_API(External LLM API)\n    Markdown_Files(Markdown Files)\n    HTML_Files(HTML Files)\n\n    %% 连接关系\n    Main_Entry_Point --\u003e Metadata_Extractor\n    Main_Entry_Point --\u003e LLM_Manager\n    Main_Entry_Point --\u003e Document_Generator\n    Main_Entry_Point --\u003e React_Agent\n\n    Metadata_Extractor --\u003e Project_Structure\n    Metadata_Extractor --\u003e Dependencies\n    Metadata_Extractor --\u003e Core_Components\n\n    LLM_Manager --\u003e LLM_Service\n    LLM_Service --\u003e External_LLM_API\n\n    Document_Generator --\u003e Markdown_Generator\n    Document_Generator --\u003e HTML_Generator\n    Markdown_Generator --\u003e Markdown_Files\n    HTML_Generator --\u003e HTML_Files\n\n    React_Agent --\u003e ReAct_Pattern\n\n    %% 外部系统说明\n    classDef external fill:#666,stroke:#444,stroke-width:1px,color:#fff\n    class External_LLM_API,Markdown_Files,HTML_Files external\n```\n\n## Core Components\n\n- **LLM Client**: Handles communication with large language models for intelligent analysis.\n- **Metadata Extractor**: Extracts project structure, dependencies, and component information.\n- **Document Generator**: Transforms analyzed data into professional documentation in various formats.\n- **ReAct Agent**: Implements the ReAct pattern for systematic exploration and analysis of codebases.\n- **Tools**: Provides various utility tools for code analysis, architecture detection, and file exploration.\n- **Utils**: Offers common utilities for file system operations, string processing, and more.\n\n```mermaid\nsequenceDiagram\n    participant MetadataExtractor\n    participant Structure\n    participant Dependencies\n    participant Components\n    participant LLMService\n\n    MetadataExtractor-\u003e\u003eStructure: extract_structure()\n    Structure--\u003e\u003eMetadataExtractor: ProjectStructure\n    MetadataExtractor-\u003e\u003eDependencies: extract_dependencies()\n    Dependencies--\u003e\u003eMetadataExtractor: ProjectDependencies\n    MetadataExtractor-\u003e\u003eComponents: identify_core_components_with_llm()\n    Components-\u003e\u003eLLMService: (Components--\u003e\u003eMetadataExtractor)\n    LLMService--\u003e\u003eComponents: (Document Snippets)\n    Components--\u003e\u003eMetadataExtractor: CoreComponent list\n    MetadataExtractor-\u003e\u003eMetadataExtractor: create ProjectMetadata\n```\n\n# 🖥 Getting Started\n\n### Prerequisites\n- [**Rust**](https://www.rust-lang.org) (version 2024 or later)\n- [**Cargo**](https://doc.rust-lang.org/cargo/)\n- Internet connection (for LLM integration)\n\n### Installation\n\n1. Clone the repository.\n    ```sh\n    git clone https://github.com/sopaco/deepwiki-rs.git\n    ```\n2. Step into the cloned project folder.\n    ```sh\n    cd deepwiki-rs\n    ```\n3. Build the project.\n    ```sh\n    cargo build --release\n    ```\n4. The compiled binary will be available in the `target/release` directory.\n\n# 🚀 Usage\n\n**Litho** provides a command-line interface for generating architecture documentation. Here are some basic usage examples:\n\n### Basic Command\n\n```sh\nlitho --project \u003cpath-to-project\u003e --output \u003coutput-directory\u003e\n```\n\n### Advanced Options\n\n- Specify documentation format (Markdown or HTML):\n  ```sh\n  litho --project \u003cpath-to-project\u003e --output \u003coutput-directory\u003e --format markdown,html\n  ```\n\n- Configure LLM settings:\n  ```sh\n  litho --project \u003cpath-to-project\u003e --output \u003coutput-directory\u003e --llm-api \u003capi-url\u003e --llm-key \u003capi-key\u003e\n  ```\n\n- Customize component detection:\n  ```sh\n  litho --project \u003cpath-to-project\u003e --output \u003coutput-directory\u003e --config \u003cpath-to-config-file\u003e\n  ```\n\nFor more detailed usage information, run:\n```sh\nlitho --help\n```\n\n# 🤝 Contribute\n\nHelp improve Litho by reporting bugs or submitting feature requests through [GitHub Issues](https://github.com/sopaco/deepwiki-rs/issues).\n\n## Ways to Contribute\n\n- Implement support for additional programming languages\n- Enhance the component detection algorithms\n- Add new documentation formats\n- Improve the visualization of architecture diagrams\n- Contribute to the internationalization of the project\n\n# ⚛️ Developed with\n\n- [rust](https://github.com/rust-lang/rust)\n- [clap](https://github.com/clap-rs/clap)\n- [tokio](https://github.com/tokio-rs/tokio)\n- [serde](https://github.com/serde-rs/serde)\n- [reqwest](https://github.com/seanmonstar/reqwest)\n- [anyhow](https://github.com/dtolnay/anyhow)\n- [thiserror](https://github.com/dtolnay/thiserror)\n\n# 🪪 License\n**MIT**. A copy of the license is provided in the [LICENSE](./LICENSE) file.\n\n# 👨 About Me\n\n\u003e 🚀 Help me develop this software better by [sponsoring on GitHub](https://github.com/sponsors/sopaco)\n\nAn experienced internet veteran, having navigated through the waves of PC internet, mobile internet, and AI applications. Starting from an individual mobile application developer to a professional in the corporate world, I possess rich experience in product design and research and development. Currently, I am employed at [Kuaishou](https://en.wikipedia.org/wiki/Kuaishou), focusing on the R\u0026D of universal front-end systems and AI exploration.\n\nWeChat: dokhell\n\nEmail: dokhell@hotmail.com\n","funding_links":["https://github.com/sponsors/sopaco","https://github.com/sponsors/sopaco)!"],"categories":["The latest additions 🎉","Development tools","Research"],"sub_categories":["Services"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsopaco%2Fdeepwiki-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsopaco%2Fdeepwiki-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsopaco%2Fdeepwiki-rs/lists"}