Skip to content

stormlightlabs/writer

Repository files navigation

Writer

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.

Split-pane markdown editor with live preview

Highlights

  • 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

File Management

Move documents across folders and locations, create nested directories, and manage files from the sidebar without dropping into Finder or Explorer.

Style Check

Real-time style feedback with inline decorations for filler words, redundancies, and clichés.

Style check highlighting in the editor

Focus Mode

Typewriter scrolling and sentence/paragraph dimming for distraction-free writing.

Focus mode with paragraph dimming

Quick Capture

Global hotkey opens a capture window from anywhere on your system.

Quick capture window

Export

Export polished PDFs with inline preview, Word-compatible DOCX files, clean plaintext, or save the raw markdown source.

PDF export dialog

Development

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 dev

Useful commands:

pnpm lint
pnpm check
pnpm test:run
cargo test
Release

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors