I like Notion for writing. I do not like where the files go.
Obsidian is closer to what I want — real files on disk — but multi-device sync is still a product you bolt on. Git already solved history, private hosting, and “this copy is the source of truth.” What I was missing was a desktop shell that treats a Git repo as the workspace, instead of wrapping another proprietary store.
So I built UNote. 0.2.0 is out.
Git-first desktop notes. Your files stay in your private Git repository. The app edits, navigates, and syncs. It does not own the data.
UNote
Git-first desktop notes. Your files stay in your private Git repository
English · 简体中文
Features
-
Markdown — rich editing on top of real
.mdfiles (MDXEditor) - Canvas — freeform drawing (Excalidraw)
- Mind maps — node-based outlines (Mind Elixir)
- Diagrams — Draw.io via diagrams.net
- Folders — nested directories, no extra metadata layer
-
Trash — deleted notes move to
.trashin the repo - Git sync — edit locally first, then commit and push
-
Share — read-only Cloudflare Quick Tunnel snapshot; the key stays in the URL fragment (
#…) - i18n — Chinese and English UI
-
Assets — images live in
.assets/and can be referenced from notes - Themes — light, dark, or follow the system
- Updates — in-app check against the latest GitHub Release
Install
Download the Windows NSIS installer from Releases.
macOS and Linux builds are not available yet.
Git providers
Provider
- Installer: GitHub Releases
- Source: MIT
Honest limits up front: Windows x64 only. Sign-in is Gitee today (a Git host a lot like GitHub). GitHub / GitLab login and macOS / Linux builds are on the roadmap — not in this release.
The workspace is the repo
Open the folder. That is the notebook.
| Kind | On disk |
|---|---|
| Notes | .md |
| Canvas | Excalidraw |
| Mind maps | Mind Elixir |
| Diagrams | Draw.io |
| Folders | normal directories |
There is no extra ledger file. v0.2.0 dropped the old notebooks.json layer. Nested folders are just nested folders. Images live in .assets/. Deleted notes go to .trash in the same repo, so Git still sees the move.
If UNote disappeared tomorrow, you would still have a Git repository full of ordinary files.
Local first, then Git
Edits hit the filesystem first. When the network is up, UNote commits and pushes. When it is not, you keep writing.
Credentials go into the OS keyring. Notes go into your private repo. The


Top comments (0)