Skip to content

Repository files navigation

Rongo

Turns a codebase into something the rest of the company can ask. Plain-language questions, answers in domain terms, flowcharts and sequence diagrams where the process is the point.

Rongo is a web app. It runs on a server, clones the repositories you list, indexes them, and answers questions about them in a browser. No install, no checkout, no terminal, no coding agent: the people who have to know what the software does ask in their own words, and the answer comes back in theirs. The name comes from Rongorongo, the Easter Island script that nobody has deciphered.

A question answered in the Analyst voice, with the flowchart it produced and the places the answer was read from

What a reader gets

An answer, not a search result. Ask why an order can be cancelled twice, or what happens to a customer record on close, and Rongo reads the code that matched and explains the mechanism.

A diagram where the flow is the answer. A process worth following step by step comes back as a flowchart, an exchange between services as a sequence diagram.

Somewhere to look. Every claim shows where it was read, and one click opens that file inside Rongo, at the state it was indexed at.

A question back, when the question could mean several things. Rongo asks which product or which reading was meant instead of answering the wrong one, and when a question spans more of the estate than one answer can carry, it asks which repositories to narrow to.

Your language. A thread is answered in the language its first question was asked in.

A link to send on. Any thread can be shared as a read-only page, frozen where you shared it, and revoked later.

Developers can switch a thread to the Developer voice, which explains how the code does it and shows the code inline.

How it works

One Go binary, one SQLite file (FTS5 for text, sqlite-vec for embeddings), React UI embedded in the binary. Symbols come from universal-ctags, search from ripgrep, checkouts from git. Chat goes to an OpenAI-compatible endpoint serving the MiMo deployments named in backend/internal/llm/client.go, embeddings to any OpenAI-compatible /embeddings endpoint.

Projects are listed in repos.yaml, each holding the repositories it is built from; credentials never are, they come from BACKEND_* environment variables, one per forge host.

Running it

This part is for whoever sets it up. Everybody else gets a link and their usual company login.

make dev runs it locally with hot reload. Needs Go, Node.js, git, rg and universal-ctags (the BSD ctags macOS ships doesn't work and Rongo says so at startup).

compose.yaml runs it in production behind a TLS-terminating reverse proxy with OIDC login, which is how the rest of the company gets in. The comment at the top of that file covers the first run.

Development

make test        # Go tests
make fe-test     # typecheck and frontend tests
make coverage    # both, with the 75% floor CI enforces
make build       # bin/rongo with the UI embedded

Design decisions and invariants: AGENTS.md. The measurements behind them: docs/measurements/. Checks that need a real browser: docs/manual-verification.md.

About

Turns a codebase into something the rest of the company can ask. Plain-language questions, answers in domain terms, flowcharts and sequence diagrams where the process is the point.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages