Skip to content

do-md/domd

Repository files navigation

cf0de0fa6d1db4ab27f3f992bf8c81bb_WC-EditVideo_1_30fps

DOMD

DOMD is a WYSIWYG Markdown editor built on a 20KB, from-scratch, Markdown-native engine for human editing and AI streaming.

  • 20 KB gzipped kernel (zero runtime dependencies beyond React)
  • Streams and edits 20,000-line Markdown documents smoothly
  • Input and rendering happen in lockstep — cursor stays steady, no lag, no flicker

Try on Web

Download for Mac: Apple Silicon · Intel

English · 简体中文 · 日本語

Warning

v0.2.0 is out — improved editing experience (Enter / Tab / Delete bugs fixed) plus built-in auto-update (no more manual DMG re-downloads). Update now.


Markdown-native

DOMD's WYSIWYG happens directly on Markdown.

Parsing, rendering, editing — engineered for Markdown WYSIWYG from the first line of code.

It is not built on top of ProseMirror, Slate, Lexical, or any general-purpose rich-text framework.

DOMD's edit model serves Markdown directly.


Kernel

DOMD's kernel is a from-scratch Markdown WYSIWYG editor engine.

It is driven by a single source of truth — data — with immutable state. Typing, undo/redo, incremental streaming AI injection, and chunked file loading are all modeled as the same kind of state change inside the kernel.

This makes editing behavior deterministic, state always traceable, and rendering happens only where changes occur.

The entire editing stack fits in 20 KB gzipped.


Instant large-file opening

2026-05-25.16.13.33_compressed.mp4

A 5 KB note and a 1 MB document open at virtually the same perceptual speed.

In Finder, press space — DOMD's own Quick Look extension takes over rendering.


Streaming

AI models emit Markdown token by token, often splitting in the middle of syntax. DOMD ingests those streams chunk by chunk and renders them live — open fences, half-built tables, and partial lists render correctly mid-stream, then absorb their real terminators without flicker when they arrive. Comfortable at any chunk size, through 20,000-line documents and beyond.

Try the streaming playground


macOS

The Mac experience is built to the bar of system apps. Loading a rendered .md feels close to the system opening a .txt.

The purest Markdown preview and editing — no project tree, no sidebar, no tabs, no sync, no account. Files stay on your device.

Download for macOS: Apple Silicon · Intel

Web

Open the editor and start writing WYSIWYG in the browser — or drag a .md straight onto the page to edit it in place. Everything runs locally; files never leave your device.

https://www.domd.app


CLI

The macOS build ships with a command-line tool domd-cli that lets agents drive the window directly.

It supports opening new windows, streaming writes, and rewriting selections. A model's streaming response can be piped straight into domd-cli insert — tokens land in the document as they arrive and render as rich text in real time.

The demo at the top of the page was recorded from an Alfred workflow that calls the GPT API and streams the response incrementally into the document.


Build

Web app (Windows)

Prerequisites

  • Windows 10/11
  • Node.js (LTS) with npm
  • Git (optional, for cloning)

Steps

  1. Open PowerShell or Windows Terminal in the repo root.
  2. Install dependencies:
    npm install
  3. Start the dev server:
    npm run dev
    Then open http://localhost:3000.
  4. Build and run production:
    npm run build
    npm run start
  5. Optional lint:
    npm run lint

Native (macOS only)

npm run tauri dev

Windows native builds are not currently supported.


Licensing

DOMD is a product-first project: the application layer is open-source where applicable, while the editor engine is separately licensed.

The application layer, including the macOS app, web app, and helper libraries, is open-source where applicable and intended for learning, personal use, contribution, and transparency.

The core editor engine, @do-md/dist, is distributed as a prebuilt build artifact under the PolyForm Noncommercial 1.0.0 license. It includes DOMD's Markdown editing and rendering capabilities.

You may use @do-md/dist for evaluation, personal projects, non-commercial projects, including non-commercial open-source projects, experiments, and prototypes.

Commercial use requires prior written authorization. This includes commercial embedding, SaaS/product integration, redistribution, or offering DOMD as part of a paid product, SDK, editor component, or hosted service.

For commercial licensing, please contact the project author.


Feedback