
RepoAgent
https://github.com/openbmb/repoagent- Category
- AI Agents
- Rank
- No. 928Tools index
- Pricing
- Open Source
- Type
- AGENT
- Builder
- openbmb
- GitHub
- 1.0k stars
- Latest release
- v0.2.0
- Date
About
LLM-powered agent that explores a repo and auto-generates documentation so teams can onboard faster.
What it does
RepoAgent parses Python syntax into a hierarchy of classes and functions, maps callers and callees, then asks a configurable OpenAI-compatible model to explain each object. It writes the results as Markdown and keeps a separate structural checkpoint for later updates.
Why it's ranked here
The design goes beyond one-shot code summarization. Syntax analysis, reference context, Git change detection, concurrent generation, and persistent checkpoints form a credible documentation workflow. Its narrow Python focus and reliance on generated text make it useful for a specific job, not a general repository knowledge system.
What's good
It gives the model both source code and surrounding call relationships, which can produce more useful explanations than isolated snippets. Incremental updates avoid regenerating every object after each change. The command line also exposes model, endpoint, language, timeout, ignore rules, output location, and concurrency controls.
Tradeoffs
Only Python source is currently supported. Generation requires an OpenAI-compatible endpoint and API key, so cost, latency, and document accuracy depend on the selected model. Refreshing documentation rebuilds the Markdown output directory. The README also lists older defaults than the current command implementation, which can confuse setup expectations.
How to use it well
Use it for Python repositories where teams want object-level Markdown maintained alongside normal Git work. Run the change preview before generation, review generated explanations, and add the pre-commit hook only when commit-time model calls are acceptable. It does not replace human verification, multilingual code parsing, or a finished repository chat product.
Technical notes+
pyproject.toml packages repo_agent with PDM, requires Python >=3.11,<4.0, and registers repoagent = "repo_agent.main:cli". repo_agent/file_handler.py uses Python AST traversal to collect classes, synchronous functions, asynchronous functions, parameters, line ranges, and code bodies. repo_agent/doc_meta_info.py uses Jedi to resolve references and maintains object status plus caller and callee links. repo_agent/chat_engine.py sends prompts through OpenAILike, while repo_agent/prompt.py requests object descriptions enriched with relationship context. repo_agent/runner.py schedules generation across threads, checkpoints metadata, and deletes then recreates the Markdown directory during refresh. repo_agent/main.py exposes run, clean, diff, and chat commands; its current defaults are English and gpt-4o-mini, unlike older values shown in README.md.
Observed
- License
- Apache-2.0
- Primary language
- Python
- Python requirement
- >=3.11,<4.0
- Installation
- PyPI package via pip; PDM development setup; GitHub Action documented
- Interface
- Command-line application with run, clean, diff, and optional repository chat commands
- Build backend
- pdm-backend
- Model connection
- OpenAI-compatible API with configurable model and base URL
- Language scope
- Python source analysis only; generated documentation language is configurable
Read from README.md, pyproject.toml, requirements.txt, repo_agent/log.py, repo_agent/main.py, repo_agent/prompt.py, repo_agent/runner.py, repo_agent/__main__.py, repo_agent/settings.py, repo_agent/chat_engine.py, repo_agent/file_handler.py, repo_agent/doc_meta_info.py, repo_agent/change_detector.py.
What it can do
Explore repository structure
Code repository → Repository analysis and mapping
Generate code documentation
Source code files → Automated code documentation
Create API documentation
API endpoints and code → API reference documentation
Generate README files
Repository content and structure → README.md files
Create onboarding guides
Repository analysis → Developer onboarding documentation
Extract code dependencies
Source code and configuration files → Dependency documentation
Generate setup instructions
Project configuration and requirements → Installation and setup guides
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.