Writernaut Editor   Focus   Git   Books   Get Early Access

She had tried everything. Three word processors, two "distraction-free" apps, and a plain text editor that made her feel like a programmer pretending to be a novelist. Her book — two hundred pages of a fantasy novel about seven companions walking into certain death — lived in a single enormous file. Every time she scrolled past Chapter 12 to find Chapter 3, she lost a little more of whatever thread she'd been holding.

Then someone mentioned Writernaut.

The first thing she noticed was the sidebar. Her chapters weren't pages in a scroll — they were entries in a tree. Chapter 1: The Pact. Beneath it, two scenes: The tavern and Blood oath, each with a small green dot. Chapter 2: Blood Price. Two scenes here too — Signal fires marked with an amber dot, The count still gray.

Chapters & scenes Manuscripts are trees, not scrolls. Each scene is its own file. Drag to rearrange. Status dots track your progress: Draft Revised Done

She clicked Signal fires. The editor opened — not to a cursor blinking in a void, but to her prose, rendered. Bold text looked bold. The link to the Thornwall Pass entry in her glossary was blue and underlined. It looked like a book.

✦   ✦   ✦
The Sanctuary
Focus mode

She pressed ⌘⇧F. The sidebar disappeared. The inspector vanished. The toolbar, the title bar — gone. Nothing remained but her words on a black screen, centered, glowing faintly like text on an old monitor. She started writing.

Focus mode Hides everything except your words. ⌘⇧F to enter, Esc to return. Only forward progress counts — deletions don't reduce your session count.

Five hundred words in, she didn't notice the background change. A deep navy had crept in from the edges. At a thousand words, it was blue — not bright, just present, like the sky before dawn. A vignette closed from the corners. A faint texture, like film grain, kept the darkness alive.

At two thousand words she was in purple. At three thousand, violet. She didn't notice any of it. She was writing. The army was through the pass and Kael was counting fires.

She pressed Esc. The world came back — sidebar, inspector, toolbar. She blinked. The screen had been violet. She hadn't noticed it happening. She noticed when she came out.

The signal fires had burned for three days before anyone in the valley noticed.

By then the army was already through the pass, and the only question left was arithmetic.

Kael counted the fires from the tower.
1,247 words this session
Six stages from black to violet. Click to preview.
✦   ✦   ✦
The Editor
Three ways to see your words

She moved her cursor onto the words Blood Price. The bold rendering dissolved, and she saw the raw Markdown: **Blood Price**. She edited the text, moved the cursor away, and the asterisks vanished — rendered again. The source was always there, one click beneath the surface.

Rich Text mode Markdown renders live. Move your cursor onto formatted text and the syntax appears. Move away and it re-renders. ⌘⌃1

She pressed ⌘\ and the view changed. Now she could see all the asterisks, all the brackets, all the raw syntax at once. She pressed it again — split view. Her prose on the left, the source on the right. She pressed it once more and she was back where she started.

Three modes Rich Text ⌘⌃1
Source ⌘⌃2
Split ⌘⌃3
Cycle: ⌘\

On the right side of the window, a quiet panel she hadn't noticed: 2,311 words. 12,847 characters. 28 paragraphs. Status: Revised. Below that, the synopsis she'd written for this scene. The inspector. It was watching her work without getting in the way.

✦   ✦   ✦
Version Control
Every save is backed up

She saved. In the status bar at the bottom of the window, a green dot pulsed: Saved. Then, a moment later: ↑ Synced. She hadn't set up git. She hadn't opened Terminal. The app had done it — committed her changes with a message that actually made sense, and pushed them to GitHub.

Git built in Bundles its own git binary. GitHub OAuth. Auto-commit on save, auto-push on quit. One Markdown file per scene. Clone from GitHub in the welcome window.
$ git log --oneline -4
a3f8c21 Ch 2, Scene 1: expand signal fires 2m
e7b4a09 Ch 1: mark both scenes as done 18m
1c9d3f5 Glossary: add magic system terms 1h
8a2e6b1 Ch 2: add "the count" scene (draft) 3h

Her book was a folder of Markdown files. One file per scene. The diffs showed real prose changes — not binary blobs, not opaque database records. Real sentences, added and removed, visible in any git client on earth. She could branch her novel. She could revert Chapter 12 without touching Chapter 3.

✦   ✦   ✦
Plugins & Export
Everything built in, everything else pluggable

Below her chapters in the sidebar, she found three sections she hadn't noticed: Glossary, Characters, and Research Notes. They were built in — no plugins required. She added twelve terms to the glossary, seven characters with traits and relationships, and four notes organized by category: locations, history, plot, worldbuilding.

When it came time to send a draft, she pressed ⌘⇧E. Six formats appeared: EPUB, PDF for screen, PDF formatted as a manuscript, DOCX in novel format, DOCX in manuscript format, and plain Markdown as a folder. She chose Shunn Manuscript — standard submission format — and the file appeared in Finder.

Six export formats EPUB · PDF (Screen) · PDF (Manuscript) · DOCX (Novel) · DOCX (Manuscript) · Markdown
PluginWhat it doesStatus
Shunn ManuscriptStandard submission format for publishers and agentsAvailable
QuartoProfessional typesetting to PDF, EPUB, and HTMLAvailable
StoryOriginARCs, reader magnets, cross-promotionsComing
SendFoxMailing list and reader updatesComing
Amazon KDPPublish to Kindle from your manuscriptComing
Your PluginJavaScript or Swift. Full API. Build what you need.Coming
✦   ✦   ✦
Written in Writernaut
Real books, real deadlines

She wasn't the only one. Writernaut was built by Audrey and Daniel Roy Greenfeld — and they're writing their own books in it. Daniel's grimdark fantasy series. Their best practices guide, Two Scoops of Django 6. These aren't demos. They're manuscripts with covers, release dates, and readers waiting.

The Curse Free

The Curse

Ancient evil awakens in a mountain village.
Everyone Dies May 20, 2026

Everyone Dies

Seven companions. Their fates already sealed.
Two Scoops
of Django 6
In progress

Two Scoops of Django 6

The best practices guide, revised in Writernaut.
✦   ✦   ✦
Companion Apps
Writernaut is part of a family

Your book is a folder of Markdown files.
You can leave anytime. But you won't want to.

Bring your manuscript. Paste from Docs, drop in Markdown files. Free during beta.

Get Early Access
Feldroy · Grim Daniel · Embernaut · Readernaut · Contact

The macOS writing app for books.