Disco ParrotDisco Parrot Home
Docs
Request a Demo

Repository documentation

First-class documentation for every repository, kept in step with the code by a health review the agent can propose surgical edits against.

Most teams treat documentation like they treat exercise: necessary, but always for next week. By the time someone updates the architecture page, it describes a system that shipped two quarters ago. By the time anyone writes the onboarding doc, the engineer who needed it has already left.

Disco Parrot treats your repository documentation as a working artifact. Each repo has its own set of docs that lives in the platform, the agent reads them the same way it reads your code, and a scheduled review keeps the pages in step with what is actually shipping. The point is not the docs themselves. The point is that they are current the next time you, or an agent, need them.

The pages, briefly

Every page is markdown. There is no proprietary block format, no embed registry, nothing new to learn. A page has a title, a path that the tree uses to group it, an optional category, and a scope that pins it to a particular repository. That is the entire shape, and it is what keeps the docs reading like a notebook rather than a CMS.

info
Repository docs are not uploaded files

This page is about the docs themselves: the architecture overviews, the conventions, the API pages, the ADRs. Uploaded documents (PDFs and Office files imported from your machine, Drive, or OneDrive, and attached to a plan or a bug) live in a separate library covered under the work model. Both stay in Disco Parrot. They do not share a store.

Get the docs without writing them

You can fill the docs by hand if you want to. Most teams do not want to. The faster path is the repo onboarding Flow, which spins up a sandbox against the repo, reads it, and writes the foundation pages for you.

The Flow runs in four passes. The first reads the repo and decides what is worth writing about. The next drafts the architecture and conventions pages. After that comes the domain and API set, and last the ADRs and quality references. A checkpoint sits between the foundation pass and the domain pass, and another sits before the ADRs, so you get two natural moments to look at what the agent has written before it goes deeper. If you send the run to the background, the checkpoints auto-advance. If you are watching, they wait.

When the Flow finishes, the pages are in the docs, written by the agent. From that moment they are yours to edit, the same as any page you wrote by hand. Running onboarding again does not duplicate the work; it writes to the same pages by their path, so a re-run updates them in place, including any hand edits to a page it produces again. The full authoring how-to, the editor, the tree, and what a re-run does and does not touch, is its own page under repository documentation and wiki.

You can also edit a page directly. The docs editor opens to a tree on the left, a header at the top, and a markdown editor in the middle. Admins can update a page through the API without going through a Flow when the situation calls for it.

add_photo_alternate
Screenshot to capture
The repository documentation page: left sidebar tree of doc paths (Architecture, Conventions, Domain, API, ADRs, Quality), header with the page title and Edit / Save buttons, and a markdown editor in the center with rendered code fences and tables.
save as: public/docs-media/repo-docs-view.png
Caption when added: The repository docs page. A tree of pages on the left, markdown content in the center, and a markdown editor a click away.

A review that keeps the docs current

Conventions move. Names change. An endpoint gains a parameter, a diagram stops matching the deployment, an onboarding step breaks on the fourth try. Documentation drifts the moment the code starts shipping, and the gap widens whenever nobody is looking. The health review is what makes someone look.

01edit_note
A signal is captured
A user correction in chat, a PR review comment, a repeated question, a stale reference, an agent self-correction.
02inventory_2
The review batches signals
A scheduled run reads the recent signals against the wiki and produces proposals: update, create, restructure, or deprecate.
03rule
A person decides
Approve the surgical edits, reject the ones that miss, edit a replacement, or apply the batch in bulk at high confidence.
04check_circle
The wiki updates in place
Only the approved edits land. Each one stamped with the AI source mark and recorded in version history.
The loop the health review closes. Evidence from real activity becomes proposals; a person decides; the wiki stays in step with the code.

A health review is a scheduled Flow that runs against one repository. It reads the docs, reads what has actually happened in the repo since the last review, and surfaces a batch of proposals. Each proposal is one of four kinds: an update to an existing page (a set of small edits, never a rewrite), a new page the docs are clearly missing, a restructure when a page has outgrown its layout, or a deprecation when a page no longer reflects how the system works.

Every proposal comes with a confidence (high, medium, or low) and a rationale that ties the suggestion back to the evidence behind it.

The signals it watches for

The review does not invent things to suggest. It only proposes when there is concrete evidence, and the evidence has shape. Ten kinds of signal are captured as work happens, each one stamped with the session, the user, and a fragment that lets you trace the suggestion to its origin.

SignalWhat it means
User correctionSomeone corrected the agent in chat. "No, that endpoint moved to v2."
Agent search patternThe agent looked for a topic and did not find a matching page.
PR reviewA reviewer flagged something on a pull request that the docs should have caught first.
PR commentA comment thread on a PR pointed at documentation that was missing or wrong.
Repeated questionThe same question came up across several conversations.
Stale referenceThe agent found a doc reference that no longer matches the code.
Failed attemptA documented procedure stopped working when the agent followed it.
Convention decisionA new convention was made somewhere outside the docs.
Setup frictionA setup step failed in a way that suggests the docs miss a prerequisite.
Agent self-correctionThe agent caught itself relying on a wrong assumption mid-run.

A proposal explains itself through its signals. When you accept the edit, you are accepting the platform's read of the evidence behind it.

lightbulb
The signals are why, not what

Every proposal explains the change it wants to make and the signals that called for it. You are reviewing a position the agent reached from real evidence, not a guess.

Small edits, not rewrites

A rewrite is hard to trust. It touches everything, the reviewer has no good way to look at it line by line, and the result is either accepted whole or rejected whole. So the platform never proposes a rewrite when it can propose a set of small edits instead.

An update proposal is a list of edits. Each edit names the exact text it wants to replace, the text it wants to put there, and the reasoning behind the change. You approve, reject, or revise each one. The proposal does not move forward until every edit has a decision, and when it applies, only the approved edits land.

This matters when a proposal is mixed. Two of the five edits are clearly right; one is wrong about a convention; two are debatable. With surgical edits you take the two that are right, you reject the one that misses, you rework the two that need work, and the platform records the result as partially applied. The page reflects what you actually shipped. Nothing was forced through, and nothing of value was lost.

add_photo_alternate
Screenshot to capture
A documentation update proposal: the existing page on the left with anchor highlights, a list of surgical edits on the right (each with the find text, the replacement, a rationale line, and per-edit Approve / Reject / Edit controls), a confidence badge at the top, and the signals list collapsed below.
save as: public/docs-media/doc-update-proposal.png
Caption when added: An update proposal as a set of surgical edits. Each edit is approved, edited, or rejected on its own.

When the page moved underneath the proposal

If the page changed between when the proposal was generated and when it is reviewed, an edit's find string may no longer match. The platform handles this in two layers. A recoverable drift, where one or two anchors no longer match, lets you reject those edits cleanly and apply the rest, with the result recorded as partially applied. A blocking drift, where the target page has been deleted or has moved out from under the proposal entirely, blocks the proposal at the apply step and surfaces the error on the record so a person can decide what to do.

The recoverable case is the common one, and that is the point of breaking the work into discrete edits in the first place. One anchor going stale does not lose the rest of the analysis.

Reviewing a batch

Each review run produces one batch of proposals. You filter by confidence, by change type, or by status; you can walk them one at a time, or you can run a bulk action across the whole batch. That last one is the dial that decides how much you want to trust the agent.

A team that wants to move fast bulk-approves the high-confidence proposals and triages medium and low by hand. A team that wants to slow down keeps every proposal in review. Both are reasonable; the surface is the same.

The cross-repo view

If you are running reviews across several repositories, the cross-repo view rolls up the open proposals across all of them. You see which repo has the most pending work, how many of the proposals are high confidence, and where the next half hour is best spent. Repos with nothing to review stay off the list so the view focuses on what wants attention.

add_photo_alternate
Screenshot to capture
The Documentation Reviews cross-repo page: a header with grand totals (total proposals / pending / approved / applied / high-confidence pending), and a list of rows per repository each with name, owner, pending count, high-confidence count, and a link into that repo's batch view. Empty repos (zero proposals) are excluded from the list.
save as: public/docs-media/doc-reviews-cross-repo.png
Caption when added: The cross-repo health view rolls up open proposals from every repository, sorted by pending count.
add_photo_alternate
Screenshot to capture
The documentation health review batch view: a header with the run status (Needs Review / Complete / Skipped / Failed / Paused / Running) and counts (total / pending / approved / rejected / applied), a filter bar for status / confidence / change type, and the proposal list with each row showing change type, confidence chip, target page, and a one-line rationale.
save as: public/docs-media/doc-health-batch.png
Caption when added: A health review batch. Triage the high-confidence proposals as a group, then walk the rest one at a time.

Configuring a review

A review is configured per repository, on the repository's own settings where you connect it: a cron schedule and a lookback window that sets how far back the review reads. Each run gathers the docs and the recent work, analyzes them for drift, and writes up what it found as a batch of proposals, then stops in front of a person. Nothing changes a page until someone approves it.

The way you move fast is the high-confidence column. When you trust what a review marks high confidence, you approve those proposals as a group and give your real attention to the rest. The full review experience, walking a batch, approving the surgical edits inside a proposal one at a time, and the bulk approve-all-high-confidence action, is its own how-to under documentation health reviews.

How the agent uses the docs

The docs are not just somewhere you go to read. They are somewhere the agent goes to read, in the middle of a run, when it needs to know what your conventions actually are. The agent queries them the same way it would look up a function in your codebase: only the pages it needs, only when it needs them. A large doc set does not crowd out the prompt; the agent calls for what is relevant.

The point of that design is the loop it closes. When a page is missing, the agent's failure to find one becomes the agent-search-pattern signal that feeds the next review. When a page is wrong, the next correction in chat becomes the user-correction signal. The drift becomes the work, the work becomes the proposal, the proposal becomes the page. The docs do not stay current because someone remembered. They stay current because the system has a job to do.

Permissions

Reading the docs goes with the platform-docs.read scope; editing goes with platform-docs.manage. Scheduling a review and changing its lookback window sit behind the standard admin bundle that governs the rest of workspace automation, and approving a review's proposals is held by your planners, admins, and owners. An applied change is tied to the proposal that produced it, the signals it was built from and the person who approved it, so the audit trail can answer who changed a page and why.

The bigger picture

Most teams have given up on keeping documentation current. The honest version of that story is that nobody was being paid to do it, and the rest of the work was always more pressing. The health review turns the maintenance into a Flow you can review the same way you review a pull request: a clear proposal, a rationale, an edit you can accept, revise, or reject. The docs stay current because the system makes it cheap, and because the agent that benefits from them is the same one helping write them.