ForkLeaf
Health Gecti
- License รขโฌโ License: Apache-2.0
- Description รขโฌโ Repository has a description
- Active repo รขโฌโ Last push 0 days ago
- Community trust รขโฌโ 14 GitHub stars
Code Uyari
- fs module รขโฌโ File system access in .github/workflows/diagram-review.yml
Permissions Gecti
- Permissions รขโฌโ No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
๐ 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.
Notes that outlive the app that made them.
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
Why ForkLeaf?
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.
Features
โ๏ธ Write the way you likeRich text, split source and preview, or raw Markdown, switchable per note. |
![]() |
![]() |
๐ Notes that link to each other
|
๐ A real diagram studioMermaid diagrams drawn on a canvas or typed with autocomplete. A gallery of |
![]() |
And much more:
- ๐ Read PDFs beside your notes. Quote a passage and the citation records the sentence, not the page number.
- ๐ Local-first sync. Rapid edits coalesce into one clean commit. Offline changes queue up, and conflicts are shown, never silently merged.
- ๐ต๏ธ History and review. Every version of every note, blame for prose, a timeline replay of how your notebook grew, and spaced reading.
- ๐ฟ Branches and pull requests. Write on any branch, or propose changes to a repository you can't push to.
- ๐ Publish a note, a book or a digital garden to GitHub Pages, with backlinks and a link map.
- ๐งฉ Browser extension. Save pages, selections and highlights from anywhere on the web to your inbox.
- ๐ค AI assistants. A built-in MCP server lets Claude and other assistants search, read and write your notes as ordinary commits.
- ๐จ Themes, keyboard shortcuts for everything, and installable as an app on desktop.
See the full list on the features page or in features.md.
Getting started
Use it online
- Go to www.forkleaf.in and click Continue with GitHub.
- Pick an existing repository or let ForkLeaf create a private one for you.
- Start writing. Every change is saved to your repository as a commit.
You can also try it without an account:
notes stay in your browser until you connect GitHub.
Run it locally
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:
- Homepage URL:
http://localhost:3000 - Authorization callback URL:
http://localhost:3000/api/auth/callback
- Homepage URL:
Copy the example environment file and fill in your app's values:
cp .env.example apps/web/.env.localGITHUB_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:3000Generate the session secret with
openssl rand -base64 32, then restartpnpm 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.
How it works
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.
Repository layout
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 |
Development
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)
Community
- ๐ฌ Discussions: questions, ideas and showing what you've built.
- ๐ Issues: bug reports and feature requests.
- ๐ Wiki: guides, FAQ and recipes from the community.
- โ๏ธ Email: [email protected] for anything private. Replies sometimes land in spam, so check there if you haven't heard back.
Contributing
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.
License
Apache License 2.0 ยฉ ForkLeaf contributors.
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi



