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.
翻译准备中
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证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.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 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.