A review‑first Markdown editor & Obsidian vault router for macOS.
Open a note, read it beautifully, then send it to the right vault folder — one keystroke each. Native Swift / SwiftUI · macOS 14+ · CMDS‑branded, light & dark.
cmdmd.cmdspace.work · Download · Website source
Most Markdown apps open into an editor. CmdMD opens into a rendered preview — reading comes first, editing is one keystroke away (like reviewing a pull request, not writing one). It speaks Obsidian‑flavored Markdown and acts as a router: capture or open a note, then file it into the correct vault folder with templates and rules.
| Preview — Light | Preview — Dark |
|---|---|
![]() |
![]() |
| Split (source + preview) — Light | Split — Dark |
|---|---|
![]() |
![]() |
The accent follows your appearance — CMDS Green in light, CMDS Pink in dark.
- Review‑first — launches into a rendered preview;
⌘1/⌘2/⌘3flips Source / Split / Preview. - Full Markdown — GitHub‑Flavored (tables, task lists, strikethrough) plus Obsidian
extensions:
[[wiki‑links]],#tags,> [!callouts],==highlights==. - Mermaid 11 + KaTeX — diagrams and math (
$…$,$$…$$,\[…\],\(…\)) with\ce{}chemistry. - 7 preview themes — CMDS, GitHub, Obsidian, Minimal, Sepia, Newsprint, Dark Pro — plus syntax‑highlighted source themes that follow light / dark.
- Obsidian vault router — auto‑detects your installed vaults, sends notes to any folder, with templates, routing rules (auto‑route by tag / filename / content), and a per‑vault Inbox.
- Omnisearch (
⇧⌘O) — fuzzy file‑name + debounced content search. - Command palette (
⌘P) and fully remappable shortcuts (Settings → Shortcuts). - Tabs, split scroll‑sync, drafts, Quick Capture (menu bar + global hotkey), a frontmatter inspector, slug‑accurate TOC, and HTML / PDF export.
Grab the latest build from the Releases page:
CmdMD-<version>.dmg— open it and dragCmdMD.apponto the Applications shortcut.CmdMD-macos.zip— unzip and moveCmdMD.appto/Applications(same thing, no mount).
The app is ad‑hoc signed, so on first launch Gatekeeper may warn. Either right‑click → Open, or clear the quarantine flag:
xattr -dr com.apple.quarantine /Applications/CmdMD.appRequires Xcode 15+ (Swift 5.9+) on macOS 14+.
git clone https://github.com/johnfkoo951/CmdMD.git
cd CmdMD
swift build # debug build
swift run # run it
swift test # 57 tests
swift build -c release # release binary
bash scripts/package_app.sh # → dist/CmdMD.app + dist/CmdMD-macos.zipDefaults mirror common Obsidian bindings; every action is remappable in Settings → Shortcuts.
| Action | Shortcut | Action | Shortcut | |
|---|---|---|---|---|
| Command palette | ⌘P |
Send to vault | ⇧⌘T |
|
| Omnisearch | ⇧⌘O |
Auto‑route send | ⌃⌘T |
|
| Source / Split / Preview | ⌘1 ⌘2 ⌘3 |
Quick capture | ⇧⌘M |
|
| Toggle left sidebar | ⌃⌘← |
New draft | ⌘N |
|
| Toggle right sidebar | ⌃⌘→ |
Save / Save As | ⌘S ⇧⌘S |
|
| Copy file path | ⌥⌘C |
Find in document | ⌘F |
CmdMD connects to your Obsidian vaults (it reads Obsidian's own registry to offer one‑click
connect). When you Send (⇧⌘T), a note is copied or moved into a destination folder:
- A global default send folder (Settings → Vaults) applies everywhere…
- …unless a vault sets its own Inbox, which takes priority.
- Routing rules auto‑route by tag, filename, frontmatter, or content (
⌃⌘T). - Templates rewrite the filename and wrap the body (
{{title}},{{date}},{{content}}, …).
Swift / SwiftUI · swift‑markdown ·
Highlightr · Yams ·
Mermaid & KaTeX via CDN. App data lives in ~/Library/Application Support/CmdMD/.
The cmdmd://open?note=<name> URL scheme resolves a note against the open folder and vaults.
MIT © 2026 CMDSPACE · 구요한




