ADHD-Friendly Distraction-Free Writer
Scribe is a distraction-free writing app designed for academics and researchers with ADHD. It combines a custom markdown editor with academic writing tools, themes, and CLI-based AI integration.
| Feature | Description |
|---|---|
| HybridEditor++ | Three modes: Source, Live Preview, Reading |
| Callouts | 11 Obsidian-style callout types with color coding |
| Focus Mode | Distraction-free, one note at a time |
| Settings | β, fuzzy search, theme gallery, Quick Actions customization |
| 8 Themes | Visual theme gallery with favorites, dark, and light themes |
| 14 Fonts | Recommended fonts + one-click Homebrew install |
| Quick Actions | β¨ Improve, π Expand, π Summarize, π‘ Explain, π Research (customizable) |
| Project Templates | Research+, Teaching+, Dev+, Writing+, Minimal presets |
| Wiki Links |
[[link]] with autocomplete + single-click navigation |
| Tags |
#tag inline with autocomplete |
| Citations |
@cite with BibTeX/Zotero integration |
| Math | KaTeX for LaTeX ( |
| Export | PDF, Word, LaTeX, HTML via Pandoc |
| AI Chat | Claude + Gemini CLI (no API keys) |
| Chat Persistence | Conversations saved per note |
| @ References | Include other notes in AI prompts |
| CLI | Terminal access via scribe command |
| Command Palette | βK quick actions |
| Global Hotkey | ββ§N opens from anywhere |
# Add the tap
brew tap data-wise/tap
# Install dev channel (current)
brew install --cask data-wise/tap/scribe-devDownload from GitHub Releases:
Scribe_x.x.x_aarch64.dmg(Apple Silicon)
# Clone and install
git clone https://github.com/Data-Wise/scribe.git
cd scribe
npm install
# Run development
npm run dev
# Run tests
npm test
# Build for production
npm run buildSee docs/installation/install.md for detailed instructions.
| Shortcut | Action |
|---|---|
| ββ§N | Open Scribe (global) |
| β, | Settings (v1.9.0+) |
| βK | Command palette |
| βN | New note |
| βD | Daily note |
| βE | Toggle edit/preview |
| ββ§F | Focus mode |
| βB | Toggle file list |
| ββ§B | Toggle tags panel |
| ββ₯1-9 | Quick Actions (v1.9.0+) |
| βAlt+0-9 | Switch themes |
| β+Click | Navigate WikiLink (Source mode) |
Scribe includes a terminal CLI for quick note access without opening the app:
# Quick commands
scribe daily # Open today's daily note
scribe capture "idea" # Quick capture to inbox
scribe search "query" # Full-text search (FTS5)
scribe list # List recent notes
# Aliases
sd # scribe daily
sc # scribe capture
ss # scribe search
sl # scribe list# Source the CLI (add to .zshrc)
source ~/.config/zsh/functions/scribe.zsh
# View man page
man scribe
# See all commands
scribe help --allThe CLI is part of flow-cli and operates directly on the SQLite database.
- Zero Friction β < 3 seconds to start writing
- One Thing at a Time β Single note visible
- Escape Hatches β βW closes, auto-saves
- Visible Progress β Word count, mode toggle
- Sensory-Friendly β Dark mode default
- Reduced Motion β Respects system preferences
Engaging empty state with animated pen icon, action buttons, and inspirational writing quotes.
Clean markdown editor with live wiki-link and tag highlighting.
Theme picker, ADHD-friendly font recommendations, and typography controls.
| Component | Technology |
|---|---|
| Framework | Tauri 2 + React 18 |
| Editor | HybridEditor++ (custom) |
| Styling | Tailwind CSS |
| State | Zustand |
| Database | SQLite (rusqlite) |
| Math | KaTeX |
| AI | Claude/Gemini CLI |
| Citations | Pandoc citeproc |
| Testing | Vitest + Testing Library |
| File | Purpose |
|---|---|
| docs/API.md | Complete API reference |
| docs/ARCHITECTURE.md | System architecture |
| docs/planning/ | Sprint planning |
| PROJECT-DEFINITION.md | Scope control |
| docs/UI-IMPROVEMENTS-PROPOSAL.md | UI improvement plan |
| CHANGELOG.md | Version history |
| CLAUDE.md | AI assistant guidance |
# Development
npm run dev # Start Tauri dev server
npm run dev:vite # Vite frontend only
npm run test # Run 483 tests
npm run lint # Lint code
# Build
npm run build # Production buildscribe/
βββ src/
β βββ renderer/src/ # React frontend
β βββ components/ # UI components
β βββ lib/ # API, themes, utils
β βββ store/ # Zustand state
β βββ __tests__/ # Test files
β
βββ src-tauri/src/ # Rust backend
β βββ commands.rs # IPC handlers
β βββ database.rs # SQLite operations
β βββ academic.rs # Citations + export
β
βββ docs/ # Documentation
βββ API.md
βββ ARCHITECTURE.md
βββ planning/
| Phase | Sprint | Focus | Status |
|---|---|---|---|
| 1 | 8-10.5 | Editor + Hotkey + Themes | β Complete |
| 2 | 11-12 | Academic + UI Polish | β Complete |
| 3 | 14 | Knowledge Graph + Templates | β Complete |
| 4 | 15-16 | Tags Panel Redesign | β Complete |
| 5 | 17-20 | CLI + Polish | β Complete |
Progress: 100% complete β v1.11.0 Released
978 tests passing (930 unit + 48 E2E) across 37 test files:
| Test File | Tests |
|---|---|
| Themes.test.ts | 101 |
| Academic.test.ts | 67 |
| Validation.test.ts | 54 |
| Tags.test.tsx | 52 |
| HybridEditor.test.tsx | 37 |
| Integration.test.tsx | 32 |
| And 8 more... | 140 |
Zotero β Better BibTeX β @cite autocomplete β Pandoc β PDF/Word/LaTeX
- PDF (via Pandoc + LaTeX)
- Word (.docx)
- LaTeX (.tex)
- HTML
- APA
- Chicago
- MLA
- IEEE
- Harvard
- macOS (primary platform)
- Node.js 18+
- Rust (for Tauri)
- Homebrew (optional, for font installation)
- Pandoc (optional, for export)
- Claude/Gemini CLI (optional, for AI features)
- Fork the repository
- Create feature branch (
git checkout -b feature/amazing) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing) - Open Pull Request
Note: Main branch is protected. PRs require review.
MIT
- aiterm β Terminal optimizer
- obsidian-cli-ops β Obsidian vault manager