Writer is a Tauri desktop writing app with a React frontend and a Rust backend. It treats user-selected folders as the source of truth, keeps app state in Rust-backed persistence, and layers focused writing, file management, and export workflows on top.
- Markdown editor with live preview, split view, preview-only mode, and focus mode
- Workspace model built around user-selected folders ("locations")
- Sidebar file management with drag-and-drop moves, nested folders, and context menu operations
- Multi-document tabs with Rust-backed session restore
- Rule-based writing assistance with style check diagnostics and parts-of-speech highlighting
- Quick Capture window (
#/quick-capture) for global shortcut capture flows - Export dialog with PDF preview, DOCX export, plaintext export, and source-markdown save
Move documents across folders and locations, create nested directories, and manage files from the sidebar without dropping into Finder or Explorer.
Real-time style feedback with inline decorations for filler words, redundancies, and clichés.
Typewriter scrolling and sentence/paragraph dimming for distraction-free writing.
Global hotkey opens a capture window from anywhere on your system.
Export polished PDFs with inline preview, Word-compatible DOCX files, clean plaintext, or save the raw markdown source.
Documentation
Tech Stack
- Frontend: React 19, TypeScript, Vite, Zustand, CodeMirror 6, Tailwind CSS
- Backend: Tauri 2, Rust workspace (
core,markdown,store) - Testing: Vitest + Testing Library (frontend),
cargo test(Rust)
Development Commands
pnpm install
pnpm tauri devUseful commands:
pnpm lint
pnpm check
pnpm test:run
cargo testRelease
Before cutting a release, update the app version in package.json, src-tauri/Cargo.toml, and src-tauri/tauri.conf.json, finalize CHANGELOG.md, and follow docs/release.md.




