Skip to content

Data-Wise/scribe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Scribe

ADHD-Friendly Distraction-Free Writer

Status Version Progress Tests Tauri React


What is Scribe?

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.

Key Features

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 ($...$ and $$...$$)
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

Installation

Homebrew (Recommended)

# Add the tap
brew tap data-wise/tap

# Install dev channel (current)
brew install --cask data-wise/tap/scribe-dev

Download

Download from GitHub Releases:

  • Scribe_x.x.x_aarch64.dmg (Apple Silicon)

Build from Source

# 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 build

See docs/installation/install.md for detailed instructions.


Keyboard Shortcuts

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)

CLI Access

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

Installation

# Source the CLI (add to .zshrc)
source ~/.config/zsh/functions/scribe.zsh

# View man page
man scribe

# See all commands
scribe help --all

The CLI is part of flow-cli and operates directly on the SQLite database.


ADHD Design Principles

  1. Zero Friction β€” < 3 seconds to start writing
  2. One Thing at a Time β€” Single note visible
  3. Escape Hatches β€” ⌘W closes, auto-saves
  4. Visible Progress β€” Word count, mode toggle
  5. Sensory-Friendly β€” Dark mode default
  6. Reduced Motion β€” Respects system preferences

Screenshots

Empty State

Engaging empty state with animated pen icon, action buttons, and inspirational writing quotes.

Editor

Clean markdown editor with live wiki-link and tag highlighting.

Settings

Theme picker, ADHD-friendly font recommendations, and typography controls.


Tech Stack

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

Documentation

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

# 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 build

Project Structure

scribe/
β”œβ”€β”€ 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/

Sprint Progress

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


Test Coverage

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

Academic Workflow

Zotero β†’ Better BibTeX β†’ @cite autocomplete β†’ Pandoc β†’ PDF/Word/LaTeX

Supported Exports

  • PDF (via Pandoc + LaTeX)
  • Word (.docx)
  • LaTeX (.tex)
  • HTML

Citation Styles

  • APA
  • Chicago
  • MLA
  • IEEE
  • Harvard

Requirements

  • 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)

Contributing

  1. Fork the repository
  2. Create feature branch (git checkout -b feature/amazing)
  3. Commit changes (git commit -m 'Add amazing feature')
  4. Push to branch (git push origin feature/amazing)
  5. Open Pull Request

Note: Main branch is protected. PRs require review.


License

MIT


Related Projects

About

ADHD-friendly distraction-free writer for academics and researchers

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •