Quickstart / v1.0.0

Your first print-ready PDF in under two minutes.

No configuration. No templates. Download a starter file, run one command, open a PDF.

00

Check for Node.js

draft2final runs on Node.js — the only thing you need installed. Most developers already have it. Open a terminal and check:

node --version

If you see a version number (v18 or later), you are ready. Skip ahead to Step 01.

If you see "command not found", install Node.js. It is a one-click installer for Mac, Windows, and Linux. The download is about 30 MB; the install takes under a minute.

→ Download Node.js LTS at nodejs.org

npm ships with Node automatically — no separate install needed. You also do not need to install draft2final globally. The npx command fetches and runs it on the fly, every time.

01

Download a starter file

Pick one. Each is a complete working Markdown document with frontmatter already configured for its form. Download it anywhere you can reach — your Desktop is fine.

--as manuscript

The Last Notification

A short fiction opener with a chapter heading, body paragraphs, and a scene break. Renders as a submission-ready manuscript page.

↓ starter-story.md
--as screenplay

The Upgrade

A single scene with action lines, dialogue, and parentheticals. Shows character cues, transitions, and industry-standard script layout.

↓ starter-scene.md
--as markdown

Field Notes on Coffee

A playful technical memo with a table, headings, and lists. Shows what a clean, properly formatted document looks like.

↓ starter-memo.md
02

Open a terminal in the same folder

Navigate to wherever you saved the file. If you saved it to your Desktop:

cd ~/Desktop             # Mac / Linux
cd %USERPROFILE%\Desktop  # Windows

Most operating systems also let you right-click a folder and choose "Open in Terminal" or "Open Terminal Here" — either works.

03

Run the command

For whichever file you downloaded:

npx draft2final starter-story.md
npx draft2final starter-scene.md
npx draft2final starter-memo.md

The first run fetches draft2final automatically — you will see a brief npm download message. Every run after that is instant.

Expected output:

[draft2final] Transmuting as manuscript...
[draft2final] Loading fonts and paginating...
[draft2final] Rendering 2 pages...
[draft2final] Success: ./starter-story.pdf (0.16s)
04

Open the PDF

The PDF lands in the same folder as the Markdown file. Open it with any PDF viewer.

What you will see: a properly typeset page with correct margins, fonts, a running header, and the layout conventions of the form you chose. No manual formatting. No style panel. No tweaking.

That is the whole workflow. Edit the starter file, replace the placeholder text with your own words, run the command again. The engine handles everything else.

The forms and styles are interchangeable

You just rendered in Courier. That is intentional — style: classic is the industry-standard submission format that literary agents and publishers expect. But the same words can wear entirely different skins.

Open the starter file and remove the style: classic line from the frontmatter. Run again:

npx draft2final starter-story.md

Same words. Now in Times New Roman, double-spaced — the default manuscript aesthetic.

Or go further. Change the form and style entirely on the command line:

npx draft2final starter-story.md --as markdown --style novel

Same words. Now set in a paperback-proportioned page with a refined book typeface — a completely different object.

This is the Form/Aesthetic model. Your content is independent of both structure and appearance. One flag changes everything. The words stay untouched.

What's next