erictli/scratch

TypeScript
macOSWindowsLinux

开源替代 Notion

A minimalist, offline-first markdown note-taking app

notesmarkdownoffline-firstnote-takingtypescript
Star 增长趋势
Star
1.6k
Forks
152
周增长
+4
Issues
55
1.2k1.4k
26年2月26年4月26年6月26年9月
制品库npm
README

Scratch

Scratch

A minimalist, offline-first markdown note-taking app for macOS, Windows, and Linux.

macOS Windows Linux

Website · Releases

Features

  • Offline-first - No cloud, no account, no internet required
  • Markdown-based - Notes stored as plain .md files you own
  • WYSIWYG editing - Rich text editing that saves as markdown
  • Preview mode - Open any .md file via drag-and-drop or "Open With" without a notes folder
  • Markdown source mode - Toggle to view and edit raw markdown (Cmd+Shift+M)
  • Syntax highlighting - 20 languages with GitHub-inspired color scheme
  • Mermaid diagrams - Render flowcharts, sequence diagrams, and more in fenced code blocks
  • KaTeX math - Render block $$...$$ math equations
  • Wikilinks - Type [[ to link between notes with autocomplete
  • Slash commands - Type / to quickly insert headings, lists, code blocks, diagrams, and more
  • Focus mode - Distraction-free writing with animated sidebar/toolbar fade (Cmd+Shift+Enter)
  • Edit with Claude Code, OpenAI Codex, OpenCode, or Ollama - Use your local CLI to edit notes with AI (including fully offline via Ollama)
  • Works with other AI agents - Detects external file changes
  • Folders - Opt-in collapsible folder tree with drag-and-drop to organize notes
  • Keyboard optimized - Lots of shortcuts and a command palette
  • Customizable - Theme, typography, page width, and RTL text direction
  • Git integration - Optional version control with push/pull for multi-device sync
  • Lightweight - 5-10x smaller than Obsidian or Notion

Screenshot

Screenshot

Installation

macOS

Homebrew (Recommended)

brew tap erictli/tap
brew install --cask erictli/tap/scratch

Manual Download

  1. Download the latest .dmg from Releases
  2. Open the DMG and drag Scratch to Applications
  3. Open Scratch from Applications

Windows

Download the latest .exe installer from Releases and run it. WebView2 will be downloaded automatically if needed.

Linux

Download the latest .AppImage or .deb from Releases.

From Source

Prerequisites: Node.js 18+, Rust 1.70+

macOS: Xcode Command Line Tools · Windows: WebView2 Runtime (pre-installed on Windows 11)

git clone https://github.com/erictli/scratch.git
cd scratch
npm install
npm run tauri dev      # Development
npm run tauri build    # Production build

Keyboard Shortcuts

Scratch is designed to be usable without a mouse. Here are the essentials to get started:

Shortcut Action
Cmd+N New note
Cmd+D Duplicate note
Delete Delete note
Cmd+Backspace Delete note
Cmd+P Command palette
Cmd+K Add/edit link
Cmd+F Find in note
Cmd+Shift+C Copy & Export menu
Cmd+Shift+M Toggle Markdown source
Cmd+Shift+Enter Toggle Focus mode
Cmd+Shift+F Search notes
Cmd+R Reload current note
Cmd+, Open settings
Cmd+\ Toggle sidebar
Cmd+B/I Bold/Italic
Cmd+=/-/0 Zoom in/out/reset
↑/↓ Navigate notes

Note: On Windows, use Ctrl instead of Cmd for all shortcuts.

Many more shortcuts and features are available in the app—explore via the command palette (Cmd+P / Ctrl+P) or view the full reference in Settings → Shortcuts.

Built With

Tauri · React · TipTap · Tailwind CSS · Tantivy

Contributing

Scratch is mostly stable and intentionally minimal, so I'm no longer monitoring issues and PRs regularly. You're welcome to open them, but I can't guarantee I'll get to everything, and it may take a while when I do.

What makes Scratch special is its minimal feature set and focus on user experience. We're not trying to build Obsidian or Notion, so not every feature will be a fit. If you want to make major changes or take Scratch in a new direction, you should fork it – it's MIT licensed.

If you open a PR: keep it small and focused, and try to address any CodeRabbit comments. I generally won't go back and forth with review comments – if I merge, I'll make any additional changes directly.

License

MIT

相关仓库
toeverything/AFFiNE

There can be more than Notion and Miro. AFFiNE(pronounced [ə‘fain]) is a next-gen knowledge base that brings planning, sorting and creating all together. Privacy first, open-source, customizable and ready to use.

TypeScriptnpmappOthereditorcrdt
affine.pro
72.3k5.2k
TriliumNext/Trilium

Build your personal knowledge base with Trilium Notes

TypeScriptnpmappGNU Affero General Public License v3.0knowledge-graphnote-taking
triliumnotes.org
37.8k2.5k
denysdovhan/wtfjs

🤪 A list of funny and tricky JavaScript examples

JavaScriptnpmtutorialDo What The F*ck You Want To Public Licensejavascriptspecification
bit.ly/wtfjavascript
37.7k2.7k
xournalpp/xournalpp

Xournal++ is a handwriting notetaking software with PDF annotation support. Written in C++ with GTK3, supporting Linux (e.g. Ubuntu, Debian, Arch, SUSE), macOS and Windows 10. Supports pen input from devices such as Wacom Tablets.

C++appGNU General Public License v2.0notetakingcrossplatform
xournalpp.github.io
15.3k1.1k
streetwriters/notesnook

A fully open source & end-to-end encrypted note taking alternative to Evernote.

TypeScriptnpmappGNU General Public License v3.0note-takingnotes-app
notesnook.com
14.6k1k
trimstray/nginx-admins-handbook

How to improve NGINX performance, security, and other important things.

ShelltutorialMIT Licensenginxnginx-proxy
14.3k1.1k
seaswalker/spring-analysis

Spring源码阅读

JavaMaventutorialspringnotes
13.7k4.1k
flxzt/rnote

Sketch and take handwritten notes.

Rustcrates.ioappGNU General Public License v3.0gtkgtk4
rnote.flxzt.net
11.6k490
hackjutsu/Lepton

💻 Democratizing Snippet Management (macOS/Win/Linux)

JavaScriptnpmappMIT Licenseelectronredux
hackjutsu.com/Lepton
10.3k477
hackmdio/codimd

CodiMD - Realtime collaborative markdown notes on all platforms.

JavaScriptnpmappGNU Affero General Public License v3.0hackmdcollaboration
hackmd.io/c/codimd-documentation
10.1k1.1k
QianMo/Game-Programmer-Study-Notes

:anchor: 我的游戏程序员生涯的读书笔记合辑。你可以把它看作一个加强版的Blog。涉及图形学、实时渲染、编程实践、GPU编程、设计模式、软件工程等内容。Keep Reading , Keep Writing , Keep Coding.

tutorialgame-developmentnotes
10k1.8k
GcsSloop/AndroidNote

安卓学习笔记

JavaMaventutorialandroidgcssloop
gcssloop.com
9.3k2.1k