Skrive 1.0.0 — Overcast
Skrive 1.0 is two reimaginings landing at once: the editor has been rebuilt from the ground up, and the entire interface has a new visual language we call Overcast. Under both is a single conviction — Skrive should be a document you write in, not a code editor with a preview bolted on.
The editor, reimagined
For years the Markdown editor has been a cliche: a split pane, monospace on the left, a preview on the right, syntax permanently in your face. Skrive 1.0 replaces that with a projection editor — one Markdown file, two ways to work in it:
- Rich — a no-syntax writing surface for everyone. You write the document, and bold, headings, lists, quotes, dividers, tables, and links appear as the real thing — never as raw
**or#. Structure is created through a toolbar, a selection bubble, and a slash menu, so you build a document without ever typing a fence. - Text — an honest source surface for people who know Markdown and want it plain, with a choice of how present the syntax is: Raw, Recessed, or Concealed.
Both surfaces edit the same file. Switch between them with Cmd-Shift-E and your content carries over untouched. New documents open in Rich by default; the Text surface is one keystroke away.
The commitment that makes this honest: your file on disk is always canonical, plain Markdown. Everything richer is a projection of that text, never a container that owns it — so there is no proprietary format, no lossy export, and the bytes you would write by hand are the bytes Skrive saves. (And no AI anywhere — Skrive is a tool for your words, not a generator of them.)
Overcast — a calmer, more crafted interface
The whole app was re-skinned and restructured around a warm near-white page on a cooler dove-grey desk, a slate-indigo accent, rounder corners, and custom iconography:
- Settings is now a full page, with grouped cards, instead of a cramped modal.
- Side panels dock as cards beside a narrowing editor rather than floating over it.
- A reworked topbar — window controls and the sidebar toggle grouped on the left, lifted tabs, a surface toggle, and a quiet save indicator.
- Project-wide search now shows a live context preview of the highlighted match beside the results.
- Backlinks is bidirectional — both what links to this document and what it links out to, grouped by file with folder tags.
- New editor controls that actually do something: line measure (column width), smart typography (curly quotes, em dashes, ellipses), format on save, and a configurable autosave delay.
- The command palette, search, every dialog, and the right-click menus were all brought into the Overcast language.
Under the hood
For the curious, the foundation that makes the two surfaces trustworthy:
- Byte-faithful round-trip. A source-mapped parser tags every block with its verbatim source; the serializer splices untouched blocks back byte-for-byte and only re-writes what you actually changed. Open and edit a real document and the parts you did not touch are identical to the byte.
- Durable saves. Writes are atomic (temp file, fsync, rename — a crash cannot corrupt a document), the app detects changes made on disk outside Skrive and asks before overwriting, autosaves on a debounce, and flushes any pending edit before the app quits.
- Smooth at scale. Project linting runs in a background worker, so typing stays fluid no matter how large the project gets.
- One parser, not three. Preview, the projection, and linting all run off a single Markdown authority.
What's next
1.0 is the foundation, not the finish line. Already in motion:
- Marginalia — margin notes anchored to ranges of your text, with bilateral sidenotes and connectors.
- Typed blocks — callouts, profiles, and richer blocks you author inline but that save as honest, plain-text fences.
- PDF export with margins — beautifully typeset export with bilateral margins, connectors, and footnotes.
Install
- macOS (Apple Silicon): signed and notarized
.dmg— installs with no warnings. Intel Macs run under Rosetta 2. - Windows:
.exeinstaller. It is unsigned for now, so SmartScreen will warn on first run — choose More info -> Run anyway.