RepoAgent  by OpenBMB

LLM-powered tool for repo-level code documentation generation

Created 1 year ago
774 stars

Top 45.1% 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

8 months ago

Responsiveness

Inactive

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

Explore Similar Projects

Starred by Matt Schrage Matt Schrage(Cofounder of Fig), Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), and
2 more.

amazon-q-developer-cli by aws

2.4%
2k
CLI tool for agentic terminal interactions using natural language
Created 1 year ago
Updated 21 hours ago
Feedback? Help us improve.