A documentation engine with no build step. Point it at a directory of markdown files and start serving — pages are rendered when requested, not ahead of time. Before serving, RW reads only each page's title and metadata, so even a 5,000-page site serves its first page in under a second.
Render the same markdown as Confluence bundles (XHTML plus diagrams and images) for your own tool to upload; RW never calls the Confluence API. Or embed it in Backstage with native plugins.
- CommonMark — standard markdown via pulldown-cmark
- Live reload — edit markdown, see changes instantly in the browser
- Diagram rendering — PlantUML, Structurizr, Mermaid, GraphViz, and 20+ formats via Kroki, in fenced code blocks or from files such as
.puml,.mmdand.vl.json - Tabbed content — group related content with
::::tabs/:::tabsyntax (Tabs) - Status badges — inline colored pill labels with Confluence status-macro parity
- Includes —
::include[_partials/warning.md]shows a shared markdown file in place of the line inrw serve,rw confluence renderand Backstage (Includes) - Project images and files —
shows PNG, JPEG, SVG and other image files from the project inrw serve, and[spec](spec.pdf)opens or downloads PDF, Office, CSV and ZIP files (Images and files) - GitHub-style alerts —
[!NOTE],[!TIP],[!WARNING], and more - Navigation and TOC — automatic sidebar, breadcrumbs, and table of contents
- Page metadata — YAML frontmatter or sidecar files for titles, descriptions, navigation order, explicit section/catalog and diagram names independent of URLs, and page-local integration attrs exposed by NAPI/core
- Wikilinks —
[[domain:billing::overview]]links a page by its section, so moving a section's directory doesn't break links (Wikilinks) - Confluence rendering — produce publish-ready bundles (XHTML + diagrams + images) for any Confluence publishing tool
- Backstage integration — embed docs with native Backstage plugins
# macOS (Homebrew)
brew install rwdocs/tap/rw
# macOS / Linux (shell)
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/rwdocs/rw/releases/latest/download/rw-installer.sh | sh
# Windows (PowerShell)
powershell -ExecutionPolicy Bypass -c "irm https://github.com/rwdocs/rw/releases/latest/download/rw-installer.ps1 | iex"Then serve your docs:
rw serveRW looks for markdown files in docs/ by default. Files and folders whose name starts with _ or . are not pages; _ is for text meant to be included in other pages, such as docs/_partials/warning.md. If docs/ has neither index.md nor README.md, the project root README.md is used as the homepage, including its frontmatter metadata.
Open http://localhost:7979 to see your site.
If you installed via the shell or PowerShell script, upgrade in place with:
rw updateUse rw update --check to see whether a newer release is available without
installing it. Homebrew users upgrade with brew upgrade rw instead.
RW uses rw.toml for configuration, automatically discovered in the current directory or any parent directory. rw uses the nearest ancestor containing rw.toml as the project root, or the current directory if there is none; a command fails if that root has no docs directory (or README.md homepage); pass --project-dir to choose the root.
[docs]
source_dir = "docs"
[diagrams]
kroki_url = "https://kroki.io"See the configuration guide for all options.
| Command | Description |
|---|---|
rw serve |
Start documentation server with live reload |
rw backstage publish |
Publish documentation bundles to S3 for Backstage |
rw confluence render |
Render markdown into a Confluence-publishable bundle (XHTML + diagrams + images) |
rw comment |
Read and write inline comments on project docs (for scripts and LLM agents) |
rw update |
Update rw to the latest release (self-update) |
- Configuration
- Page Metadata
- Wikilinks
- Confluence Rendering
- Diagram Rendering
- Tabs
- Images and files
- Includes
- Status Badges
- Comment CLI
- Embedding
Licensed under either of Apache License, Version 2.0 or MIT License, at your option.