Native macOS Markdown editing for people who want local files, split preview, and a lighter workflow than a full knowledge base.
CleanMD is a native macOS Markdown editor for folders and repos you already have. Open a file, keep the source and rendered result side by side, and verify code fences, tables, links, math, and adjacent YAML without a plugin stack.
The public website lives in docs/ and is intended for GitHub Pages.
- Overview page:
https://hosioobo.github.io/CleanMD/ - Tracked download route:
https://hosioobo.github.io/CleanMD/download/ - GitHub Releases fallback:
https://github.com/hosioobo/CleanMD/releases/latest
- Native macOS app built with SwiftUI and AppKit
- File explorer, editor, and live preview in one window
- Folder and History tabs for local navigation
- Syntax highlighting for fenced code blocks
- KaTeX-powered math rendering
- YAML files rendered as formatted code with preserved indentation
- Optional synchronized scrolling between editor and preview
- Offline bundled renderer assets
- Opens
.md,.markdown,.yml, and.yaml - Drag and drop for supported text documents
The first two screenshots are the existing light and dark captures. The third uses the repo-local demo/ folder so the visible files and content are easy to reproduce.
The demo below is assembled from real CleanMD window captures using the files in demo/.
Download the MP4: docs/assets/demo/cleanmd-demo-folder.mp4
Use these repo-local files when you want to reproduce the current README and website media:
demo/overview.mddemo/settings.yamldemo/technical-notes.md
- macOS 13 or later
- Xcode command line tools for local builds
Regular users should start with the website or GitHub Releases:
- Website overview:
https://hosioobo.github.io/CleanMD/ - Primary download path:
https://hosioobo.github.io/CleanMD/download/ - GitHub Releases fallback:
https://github.com/hosioobo/CleanMD/releases/latest
- Download the latest release from the website or GitHub Releases.
- Unzip the downloaded
CleanMD-v*.zipfile. - Move
CleanMD.appto your Applications folder if desired. - Open
CleanMD.app.
CleanMD is currently packaged and ad-hoc signed, but not notarized yet. If macOS pauses the first launch, Control-click the app, choose Open, and confirm once.
swift build --disable-sandbox -c release
./scripts/run-smoke-tests.sh
NO_OPEN=1 ./build.shThis project is built with Swift Package Manager and a shell packaging script. ./build.sh builds the executable, packages CleanMD.app in the repository root, copies the bundled assets, applies ad-hoc signing, and launches the app. Use NO_OPEN=1 to skip launching the app in headless or sandboxed environments.
CleanMD/: Swift source files and bundled preview assetsdemo/: reproducible Markdown and YAML files used for current screenshots and demo mediadocs/: GitHub Pages website and download routebuild.sh: local packaging script forCleanMD.appInfo.plist: app metadata and document type registrationmakeicon.swift: script used to generate app icon assets
git clone [email protected]:hosioobo/CleanMD.git
cd CleanMD
swift build
./build.shPlease keep the app lightweight and offline-friendly. If you change bundled third-party assets, update THIRD_PARTY_NOTICES.md.
- See
CHANGELOG.mdfor the in-repo release history. - See GitHub Releases for the packaged downloads and published release pages.
- Versioning policy and release checklist:
VERSIONING.md - Prepare release metadata:
./scripts/prepare-release.sh <version> <build> - Build a versioned release zip:
./scripts/package-release.sh - Run the full GitHub release flow:
./scripts/release.sh <version> <build> - Create the GitHub Release:
./scripts/create-github-release.sh <version> - CI runs on GitHub Actions via
.github/workflows/ci.yml
CleanMD is available under the MIT license. See LICENSE.



