TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
A local-first Markdown workspace whose storage is a GitHub repository you own. Wikilinks, backlinks, full-text search, a visual Mermaid studio, offline editing and PDF/Word/HTML export — over plain .m
ProductivityTypeScript · CSSGitHub @praneeth132006OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Free, open-source Markdown notes that live in your own GitHub repo. Wikilinks, backlinks, offline search, Mermaid diagram studio, PDF reading and real version history, with no lock-in.
Taken from the repository README
Loading the full README.
Read the full README ↗A full Markdown workspace whose database is a GitHub repository you already own. Linked notes, offline search, a visual diagram studio and real version history, with nothing stored on our servers and nothing to be locked out of.
Open ForkLeaf · Try it without an account · Documentation · Discussions · Wiki · Changelog
Most note apps ask you to trust them with your writing. ForkLeaf doesn't hold your
notes at all. Every note is a plain .md file in a GitHub repository you own.
| 🗂 Storage | Your GitHub repository. Nothing is stored on our servers. |
| 🕰 History | Ordinary git commits. git log your notes, blame a paragraph. |
| ✈️ Offline | Everything is written to IndexedDB first, then pushed. |
| 📤 Export | PDF, HTML, Word, Markdown, plain text and JSON, all in the browser. |
| 🌐 Publishing | Public pages, books and digital gardens served by GitHub Pages. |
| 🔓 Lock-in | None. Clone the repository and every note is still there. |
Free, all of it, with no tiers. The expensive part of a notes app is storage, and ForkLeaf has none.
Rich text, split source and preview, or raw Markdown, switchable per note.
Slash commands, a ⌘K command palette, a properties panel that edits YAML
frontmatter, and live stats and outline for every note.
[[Wikilinks]] in the Obsidian dialect, with hover previews, backlinks quoted at
the line they were written on, and links to notes you haven't written yet.
Full-text search ranks every word of every note, offline.
Mermaid diagrams drawn on a canvas or typed with autocomplete. A gallery of 14 templates, and node positions that survive the round trip between the visual builder and the source.
And much more:
See the full list on the features page or in features.md.
You can also try it without an account: notes stay in your browser until you connect GitHub.
Requirements: Node.js 20.9+ and pnpm 9+.
git clone https://github.com/praneeth132006/ForkLeaf.git
cd ForkLeaf
pnpm install
pnpm dev
Open http://localhost:3000/editor. With no configuration, ForkLeaf runs in local mode: fully functional, with notes stored in your browser. This is also how the test suite and CI exercise the app.
Go to GitHub → Settings → Developer settings → OAuth Apps → New OAuth App and set:
http://localhost:3000http://localhost:3000/api/auth/callbackCopy the example environment file and fill in your app's values:
cp .env.example apps/web/.env.local
GITHUB_OAUTH_CLIENT_ID=your_client_id
GITHUB_OAUTH_CLIENT_SECRET=your_client_secret
SESSION_SECRET=generate_with_openssl_rand_base64_32
NEXT_PUBLIC_APP_URL=http://localhost:3000
Generate the session secret with openssl rand -base64 32, then restart pnpm dev.
ForkLeaf requests the repo scope because it writes to private repositories;
public_repo is offered on the sign-in page for anyone keeping notes in public
repositories only.
flowchart LR
You([You type]) --> Editor
Editor --> Store[(IndexedDB)]
Store --> Queue[Change queue]
Queue --> API[Next.js API route]
API --> GH[(Your GitHub repo)]
subgraph Browser
Editor
Store
Queue
end
Your GitHub token lives only on the server, encrypted into an httpOnly cookie. The
browser talks to /api/gh/*, never to GitHub directly, so no script on the page
can read your token. More in docs/architecture.md.
This is a pnpm + Turborepo monorepo.
| Package | Responsibility |
|---|---|
apps/web | Next.js app: auth, API routes, publishing, the editor shell and docs |
apps/extension | The "Save to ForkLeaf" browser extension |
@forkleaf/editor | React editing surfaces: rich text, source, split and the diagram studio |
@forkleaf/store | IndexedDB storage, change queue, sync engine, conflicts, search index |
@forkleaf/github-client | GitHub REST client: trees, files, atomic multi-file commits |
@forkleaf/markdown-engine | Frontmatter, parsing, sanitised rendering, wikilinks |
@forkleaf/diagrams | Mermaid rendering, templates, autocomplete, visual-builder graph model |
@forkleaf/exporter | Client-side PDF, HTML, DOCX, Markdown and ZIP export |
@forkleaf/pdf | PDF text extraction, in-document search, durable citations |
@forkleaf/mcp | MCP server for AI assistants |
@forkleaf/types | Shared domain model |
pnpm dev # start the web app
pnpm test # run the test suite
pnpm typecheck # typecheck every package
pnpm lint # lint
pnpm build # production build
pnpm check # everything above, in order (run this before a pull request)
Contributions of every size are welcome, from a typo fix to a new feature. Read CONTRIBUTING.md for setup, conventions and good first issues, and please follow the Code of Conduct.
Found a security issue? Please don't open a public issue. See SECURITY.md.
If ForkLeaf is useful to you, a ⭐ on the repository helps other people find it.
Apache License 2.0 © ForkLeaf contributors.