---
scope: entire organization
format: plain markdown · yours
status: multi-tenant · alpha
---
One knowledge base for the entire organization
CoralDoc unifies engineering docs, handbooks, specs, and runbooks — wherever they're stored — into one searchable, AI-native knowledge base. Every page stays a plain Markdown file your organization owns.
Self-hosted and cloud · no per-seat pricing · no proprietary format
acme-corp/
- ●Platform/→ git · services/*
- ●Payments/→ github · payments-org
- ●Engineering handbook/→ vault · .obsidian
- ●Product specs/→ s3 · specs-bucket
- ●Runbooks & oncall/→ git · sre-docs
- ●Compliance archive/→ azure blob
## one shell · many origins · one graph
search · backlinks · RBAC · AI over all of it
Six storage locations. One search box, one permission model, one corpus your assistants can read.
section: the format
Every source. One format. Real Markdown.
Unification only works if everything shares a format — and it has to be a format your people, your editors, and your models already speak. Not a rich-text JSON blob. Not a watered-down dialect. A .md file.
Deploy rollback runbook
If a release degrades p99 latency, roll back to the previous revision. See oncall-guide.
Escalation flow
gcloud run services update-traffic api \ --to-revisions=api-00041=100
Related across sources
- git ADR-014 Event pipeline
- vault Oncall escalation handbook
- s3 Incident postmortem template
The file on the left is a real .md — open it in VS Code, Obsidian, vim, or your CI pipeline. The backlinks on the right cross three different storage providers.
pillars: unify · own · accelerate
Built as a unified knowledge base — not a wiki bolted on later
unify: every source
One home for org knowledge
Engineering docs in Git, product specs in object storage, team notes in Obsidian, handbooks, ADRs, runbooks — connected under hierarchical projects with org-wide search, backlinks, and permissions. Stop hunting across five tools for the same answer.
own: everything
Content you still own
Plain .md and .canvas files with YAML frontmatter, in storage you control. No proprietary database. No export tax. Back up, grep, and migrate with tools you already have.
ai: native
AI-native by design
Markdown is what LLMs read and write best. Your whole knowledge graph is usable by RAG pipelines, coding assistants, and agents — plus an integrated AI Writer and REST API for org-scale workflows.
section: sources
Many sources. One knowledge base.
Organizations don't keep knowledge in one place — and they shouldn't have to move it all into a vendor database to collaborate on it. CoralDoc connects to the storage your content already lives in and puts one shell around it.
git / github
Engineering repos
ADRs, READMEs, and service docs colocated with code — auto-commit, attribution, and history that matches the systems they describe.
obsidian vault
Team vaults
Point at a folder containing .obsidian/ — wikilinks, callouts, and canvas boards carry over. Local thinking, org-wide sharing.
s3 / azure blob
Object storage
Compliance archives, product specs, and long-lived document sets — in the buckets your security team already reviewed and approved.
local disk
Working drafts
Fast iteration on disk for in-progress work, without pushing half-finished thinking into a repo everyone watches.
mixed per project
Compose freely
Git for services, S3 for compliance, a vault for product — simultaneously, under one tenant, with a hierarchy that matches your org.
on the roadmap
Confluence import
A Confluence-to-Markdown converter, so leaving a proprietary database is a file copy rather than a migration project.
// to be precise
CoralDoc connects to storage backends — Git, GitHub, S3, Azure Blob, local disk, Obsidian vaults — not to other SaaS products' APIs. Your files stay in your storage and CoralDoc reads and writes them in place. It isn't a connector layer that indexes Notion and SharePoint and leaves your content where it is; it's the system of record for content you keep in formats and locations you control.
section: search & ai
One search box. One answer. Every source.
The reason to unify isn't tidiness — it's that nobody can find anything. When a payments engineer searches for a rollback procedure, they shouldn't need to know whether it lives in a repo, a vault, or a compliance bucket.
-
git
Payments/runbooks/deploy-rollback.md
…shift traffic to the previous revision, then verify p99…
-
vault
handbook/oncall-escalation.md
…if a rollback doesn't recover latency within 10m…
-
git
Platform/adrs/adr-014-event-pipeline.md
…replay semantics make rollback safe for consumers…
-
s3
compliance/postmortem-2026-04.pdf
…delayed rollback extended the incident by 22 minutes…
Full text, frontmatter, tags, and backlinks — across every connected source, filtered by what each person is actually allowed to see.
# natural language → grounded answers
Q How do we roll back Payments after a bad deploy?
# retrieved across sources
- ← Payments/runbooks/deploy-rollback.md (git)
- ← Platform/adrs/adr-014-event-pipeline.md (git)
- ← handbook/oncall-escalation.md (vault)
A Follow the Payments rollback runbook; escalate per the oncall handbook if p99 stays high after the traffic shift…
## same files humans edit · same graph agents query
- +RAG pipelines and coding assistants read runbooks, ADRs, and specs straight from files
- +Integrated AI Writer for drafting and refining pages in context
- +REST API so agents can create, update, and navigate org knowledge
- +Diagrams as code — greppable, diffable, and readable by models
- +One retrieval surface across Git, vaults, and object storage — not five tool-specific bots
- +Diagrams in Mermaid and DBML render live and theme-aware — no plugins, no embeds
Most "AI for docs" features fight proprietary formats, partial exports, and siloed spaces. CoralDoc starts from plain Markdown across every connected source — the format models already handle best. AI-native isn't a chatbot bolted on; it's a knowledge layer designed for people and models at the same time.
section: agent workflows
Your AI workflows already write Markdown
Spec-driven development produces artefacts, and those artefacts are plain files in your repo — proposals, PRDs, architecture, stories, task lists. They're the highest-value documents your team writes and the least visible: buried three folders deep, readable only by whoever clones the repo.
CoralDoc reads those folders in place. Nothing to integrate, no plugin, no export step. The files stay exactly where your agent expects them.
what CoralDoc adds
- +The spec library becomes a browsable capability index — not a folder you have to cd into
- +Proposals get line-anchored comments and @mentions before the agent starts building
- +Spec deltas render as diffs beside the spec they change
- +A platform team's specs are readable from every other project — scoped read-only, no cloning
- +Archived changes stay searchable, so "why did we do it this way" has an answer
what CoralDoc adds
- +PRD and architecture become readable by people who will never open a repo
- +Story frontmatter drives tags and filters — a board view over the files themselves
- +Architecture diagrams render from Mermaid and DBML instead of pasted screenshots
- +Agent personas are Markdown too — version them, review them, share them across teams
- +Retrospectives and epics keep their history instead of scrolling out of a chat window
// and everything shaped like them
Spec Kit, Kiro, AGENTS.md, CLAUDE.md, ADR templates, your own house convention — CoralDoc doesn't know or care which one you picked. It reads directories of Markdown. If the convention changes next quarter, the knowledge base doesn't need to change with it.
OpenSpec and BMAD Method are independent open-source projects. CoralDoc neither requires nor is affiliated with them — it just reads the files they produce.
section: use cases
One knowledge base, five different jobs
Unified doesn't mean everyone uses it the same way. Pick the seat you sit in.
the problem
Service docs rot because they live somewhere the code doesn't. An ADR written in a wiki is invisible during code review, and nobody updates it when the decision changes.
with CoralDoc
- ✓ADRs, READMEs, and service docs stay in the repo, edited in the same PR as the code
- ✓One sub-project per repo under a domain root — no monolithic wiki space
- ✓Schema and sequence diagrams as DBML and Mermaid, diffable line by line
- ✓Coding assistants read the same docs the humans do, straight from the working tree
section: structure
Structure knowledge the way your organization already works
Large companies don't keep everything in one wiki space — and they shouldn't. Model each domain — Platform, Payments, Product, People — as a top-level project holding cross-cutting docs, with sub-projects for repos, vaults, or archives underneath.
Each sub-project is a full content root — its own storage provider, path, comments, and permissions. The parent is organizational glue, not a forced merge of every source into one tree.
A domain isn't a special type: it's just a project that happens to have children. It holds its own pages, has its own provider and grants, and any project can become a parent later — or stay flat. That's the difference between a wiki space that grew forever and a hierarchy someone can navigate.
Grants stay per project. Hierarchy organizes; it never collapses access control.
section: ownership
The exit is the feature
Every knowledge tool is easy to adopt. The question worth asking during evaluation is what happens the day you leave — or the day the invoice arrives with a per-seat increase and a renewal deadline attached.
With CoralDoc there's nothing to extract, because nothing was ever converted. Pages are .md files. Boards are .canvas files in the open JSON Canvas format. Comments are files beside the pages they annotate. Metadata is YAML frontmatter. All of it sits in storage your organization already owns and already backs up.
Your knowledge base shouldn't cost more because your organization grew, and it shouldn't be held hostage because you stopped paying.
The same command works on day one, on day one thousand, and on the day you leave.
section: features
Enterprise collaboration on a file-first foundation
Everything an organization expects from a modern knowledge base — stored as files you control, not rows in a vendor's database.
editors/
Three editor modes
Monaco (VS Code's engine), WYSIWYG (Tiptap), or plain textarea — switch anytime, with side-by-side live preview and draft recovery when the network drops.
collab/
Comments, mentions, backlinks
Line-anchored comments with threaded replies, @mentions, tags, favourites, and a "linked from" panel — stored as Markdown files alongside your pages.
access/
Multi-tenant RBAC that scales
Tenant isolation from day one. Groups, custom roles, and scoped grants at project, folder, and page level — across every connected source.
history/
Git-backed audit trail
Auto-commit on every save with author attribution. Browse revisions, diff side-by-side, and restore — docs can sit in the same repo as the systems they describe.
canvas/
Native JSON Canvas
Create and edit .canvas boards in the browser — nodes, edges, groups, pan and zoom. The same open format Obsidian uses, not view-only.
render/
Technical content that works
Mermaid, DBML, Scalar/OpenAPI, in-browser PDF embeds, and syntax highlighting for 100+ languages — with a plugin SDK for PlantUML, GraphQL, or your own fence types.
render/ — spotlight
Diagrams that search, diff, and feed AI
A PNG of last year's schema tells you nothing about what changed or why, and it never appears in org-wide search. Describe the schema in DBML or a flow in Mermaid inside an ordinary code fence and it renders live — versioned line by line, greppable across the whole knowledge base, and directly readable by the assistants your engineers already use.
Change a column, see the diff, re-render. Try that with a screenshot.
renders as ↓
orders
id · uuid 🔑
customer_id · uuid
* ──── 1
customers
id · uuid 🔑
email · text ◆
section: migration
Review the diff
Most organizations run Confluence plus Notion plus SharePoint plus a few GitHub wikis, and still can't answer "where is the source of truth?" Here's what changes.
@@ your-organization @@ migrate: fragmented tools → unified knowledge base
-knowledge scattered across Confluence, Notion, drives, and wikis
+one knowledge base spanning Git, vaults, and object storage
-proprietary formats locked inside a vendor database
+plain Markdown + JSON Canvas with YAML frontmatter — portable forever
-"AI for docs" that only sees one tool's incomplete export
+AI-native: one corpus LLMs, RAG, and agents can use end to end
-diagrams as screenshots or third-party plugins
+native Mermaid, DBML, and editable canvas — greppable and model-readable
-API docs, runbooks, and handbooks in separate products
+OpenAPI, runbooks, ADRs, and handbooks in one navigable hierarchy
-page history locked in; export is a project
+in-app diff and restore, plus Git auto-commit with attribution
-one sprawling space per team that fragments or grows forever
+hierarchical projects: domain roots + sub-projects, each with its own storage
-inconsistent permissions in every tool
+tenant RBAC + groups + project/folder/page scoped grants
-per-seat pricing that scales with headcount, across multiple vendors
+no per-seat tax — your knowledge base shouldn't cost more because your org grew
Already on Confluence or Notion? CoralDoc can coexist — start with one domain or one team. Unification is connecting sources and copying Markdown, not a big-bang rip-and-replace.
section: your tools
Your tools are already CoralDoc clients
Because pages are plain files, there's no plugin to install and nothing proprietary to sync. Keep Obsidian for thinking. Keep VS Code, Cursor, JetBrains, or vim for editing next to the code. Changes land in CoralDoc with full attribution and history — and coding assistants read those same runbooks and ADRs straight from the repo.
Point CoralDoc at a folder containing .obsidian/ and it just works — wikilinks resolve, callouts render, PDF embeds open in-page.
One knowledge base, five editors and one agent — no sync layer required, because it's just files.
section: get started
Unify in days, not quarters
-
01
Stand up CoralDoc — self-hosted on your infrastructure, or managed cloud when you'd rather not run it.
-
02
Create a tenant for your organization and invite teams with roles that match how you already work.
-
03
Connect sources — Git repos, Obsidian vaults, S3 or Azure archives — nested under domain projects.
-
04
Write and collaborate: comments, canvas, Mermaid, OpenAPI, and the AI Writer across the whole graph.
-
05
Point your assistants and agents at the same files — one knowledge layer for people and models.
A preview of the self-hosted install. The public Docker image isn't out yet — it ships with the open alpha, and waitlist members get it first.
who it's for today
- ✓Teams whose docs already live in Git, vaults, or object storage
- ✓Organizations that need content ownership for compliance or procurement reasons
- ✓Anyone building RAG or agent workflows over internal knowledge
- ✓Early adopters happy to shape a product in alpha
not yet
- ×Public Docker image and managed cloud — both in progress
- ×Microsoft and Google SSO — GitHub SSO and email sign-in work today
- ×Automated Confluence import — bring Markdown by hand for now
- ×A support SLA. It's alpha, and priced accordingly.
"Your organization shouldn't need five tools to find one answer.
Your knowledge shouldn't be locked where AI can't reach it."
section: roadmap
Shipping next
CoralDoc is in alpha and actively developed. In rough order:
-
[ ]
Public Docker image
One command to a running knowledge base — docker compose up and you're writing.
-
[ ]
Cloud hosting — app.coraldoc.com
Same platform, zero ops. Your content stays plain files you can take with you.
-
[ ]
Microsoft & Google SSO
Joining GitHub SSO and email sign-in — enterprise identity for org-wide rollout.
-
[ ]
Confluence-to-Markdown converter
Make leaving the proprietary database a file copy, not a migration project.
list: early access
Join the early waitlist
Be first to hear when CoralDoc launches, and first to get the Docker image. Occasional product updates along the way. No spam.
✓ You're on the list.
We'll email with launch news and product updates.