Features

Everything that ships in the box.

A Markdown editor, a read-only public server, native Git versioning, draw.io + Mermaid diagrams, wiki links, tags, comments, search, and exports. No add-ons, no per-feature upsells.

WYSIWYG Markdown editor

A clean rich-text editor that writes plain Markdown to disk. Toggle to raw source any time. Your files stay readable in any text editor.

DocuCommit ships a WYSIWYG editing surface over flexmark, the single Markdown engine used everywhere in the product. Type in a familiar toolbar interface; the editor saves a clean .md file with YAML frontmatter. No proprietary blocks, no JSON document trees, just Markdown that diffs cleanly in Git.

Toggle to source view whenever you want to write Markdown by hand. Both views edit the same file.

Real draw.io diagrams

A full, self-hosted draw.io editor bundled in the editor. Works offline. Diagrams are stored as SVG next to your Markdown, no external service to break or pay for.

Most documentation tools either skip diagrams or push you to an external SaaS. DocuCommit ships the whole draw.io editor inside the editor, working entirely offline. A diagram is stored as its .drawio source plus a rendered SVG in the project’s _attachments/ folder, so it versions alongside the prose that references it.

Mermaid diagrams

Write flowcharts, sequence diagrams, and ERDs as plain text inside a fenced `mermaid` block. Both the editor and the server render them, and the source diffs cleanly in Git.

For diagrams you want to track in version control, a fenced mermaid block is the friction-free path. The render pipeline picks it up on both the editor and the server, so writers see the same picture readers do. Because the source is plain text inside the .md, every revision is a clean Git diff, no binary churn, no exported PNG drift.

Reach for the bundled draw.io editor when you need pixel-precise architecture boards; reach for Mermaid when the diagram is part of the prose.

Transclusion (include fences)

Embed one document inside another with an include fence. Edit a shared snippet once and it updates everywhere it's referenced, no copy-paste drift.

Reference any document from another with an include fence. The render pipeline pulls the live content at read time, so shared definitions, API tables, and boilerplate stay in sync across your library without manual copy-paste.

Code syntax highlighting

Highlight.js renders fenced code blocks on both the editor and the server, so what you see while writing is what readers see when they visit.

Fenced code blocks are highlighted with highlight.js on both surfaces. Pick a language tag, write the code, hit save. Readers get the same colours you do. No build step, no extra plugins.

Merge conflicts, without the terminal

Get updates, save snapshots, and publish from inside the editor, no terminal needed. When two people change the same page, a guided three-pane merge keeps the best of both.

Non-technical writers never touch the command line. DocuCommit runs the Git pull, commit, and push behind friendly Get updates and Publish buttons. If a teammate edited the same lines, a three-pane view shows your version, theirs, and an editable result you build with one click per change, plus a magic wand that auto-merges everything that doesn’t actually clash. And if a document changes or moves on disk while you’re still editing, the editor keeps your text instead of overwriting it silently.

Comments & @mentions

Thread discussions on any block of text without touching the source file. Comments live in a sidecar JSON so your Markdown stays clean and reviewable.

Comments are first-class on the server. Hover any paragraph, leave a comment, @mention a teammate. The thread is stored in a sidecar JSON file on the server, outside the Markdown. The .md itself never gets polluted with discussion markup, and Git history stays clean.

Email notifications & follows

Follow any document or get pinged when someone @mentions you. The server fires SMTP emails so people can stay in the loop without sitting in the app all day.

Subscribe to documents, projects, or your own mentions. The server sends SMTP email when relevant events fire, new comments, replies to a thread, edits to a document you follow. Wire it to any SMTP relay; no proprietary notification service required.

Document tags

Add a flat `tags:` list to any document's YAML frontmatter to group it across projects. The server builds a tag index so readers can pivot the library by topic, not just folder.

Folders model hierarchy; tags model topic. List tags in your frontmatter and the same document surfaces under every relevant tag, without duplicating files or sym-linking sections. The server maintains a tag index alongside the Lucene search index, and the tag pages let you browse the vocabulary already in use.

Git-native revision history

Every published change is a Git commit. Browse any past version, diff against current, and restore, without typing a single Git command.

There is no separate revision table to corrupt or migrate. Every version is just a commit. Both surfaces walk the Git log, render any past revision, and show diffs; the editor can also restore a prior version by writing the old body back to disk for you to snapshot and publish.

Multi-format export

Download any document or whole project as raw Markdown, self-contained HTML, or PDF, without external services. Your content travels with you.

Export a single document or an entire project. Markdown gives you the source of truth; self-contained HTML inlines styles and images for one-file sharing; PDF is ready for compliance, archival, or print. No SaaS round-trip.

Dual-surface read & write

Writers edit locally against their own Git checkout. A read-only server clones the repo and serves the rendered site to everyone else.

The split is intentional: the editor is a power tool for writers; the server is a zero-install reader for the rest of the org. Both render from the same .md files, and only the writer’s local Git commits change anything. The server never pushes.

Self-hosted, with a transparent licence check

A licence check on launch and a heartbeat keep activation valid. No document content, no usage analytics, no hostname leaves the device.

Your content stays on infrastructure you control: the desktop editor reads and writes a Git checkout on your machine, and the read-only server runs as a Docker container on your own infra. The only data that crosses the network is the licensing call (activation ID, hashed hardware fingerprint, OS and app version, and an HMAC-hashed IP) used to keep your seat valid, plus an optional update check against docucommit.se that sends no data and can be turned off. Document content, filenames, and usage telemetry never leave the device.

Ready to try it?

Run DocuCommit locally.

The desktop editor installs natively on Windows, macOS (Intel), and Debian/Ubuntu Linux; the read-only server runs as a self-hosted Docker container. Start the 14-day trial with no key, or paste your licence key on the download page for signed builds.