Skip to content

OddMiss/domd

 
 

Repository files navigation

cf0de0fa6d1db4ab27f3f992bf8c81bb_WC-EditVideo_1_30fps

DOMD

DOMD is a WYSIWYG editor built on a from-scratch, Markdown-native rendering engine.

  • 20 KB gzipped kernel (zero runtime dependencies beyond React)
  • 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 1 MB open

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.


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

Local folder access (web)

To browse and edit local markdown files from the web editor, set LOCAL_MARKDOWN_DIR in config/server.ts to the folder you want to expose (default: /tmp/domd-local), then run npm run dev or npm run build && npm run start. Ensure the folder exists before starting the server.

Dev server via tunnel

If you access the dev server through a tunnel (for example, *.dev), Next.js blocks cross-origin requests to /_next/webpack-hmr by default. This repo uses next.config.ts (not next.config.js). Add your tunnel host to the existing allowedDevOrigins list (keep the other options), then restart the dev server:

// next.config.ts
const nextConfig = {
  images: { unoptimized: true },
  allowedDevOrigins: ["home3000.domd.app", "your-tunnel.example.dev"],
};

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.


License

DOMD is dual-licensed.

Application layer & helper libraries — All source in this repository, including @do-md/utils and @do-md/zenith, is MIT licensed; see LICENSE. Free to read, modify, and self-host.

Core rendering engine@do-md/dist is distributed as a build artifact only, under PolyForm Noncommercial 1.0.0. Any commercial use requires prior written authorization.


Feedback

About

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 56.2%
  • Rust 28.8%
  • Shell 7.9%
  • Swift 3.3%
  • CSS 2.6%
  • JavaScript 1.2%