RepoAgent  by OpenBMB

LLM-powered tool for repo-level code documentation generation

created 1 year ago
738 stars

Top 47.9% on sourcepulse

GitHubView on GitHub
Project Summary

RepoAgent is an LLM-powered framework designed to automate the generation and updating of code documentation for software repositories. It targets developers and teams seeking to improve code understanding, maintainability, and onboarding efficiency by leveraging AI to reduce the manual burden of documentation.

How It Works

RepoAgent analyzes codebases using Abstract Syntax Trees (AST) to understand code structure and inter-object relationships. It integrates with Git to detect file changes and automatically updates documentation, ensuring consistency. The framework supports multi-threaded operations for efficiency and can be configured with pre-commit hooks to trigger documentation updates automatically on code commits.

Quick Start & Requirements

  • Installation: pip install repoagent
  • Prerequisites: OpenAI API key configured as an environment variable. Python 3.x.
  • Setup: For development, PDM is recommended. GitHub Actions integration is also supported.
  • Usage: Run repoagent run to generate/update documentation.
  • Links: GitHub Actions, Demo, Documentation

Highlighted Details

  • Automatically detects Git repository changes (additions, deletions, modifications).
  • Analyzes code structure via AST for object-level documentation.
  • Identifies bidirectional invocation relationships for enriched context.
  • Seamlessly updates Markdown content based on code changes.
  • Supports multi-threaded concurrent operations for faster generation.
  • Integrates with pre-commit for automated documentation updates on commit.
  • Can generate documentation for large projects (e.g., 270k lines of code with GPT-3.5-turbo).

Maintenance & Community

The project is associated with OpenBMB and has featured cases like MiniCPM, ChatDev, XAgent, and EasyRL4Rec.

Licensing & Compatibility

The repository does not explicitly state a license in the provided README. Compatibility for commercial use or closed-source linking is not specified.

Limitations & Caveats

Currently, RepoAgent primarily supports Python for documentation generation, with plans to expand to other languages like Java, C, and C++. Local model support is available.

Health Check
Last commit

7 months ago

Responsiveness

1 week

Pull Requests (30d)
0
Issues (30d)
0
Star History
116 stars in the last 90 days

Explore Similar Projects

Starred by Chip Huyen Chip Huyen(Author of AI Engineering, Designing Machine Learning Systems), Jeff Hammerbacher Jeff Hammerbacher(Cofounder of Cloudera), and
3 more.

AutoPR by irgolic

0.1%
1k
AI-powered workflows for codebase automation
created 2 years ago
updated 1 year ago
Feedback? Help us improve.