Try it now
Docent is live at trydocent-production.up.railway.app. Paste a public GitHub repo and watch the team work in real time, no setup needed.
What it does
You give Docent a GitHub URL. It clones the repo, indexes it into a semantic search index, then sends six agents in after it at once, each with their own tools and their own job. They stream their findings live. Once all six are done, a seventh call reads everything they wrote and moderates a short debate about where their findings actually disagree and what should get fixed first. If you have analyzed this exact repo before, an eighth call compares the new commit against the last one it saw and tells you what changed.
After that, you can just ask it things. "Where does auth happen?" gets answered with real file citations, pulled from the same semantic index the agents built.
Everything is saved as you go, so closing the tab or coming back tomorrow does not lose your analysis. There is also an Export report button that bundles all six reports, the debate, and the memory briefing into a single Markdown file you can keep, share, or drop into another tool.
The team
- The Architect, maps the system: components, data flow, key directories.
- The DevOps Engineer, writes the quickstart guide the repo is missing.
- The Security Engineer, audits env vars, config, and secrets handling.
- The Dependency Engineer, reads the manifests and flags supply chain risk.
- The Systems Cartographer, draws the system diagram, real modules only.
- The Mentor, builds a first day guided tour for a new contributor.
All six run in parallel, in a real tool use loop: list_files, read_file, and search_code, against the actual cloned repo. None of them see the other five reports until the debate step.
Debate and memory
The Debate. Six independent reports rarely conflict much, and Docent is built to say so honestly rather than manufacture tension. When it finds a real disagreement (say, one agent calling something risky and another explaining why it is acceptable), it quotes both sides and attributes them. It always ends with a ranked consensus traced back to the reports it came from.
The Memory. Every agent report is saved per commit. Analyze the same repo again later and Docent diffs the new commit against the last one it indexed, then tells you what changed, including which of its own earlier conclusions are now wrong. This is the one thing a plain docs generator can never do: it has no yesterday to compare against.
BTL Runtime usage
Every model call in Docent goes through api.badtheorylabs.com/v1:
/v1/chat/completions, all six agents, debate synthesis, memory briefing, and repo chat, all streamed./v1/chat/completionswithtools, agents callinglist_files,read_file, andsearch_code./v1/embeddings, whole repo semantic index for retrieval.
Usage returned on every call is tracked into the live cost meter on the analyze page. A full run typically costs under a cent.
Run it locally
Want to run your own copy instead of using the hosted version above:
npm install
cp .env.example .env # add your BTL_API_KEY
npm run dev # http://localhost:3000Paste a repo URL on the analyze page, hit Analyze, and watch the team work. Commit something to that repo and analyze it again. The Historian's briefing appears automatically.