A local-first workspace for Markdown notes, flashcards, reading screens, and knowledge graphs. Your content stays in Git; run the interface locally or deploy with Docker, Docker Compose, or Vercel.
Live Demo · Flashcard Demo · Example Workspace
Local-first tools keep files on your device; cloud-document tools give you a browser and multi-device experience. MyGitNotes points both ways of working at the same Markdown and Git workspace. There is no second cloud copy to export, import, or reconcile.
Markdown is the content source, Git records and publishes changes, and the repository owner controls credentials and access. A local checkout, Docker container, or Vercel deployment provides the interface and MCP endpoint; remote mode reads and writes the selected GitHub or GitLab repository.
One repository uses two branches in separate worktrees:
- core contains product source, packages, tests, scripts, and documentation.
- main contains workspace configuration, notebooks, assets, and workspace Agent settings.
Requires Node.js 22+, pnpm 9+, and Git 2.42+. Local mode needs no OAuth account.
git clone --branch core --single-branch https://github.com/wayne930242/MyGitNotes.git mygitnotes
cd mygitnotes
pnpm install
pnpm build # builds the packages the bootstrap script needs
pnpm bootstrap-workspace # creates the main worktree in ./workspace (ignored by Git), writes MYGITNOTES_LOCAL_PATH to .env, and sets up the upstream remote
pnpm devBootstrap renames the MyGitNotes remote from origin to upstream (or adds upstream when origin is already your repository), so origin can be your own repository while pnpm update-core keeps fetching Core from upstream. To keep your notes in your repository, create an empty one and push both branches:
git remote add origin <your-repository-url>
git push -u origin core mainOpen http://localhost:5173; the new workspace appears in the Notes view. To use an existing workspace, set MYGITNOTES_LOCAL_PATH in .env to its absolute path, or run REPO_ROOT=/absolute/path/to/workspace pnpm dev.
The deployment guide covers each path step by step:
- Vercel through GitHub Actions sparse checkout (default), or through the Vercel Git integration
- Docker Compose or plain Docker with a remote repository, optionally behind a reverse proxy
- A local checkout inside a container
- GitLab as the note source
- Private R2 assets
Run pnpm update-core from a clean core checkout; it fast-forwards core from upstream/core. Then pnpm install && pnpm dev. Hosted GitHub workspaces update from Settings. See Core updates and Update and migrate.
- Notes use ordinary Markdown with optional YAML frontmatter; Git preserves history and records explicit commits.
- Browse notes in List, Card, or Kanban views; search full text, manage folders and files, and explore a knowledge graph.
- Screen lanes organize notebook content; Markdown pages can also become flashcards.
- Choose from nine palette families, each with light and dark variants. Flexoki is the default; choices are saved in the browser.
- Connect local agents through stdio or remote agents through Streamable HTTP MCP with named read-only or write grants.
- The Files page manages notebook folders, notes, text files, and attachments: 3 MiB uploads, 5 MiB reads and changes, up to 200 changed files per operation.
- Deployment guide
- Agent and developer documentation
- Architecture
- MCP interface and security model
- Demo workspace
- Study and flashcard guide
MIT
