ForkLeaf
Notes that outlive the app that made them.
A full Markdown workspace whose database is a GitHub repository you already own. Wikilinks and backlinks, offline full-text search, a visual Mermaid diagram studio, PDF reading with sentence-level citations, branches and pull requests, publishing to GitHub Pages and a built-in MCP server so Claude can read and write your notes as ordinary commits. Nothing is stored on ForkLeaf's servers — there is no database to be locked out of.
Every notes app asks you to trust it with your writing
Notes are the one kind of file you expect to outlive the software that made them, and they are the kind most often held hostage. Your history lives in someone's proprietary revision table, your export is a lossy afterthought, and the free tier ends at the storage limit.
The lock-in isn't malice, it's architecture. Once an app owns the database, leaving means writing a migration — so most people don't, and the notes stay wherever they were first typed.
Don't hold the notes at all
ForkLeaf has no note storage. On first sign-in it asks which GitHub repository to use — one you already have, optionally scoped to a subfolder, or a new one it creates only when you ask. Every note is a plain .md file committed there.
That one decision answers several questions at once. Version history is git history. Sync is a push. Backup is a clone. Sharing is a commit to docs/ served by GitHub Pages. And the app is free with no tiers, because the expensive part of a notes app is storage and this one has none.
Local-first, so the network is never in the way of typing
Edits are written to IndexedDB immediately and pushed afterwards. Changes made offline queue and drain on reconnect; closing the tab loses nothing. If a note changed both locally and on GitHub, you are asked what to keep rather than having one side silently overwritten.
Committing per keystroke would turn the repo into noise, so rapid edits to one note coalesce into a single pending change and a commit made minutes ago is amended rather than stacked. The result is a git log a human can actually read.
Four rules the app is built on
A workspace, not a text box
Everything below runs client-side against the notes already on your machine — which is why it all still works with the network off.
- Three editing modes: rich text, split source/preview, raw markdown
- [[Wikilinks]] in the Obsidian dialect — plain text in the file
- Backlinks that quote the line they were written on
- Frontmatter panel, so notes stay portable to Obsidian and Hugo
- BM25 full-text search over every note, in-browser and offline
- Visual Mermaid builder — six diagram types drawn, not typed
- 14 diagram templates and a source editor with plain-language errors
- Diagrams stored as normal ```mermaid blocks, so github.com renders them
Open it, connect a repo, start writing
Sign in with GitHub and pick the repository your notes should live in. It installs as a desktop app too, and registers itself with the operating system as a Markdown editor — so double-clicking a .md file opens it in ForkLeaf and ⌘S writes that file back where it came from, not to a copy in Downloads.
Nothing is created on your account without you asking, and unpublishing a shared note is a commit that deletes a file.