finds.dev← search

// the find

OpenBMB/RepoAgent

★ 1,005 · Python · Apache-2.0 · updated Dec 2024

An LLM-powered repository agent designed to assist developers and teams in generating documentation and understanding repositories quickly.

RepoAgent crawls a Python codebase, builds an AST-based call graph, then asks an LLM to write Markdown documentation for each object in dependency order. It hooks into git pre-commit so docs stay in sync as code changes. Python-only for now, aimed at teams that want auto-generated docs checked into the repo.

The call-graph approach is the interesting part — it figures out that function B calls function A and feeds that context to the LLM, so generated docs aren't just per-function stubs but actually reflect relationships. Multi-threaded dispatch means it doesn't serialize every LLM call, which matters when you have hundreds of functions. The pre-commit hook integration is practical: docs drift is the main reason auto-generated docs rot, and tying generation to commits attacks that directly. GitHub Actions support means you can run it in CI without anyone remembering to invoke it manually.

Python-only is a hard wall — the AST parsing and object-graph logic is tightly coupled to Python's syntax, so Java/TypeScript/Go support isn't a refactor away. The default model is gpt-3.5-turbo, which produces noticeably weaker docs than gpt-4; teams that care about output quality will pay significantly more. Last meaningful commit was late 2024 and the future-work checklist still has multi-language support unchecked — the project looks stalled. The 'chat with repo' feature is a Gradio prototype bolted on the side; it's not production-ready and the README is honest that it's exploratory.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →