Skip to content

Repository files navigation

Scribe ✍️

Local-first Markdown notes, visual sketches, and fully on-device transcription for Windows and macOS.

Your notes stay as ordinary files in folders you control—no database, cloud, or account required.

Scribe Markdown workspace

✨ Highlights

  • Plain Markdown: rich, WYSIWYG editing backed by portable .md files.
  • Local transcription: record your microphone and system audio with Whisper running on your device.
  • Visual sketches: build diagrams with Basic, UML, ERD, BPMN, and ArchiMate shapes.
  • Fast organization: nested folders, colors, drag-and-drop, fuzzy search, and a command palette.
  • Safe by default: autosave, recoverable trash, and no upload unless you explicitly run an AI request.
  • Make it yours: 30 built-in themes, custom JSON themes, and reusable SVG stencils.
  • Optional AI: use Anthropic, an OpenAI-compatible provider, or local Ollama with only the notes you select.

Notes and diagrams, side by side

Scribe sketch canvas

🚀 Get started

Requirements

  • Node.js 24+ (22.12 is the minimum supported by Electron 43)
  • Git
  • macOS: Xcode Command Line Tools
  • Windows: Visual Studio Build Tools with the C++ workload

Run from source

git clone https://github.com/mtom2k/scribe.git
cd scribe
npm ci
npm run dev

Use npm ci so platform-native ONNX, Sharp, and Sherpa packages match the lockfile. Do not copy node_modules between operating systems or CPU architectures.

Build an installer

npm run build:win    # Windows installer + portable .exe
npm run build:mac    # Apple Silicon DMG

Build on the target operating system. Outputs are written to dist/; published builds belong on GitHub Releases.

Builds are unsigned by default. Windows may show SmartScreen, and macOS may require right-click → Open. macOS support is currently Apple Silicon only.

How it works

Scribe stores notes, sketches, attachments, and metadata directly in your notes folder. The editor renders Markdown as you type while keeping the underlying file readable and portable.

Transcription uses Whisper through ONNX inside the app. Audio stays on your machine; only model files are downloaded. On Windows 10+, system-audio loopback works out of the box. On macOS 12.3+, it uses ScreenCaptureKit and requires Screen Recording permission. Speaker labeling is temporarily disabled while its native runtimes are isolated.

The optional AI panel sends only the notes you select, and only after you press Run. API keys are stored locally.

⌨️ Essential shortcuts

Use Cmd instead of Ctrl on macOS.

Shortcut Action
Ctrl+N / Ctrl+Shift+N New file / folder
Ctrl+P Search notes and run commands
Ctrl+Shift+R Start / stop recording
Ctrl+Shift+A Ask AI about selected notes
Ctrl+Shift+T Cycle pinned themes
Ctrl+, Open Settings
Ctrl+\ Toggle the sidebar
F2 / Delete Rename / move to trash

🔒 Data and privacy

Data Default location
Notes, sketches, and attachments Documents/Notes
Recoverable Scribe trash <notes>/.trash
Settings %APPDATA%/scribe or ~/Library/Application Support/scribe
Speech models App data models/
Custom themes and stencils App data themes/ and stencils/

The notes folder is configurable in Settings. Items left in Scribe's trash move to the operating system trash after seven days.

Development

npm run typecheck
npm run e2e

Scribe is built with Electron, React, TipTap, Zustand, and ONNX-based local speech models.

Maintainers should start with HANDOFF.md, then read PROJECT_STATE.md, ARCHITECTURE.md, DECISIONS.md, and TESTING.md.

License

MIT

About

Scribe, a tiny, minimalistic note-taking app with fully local transcription, for Windows and macOS.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages