Open Source · BSL 1.1 · Built with Rust

Your organization's
living knowledge graph.

DocBrain captures knowledge from PRs, Slack threads, CI pipelines, and your IDE the moment it's created, connects it into a living graph, and scores the quality. Then one command — docbrain generate — turns it into a grounded runbook, postmortem, or reference, right from your terminal or your CI pipeline.

25MB binary <500ms cold start 14 LLM providers 13+ sources
Scroll
0
MB binary size
<500ms
Cold start time
0
LLM providers
0
Knowledge sources

Documentation is broken
at the source.

The problem isn't missing docs. It's that knowledge gets created in one place and written down in another. If it gets written down at all.

Knowledge dies in Slack threads

A senior engineer explains a critical architecture decision in a thread. Two months later, nobody can find it.

PRs are documentation goldmines

Every merged PR contains decisions, caveats, and procedures. But PR descriptions are write-once, read-never.

Quality is nobody's job

Code has linters, tests, and review workflows. Documentation has nothing. No quality scores, no style enforcement, no SLAs.

How It Works

The shift-left
documentation pipeline

Knowledge captured at the source, quality-scored automatically, published through configurable review workflows.

01

Capture

Knowledge fragments auto-extracted from merged PRs, Slack conversations, CI deployments, and IDE annotations.

Knowledge at the source
02

Score

Three-layer quality pipeline: structural analysis, team-defined style rules, and LLM-assessed semantic scoring.

Quality gates for docs
The Moat
03

Compose

Fragments cluster by semantic similarity. When enough accumulate, DocBrain auto-composes them into documentation.

Docs write themselves
04

Govern

Space ownership, SLA policies, multi-stage review workflows, and breach detection.

Accountability built in
What No One Else Does

The complete knowledge lifecycle

Other tools index existing docs. DocBrain captures the knowledge that was never written down and turns it into quality documentation.

Result: documentation grounded in real engineering work, quality-scored and governed, without asking anyone to write docs.

Generate · The Moat

One command turns your
org's knowledge into docs.

docbrain generate drafts a runbook, postmortem, or API reference grounded in your runbooks, incidents, tickets, and PRs — with per-claim provenance. A frontier model writes fluent, generic prose. generate writes what is true for you, or tells you what it can't answer. Run it from your terminal today, or wire it into CI so docs update the moment a PR merges.

Local — draft a runbook from your notes
docbrain-cli
$ docbrain generate "runbook for cert rotation" --source notes.md --type runbook > runbook.md
⌛ Gathering org context (corpus + episodes)…
⌛ Drafting · resolving provenance per section…
doc_type: runbook quality: 87/100 (0 errors)
provenance: Overview ← Deploy Runbook v3 · Steps ← Cert Rotation SOP
needs_input: "Which CA issues the production certs?"
runbook.md written · 142 lines, grounded, ready to review

stdout is the markdown (pipe-clean). Diagnostics go to stderr. Swap --source notes.md for --source-url to ground in a Confluence page, Jira issue, Slack thread, or GitHub PR.

CI — update the runbook on every merge
.github/workflows/docs-on-merge.yml
- name: Update runbook from the merged PR
run: |
docbrain generate "update the deploy runbook for this PR" \
--source-url https://github.com/acme/payments/pull/$PR \
--target https://acme.atlassian.net/…/Deploy+Runbook \
--type runbook --out runbook-draft.md
⌛ Fetching PR via the GitHub connector…
⌛ Augmenting the existing runbook (not overwriting)…
runbook-draft.md · posted to the PR for review

Drop --out and the exit code becomes a gate: generate exits non-zero on error-severity quality violations, so a sub-bar doc fails the build. If a named source can't be fetched, the whole run hard-fails — never a doc from a partial set.

Grounded, with provenance

Reads your real PRs, runbooks, incidents, and threads through your connectors. Every section is attributed to the source it came from — reviewers verify, they don't trust.

Honest when it doesn't know

When the knowledge isn't there, it emits needs_input — the open questions — instead of fabricating. You fix gaps on purpose, not mid-incident.

Same gates, in CI

Secret/PII redaction, hostname scrub, injection-quarantine, and a 0–100 quality score run on every draft. The exit code is your CI signal — "good enough to publish" becomes machine-checkable.

Access Everywhere

Meets you where
you work

One knowledge layer, five interfaces. Ask from Slack during an incident, from your IDE while coding, or from the terminal at 2am.

docbrain-cli
# engineering
JC
Jake Chen2:14 PM
Payments 502 after the deploy. Has anyone seen this before?
DB
DocBrain2:14 PM
Runbook: Payments Service Rollback Procedure
1. Check deploy diff: git log --oneline production..main
2. Rollback: kubectl rollout undo deployment/payment-processor
3. Verify: curl -sf https://api.example.com/health/payments
Sources: Payments On-Call Guide, Deploy Runbook v3 · Confidence: 91%
👍 4🏆 2
feat: add idempotency keys to refund endpoint Merged
DB
DocBrain Bot commented 2 minutes ago
3 knowledge fragments extracted
1. Decision: Idempotency keys prevent duplicate refund processing
2. Caveat: Keys expire after 24h; retry must generate new key
3. Procedure: Manual refund override via admin API requires manager approval
Confidence: 92% · Auto-indexed to "Payments" space
payment_service.rs
refund_handler.rs
pub async fn process_refund(req: RefundRequest) {
  // Idempotency check
  if let Some(existing) = cache.get(&req.idempotency_key) {
    return Ok(existing.clone());
  }
  // Process refund...
}

Live Intelligence

Answers from
what's true right now

Most doc assistants answer from a snapshot. An index tells you what was true the last time it crawled, not what's happening this minute.

DocBrain reaches into your live systems at the moment you ask. “What's the status of PROJ‑412?” pulls the ticket from Jira as it stands right now, then combines it with your indexed runbooks into one cited answer. Old knowledge and live state, in a single response.

Read-only by design

DocBrain can read your tools, never write to them. Any tool that could change a system is dropped at discovery. Enforced, not promised.

Each user, their own permissions

Connected per‑user over OAuth. Your answer is scoped to what you can see in the source. Tokens refresh on their own, and nobody sees data they shouldn't.

Any MCP-enabled system

Jira, Confluence, and Slack out of the box, plus anything that speaks the Model Context Protocol. Add a tool, and DocBrain starts answering from it.

0

Write operations

Per‑user

OAuth scope

Live

At answer time

DB
DocBrain Live data

“Is the payments outage from yesterday resolved, and what was the fix?”

Resolved, 14h ago.

PROJ‑412 (“Payments 502s after deploy”) moved to Done at 09:14 UTC. The fix was a rollback of payment-processor plus an idempotency-key guard, per the linked runbook.

Jira · PROJ-412 live Payments Rollback Runbook v3 PR #347
Indexed knowledge
The runbook & PR. What was true at capture.
Live tool
Ticket status right now. Pulled at answer time.

One answer. Indexed history reconciled with live source-system state.

“My IDE already does MCP.”

True. Cursor and Claude Code can hit your tools live too. The difference is what happens after the answer. They forget it. DocBrain keeps it, connects it, and gets better every time someone asks.

IDE + MCP
DocBrain
Reads live tools at answer time
Yes
Yes
Remembers the answer after you close the tab
No
Yes
Learns from everyone, not just you
No
Yes
Maps who owns what, what depends on what
No
Yes
Turns answers into durable, quality-scored docs
No
Yes
One shared brain for the org, with access control
Per-dev
Org-wide

An IDE asks your tools a question. DocBrain turns every question your org has ever asked into a system that gets smarter.

4-Layer Memory System

A brain that
remembers everything

Four memory layers work together so every question makes the system sharper. The 100th query about Kubernetes is faster and better-answered than the first.

~40%

Cache hit rate

<3s

Avg response

25MB

Binary (Rust)

Working Memory Redis

Multi-turn conversation context. Resolves "it", "that service", "the same thing."

Episodic Memory Postgres + OpenSearch

Every Q&A ever asked. Semantic caching, feedback learning. Gets cheaper as it learns.

Semantic Memory Knowledge Graph

Entity relationships via graph traversal. "Who owns the payment service?" gets resolved, not searched.

Procedural Memory Learned Rules

Adapts retrieval from feedback. Discovers: "deployment questions → search DevOps first."

Features

Everything you need

Knowledge Fragments

First-class knowledge units with provenance. Auto-captured from PRs, conversations, and CI pipelines.

CI/CD Capture

Merged PRs and deployments auto-analyzed by LLM. Decisions, caveats, procedures extracted as fragments.

Quality Pipeline

Three-layer scoring: structural, style rules, and LLM-assessed semantic quality. Composite score 0-100.

Confidence-Scored Q&A

Hybrid search, intent classification, cited answers with freshness. Low confidence asks questions instead of hallucinating.

Knowledge Graph

Entity relationships with BFS/DFS traversal. Blast radius analysis, expertise routing.

Documentation Autopilot

Clusters unanswered questions, detects gaps, auto-drafts missing documentation.

Generate Grounded Docs On Demand

docbrain generate drafts a runbook, postmortem, or reference grounded in your own runbooks, incidents, tickets, and PRs — with per-claim provenance, or an honest list of what it can't answer instead of confident fiction. Same redaction, injection-quarantine, and quality gates as every DocBrain doc. Returns the markdown — you decide what to publish. Wire it into CI to update docs on merge.

14 LLM Providers

Anthropic, OpenAI, Bedrock, Ollama (local), Gemini, Azure, and 8 more. Swap via config.

SSO & RBAC

GitHub/GitLab/OIDC SSO. Four roles. Space-level isolation. API keys Argon2-hashed.

Source-System ACL

Mirrors real Confluence / Slack / GitHub / Jira permissions at query time. Restricted page in source = filtered out for users who can't read it. Three modes, side-channel-safe, audit-logged.

Built with Rust

25MB binary. <500ms cold start. Under 100MB memory. Self-hosted, your data stays yours.

Connector SDK

Plug in any knowledge source in any language. 3 endpoints, DocBrain handles the rest.

MCP IDE Capture

10 tools for Claude Code, Cursor, and any MCP editor. Capture decisions at commit time.

Live MCP Tool Platform

Pull live Jira tickets, GitHub PR state, or any MCP-enabled system at answer time. Per-user OAuth with transparent refresh. Answers cite live data, not stale chunks. See how →

13+ Knowledge Sources

Confluence, Slack, Teams, GitHub, GitLab, Jira, PagerDuty, OpsGenie, Zendesk, and more.

Shift-Left In Practice

A day with DocBrain

Knowledge captured where the work happens. Not after. Not in a doc sprint. At the source, in real-time.

1

9:15 AM · PR Merged

Engineer merges a payment refund PR

DocBrain's CI capture extracts 3 knowledge fragments: a decision about retry logic, a caveat about idempotency keys, and a procedure for manual refund overrides. All auto-indexed with 92% confidence.

2

11:30 AM · Slack Thread

Support asks "how do refunds work now?"

DocBrain answers with fragments captured 2 hours ago, plus links to the original PR. The support engineer types /docbrain capture to save more context.

3

2:00 PM · Auto-Composition

5 fragments cluster into a draft doc

DocBrain detects semantic similarity across PR fragments, Slack capture, and older fragments. Composes "Payment Refund Procedures," scores at 78/100, routes for SME review.

4

3:30 PM · Published

Reviewed, style-checked, published

Quality rules catch 2 violations, auto-fixed. Final score: 91/100. Published to "Payments" space. Total engineer effort: zero.

Traditional: schedule a doc sprint, assign writers, review in 2 weeks, stale in 2 months.

Shift-left: captured at 9:15 AM. Published by 3:30 PM. Stays accurate forever.

Independent Assessment

We asked Rovo to compare itself.
Honestly.

No cherry-picked benchmarks. We opened Rovo, asked it to do a fair comparison, and published the full response — including where it wins.

"

DocBrain's 'capture knowledge that was never written down' is solving a problem I fundamentally can't.

— Rovo (Atlassian's AI assistant), responding to a direct comparison prompt

Where DocBrain wins
Where Rovo wins
Captures knowledge that was never written down
Native Atlassian integration (Jira, Confluence, Bitbucket)
Doc quality scoring (0–100 pipeline)
Zero setup for existing Atlassian Cloud teams
Self-hosted — your data never leaves your infra
Broad work execution (sprint planning, triage, reviews)
14 LLM providers, including local Ollama for air-gap
Cross-tool action orchestration
Auto-composes docs from fragments — without being asked
3M+ users, Fortune 500 enterprise reach

Full response published unedited. Rovo's assessment, not ours. Read the full transcript →

FAQ

Common questions

Is DocBrain really free?
Open source under BSL 1.1. Free for production use. Only restriction: you cannot offer DocBrain as a hosted service. Converts to Apache 2.0 at 5k stars or Jan 1, 2028.
How do I know the data is accurate and not made up?
DocBrain is built to refuse to show anything it can't stand behind. Confident ownership only shows up after it's been measured against a human-checked answer key and passed a strict accuracy bar. Until then you see "no confident owner," not a guess. Every confident claim carries its evidence. Low-confidence answers ask a question instead of making something up, and the system never passes off intent as a measured result. The honest promise is "roughly 0% confidently wrong," not "always right." Read how DocBrain earns trust →
Does my data leave my infrastructure?
When self-hosted, docs and queries never leave your infra. Use Ollama for 100% local, air-gapped deployment with zero data egress.
Which LLMs does DocBrain support?
14 providers: Anthropic (Claude), OpenAI, AWS Bedrock, Vertex AI, Azure OpenAI, Groq, OpenRouter, Together, DeepSeek, Mistral, xAI, Gemini, Cohere, and Ollama. Swap via config.
Does DocBrain learn from feedback?
Yes. Thumbs up/down updates procedural retrieval rules and feeds Autopilot gap detection. Optional learning pipeline fine-tunes embeddings from feedback.
How long does setup take?
Docker Compose: about 5 minutes. Run bash scripts/setup.sh and it brings up PostgreSQL, OpenSearch, Redis, migrations, and sample docs. Add your LLM API key and go.
What is "shift-left documentation"?
Same idea as shift-left testing: capture knowledge at the source instead of documenting after the fact. Fragments accumulate, cluster, and auto-compose into quality-scored documentation.
My IDE already has MCP. Why DocBrain?
Your IDE can read live tools, and so can DocBrain. The difference is memory. Cursor or Claude Code answers your question in your session, then forgets it the moment you close the tab. DocBrain keeps every answer, links the entities into a knowledge graph, learns which sources to trust from feedback, and turns recurring questions into durable docs. The 100th person asking about Kubernetes gets a faster, better answer because of the first 99. It's one shared brain for the whole org with access control, not a private session per developer.
How are docs quality-scored?
Three layers: Structural (deterministic), Style (configurable rules per team), and Semantic (LLM-assessed). Composite score 0-100.
Can I integrate with PagerDuty / incident management?
Yes. Native PagerDuty and OpsGenie ingestion. Knowledge Stream fires early warnings during incidents. Webhook subscriptions push events to any tool.

Security & Access

Can DocBrain change anything in my connected tools?
No. It's read-only, and that's enforced, not promised. When DocBrain connects to a live tool over MCP, any tool that could create, edit, or delete gets dropped during discovery. It can read Jira, Confluence, or Slack to answer a question. It cannot file a ticket, post a message, or change a page.
Will users see data they're not allowed to?
No. DocBrain enforces access at query time on two fronts. Source-system ACL mirrors the real permissions of Confluence, Slack, GitHub, and Jira. A page someone can't open in the source gets filtered out of their answers, side-channel-safe and audit-logged. For live tools, each user connects with their own OAuth, so live results are scoped to exactly what that person can see.
How is access controlled inside DocBrain?
SSO via GitHub, GitLab, or any OIDC provider. Role-based access control with four roles, space-level isolation between teams, and API keys hashed with Argon2. Every privileged action is audit-logged.
Can I run it fully air-gapped?
Yes. Self-host and point DocBrain at a local Ollama model. No API calls leave your network, zero data egress. Documents, queries, and embeddings stay entirely on your infrastructure.
How are secrets and credentials handled?
OAuth tokens are encrypted at rest and refreshed transparently; API keys are Argon2-hashed and never stored in plaintext. Connector credentials are referenced by name, never logged, and never surfaced in the UI. LLM and source keys live in your environment, not in DocBrain's database.
Is the source code auditable?
Fully. DocBrain is open source under BSL 1.1, so you can read every line, run your own security review, and self-host the exact code you audited. No closed-source agent runs on your infrastructure.

Self-host in 5 minutes

Docker, an API key, and three commands. That's it.

quickstart
$ git clone https://github.com/docbrain-ai/docbrain
$ cd docbrain
$ bash scripts/setup.sh
✓ Created .env with defaults
✓ Started PostgreSQL, OpenSearch, Redis
✓ Ran 43 migrations
✓ Ingested sample docs
✓ Server running at http://localhost:3000
✓ Web UI at http://localhost:3001
Bootstrap admin key: db_sk_boot_...