CodeBoarding  by CodeBoarding

Interactive diagrams for codebases

created 4 months ago
719 stars

Top 47.8% on SourcePulse

GitHubView on GitHub
Project Summary

CodeBoarding is an open-source tool that generates interactive, high-level diagrams of codebases using static analysis and LLM agents. It aims to improve code onboarding, documentation, and comprehension for complex systems by visualizing module relationships and control flow. The output is compatible with Mermaid.js for easy integration into documentation and workflows.

How It Works

The system employs an orchestration workflow that invokes a static code analyzer to extract raw graph data. This data is then processed by an AI analysis engine, leveraging LLMs (with multi-provider support), to create high-level models. These models are persisted for caching and then passed to an output generator, which renders interactive Mermaid.js diagrams. This approach combines precise static analysis with the abstractive capabilities of LLMs for comprehensive code understanding.

Quick Start & Requirements

  • Install: Use uv venv --python 3.11 and uv pip sync requirements.txt.
  • Prerequisites: Python 3.11, pygraphviz (requires Graphviz installation on macOS via brew install graphviz).
  • Environment Variables: Requires LLM API keys (OpenAI, Anthropic, Google, AWS Bedrock) and configuration for caching, repository paths, and project root.
  • Run: python demo.py <github_repo_url> --output-dir <output_path>
  • Demo: www.codeboarding.org/demo
  • Docs: Diagram documentation linked within the README.

Highlighted Details

  • Visualizes over 300 popular open-source projects, with examples for ChatTTS, PyTorch, and FastAPI.
  • Integrates with VS Code extensions, GitHub Actions for CI/CD, and an MCP Server for AI agent interaction.
  • Supports multiple LLM providers, with a recommendation for Google Gemini-2.5-Pro for complex tasks.
  • Generates diagrams based on control flow graphs and LLM-derived abstractions.

Maintenance & Community

The project is actively seeking contributions and welcomes issues and pull requests. Further details on community channels or roadmaps are not explicitly provided in the README.

Licensing & Compatibility

The project's license is not explicitly stated in the README. Compatibility for commercial use or closed-source linking would require clarification of the license terms.

Limitations & Caveats

Installation of pygraphviz may require specific steps on macOS. The README does not specify the license, which is crucial for understanding usage restrictions and commercial compatibility.

Health Check
Last commit

1 day ago

Responsiveness

Inactive

Pull Requests (30d)
9
Issues (30d)
12
Star History
724 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.