# Monoprose

Monoprose is a local-first, keyboard-first, markdown-friendly writing tool
with a deliberate terminal-vintage aesthetic. Drafts autosave to the browser's
IndexedDB; cloud sync is built but switched off, so nothing leaves the machine.
The editor is a plain textarea; markdown preview is opt-in; the reading-comfort
research line informs every theme and polish decision.

The editor lives at `/write`. The root URL serves a landing page to browsers
and this document to any client that asks for `text/markdown`.

## Product pillars

- **Keyboard First** — every recurring action has a shortcut; the mouse is optional.
- **Local First** — start writing instantly without an account; today there is no cloud path at all.
- **Scientifically-Backed** — every theme publishes its measured WCAG contrast ratio (nine of ten clear AAA 7:1; Solarized Dark sits at 5.6:1). Where the ergonomics evidence is softer than the contrast maths, we say so.
- **Never Overwrites Your Work** — local revision history keeps the last 20 versions per draft, and restoring is non-destructive.
- **Text First** — the editor is and will remain a plain textarea; markdown is for preview + export.
- **Terminal Vintage, Seriously** — the visual identity is a product decision, not decoration.

## Capabilities

- Autosaving textarea with local IndexedDB persistence and 20-revision history per draft
- No account, no sign-in, no server-side storage — the local-first path is the only path today
- Markdown preview with GFM (tables, task lists, strikethrough, autolinks); XSS-safe via react-markdown `skipHtml`
- Export to `.txt` / `.md`, copy to clipboard, paste as new draft (smart title extraction), drag-and-drop import for `.md` files
- Quick Switcher (Cmd+K) with fuzzy search over titles and the first 200 characters of each draft
- Focus mode with edge-reveal sidebar and peek trigger; keyboard-scoped shortcuts; terminal-styled confirm dialogs
- Ten hand-crafted themes plus keyboard theme cycling; tooltips explain each palette's rationale

## Keyboard shortcuts

### File

- **New draft** — `Cmd/Ctrl + N`
- **Save** — `Cmd/Ctrl + S`
- **Find draft (quick switcher)** — `Cmd/Ctrl + K`

### View

- **Toggle preview** — `Cmd/Ctrl + P`
- **Toggle revisions** — `Cmd/Ctrl + Shift + H`
- **Focus mode** — `Cmd/Ctrl + Shift + F or Esc`
- **Next theme** — `Cmd/Ctrl + Shift + ]`
- **Previous theme** — `Cmd/Ctrl + Shift + [`
- **Reading comfort** — `Cmd/Ctrl + Shift + C`

### Editing

- **Bold selection** — `Cmd/Ctrl + B`
- **Italic selection** — `Cmd/Ctrl + I`
- **Wrap as link** — `Cmd/Ctrl + K`
- **Select all** — `Cmd/Ctrl + A`

### Help

- **Show shortcuts panel** — `Cmd/Ctrl + /`

## Themes

- **Green Phosphor** (`phosphor`) — The original CRT. Where the tool got its voice — for when you want to feel the weight of every keystroke.
- **Amber Terminal** (`amber`) — Late-80s monochrome amber. Warmer than phosphor and a touch kinder on long sessions.
- **Phosphor Blue** (`phosphor-blue`) — Blue-phosphor CRT. The VT220 in the university basement, late nights with the cursor blinking.
- **Candlelight** (`candlelight`) — For long nights at the page. Warm charcoal, cream text, amber like a reading lamp — tuned for low eye strain.
- **Solarized Dark** (`solarized-dark`) — The developer classic. Yellow and teal, balanced to stay legible on code and prose alike.
- **Rose Pine Moon** (`rose-pine-moon`) — Muted mauves and soft rose. For late-evening writing when you want gentle, not just dark.
- **Kanagawa Wave** (`kanagawa-wave`) — Sumi-ink and indigo, one red stamp. Writing as ceremony.
- **Nord Frost** (`nord`) — Cool, quiet, alpine. For clear mornings and clear thinking.
- **Paperback** (`paperback`) — A worn trade paperback in a sunlit café. Sepia page, ink text, nothing shouting.
- **Ink & Linen** (`ink-and-linen`) — Hardcover novel on a library desk. Cream, dark ink, oxblood accents for daylight drafting.

## Related resources

- [Sitemap](/sitemap.md) — structured index of agent-accessible pages
- [/llms.txt](/llms.txt) — short LLM-oriented summary of the app

## Status

Work in progress. Not a paid product yet. Agent API endpoints for user draft
data are on the roadmap but not shipped in this version.
