Quickstart
This guide takes you from nothing to a finished PDF using the core-slim
template — the everyday Keystone template. You'll create a project, add a
chapter, and build.
Before you start
You need three tools. You do not install Pandoc or LaTeX — they live inside the Keystone image.
On Windows, work inside WSL.
Keystone expects Unix (LF) line endings and POSIX paths.
1. Create your project
Open the core-slim template on GitHub, click Use this template to create your own repository, then clone it:
git clone git@github.com:you/my-book.git
cd my-book
Not using GitHub? Download the template's source instead and start from those files — see Getting a template.
2. Name the project
Edit project.conf and set KEYSTONE_PROJECT to a short, lowercase name. This
names the output files — it is not your book's title:
KEYSTONE_PROJECT=my-book
3. Set the essentials
Edit pandoc.yaml. At minimum set the title, author, and — for the default
book target — a description:
title: My Book
author: Your Name
description: A short line about the book.
pandoc.yaml holds all book metadata and layout. See
Book metadata for the full key reference and
Targets to choose something other than book.
4. Write a chapter
Add Markdown files under manuscript/, one per chapter. Give each chapter a
single top-level heading — don't number it yourself; Keystone numbers chapters
during the build:
# The Beginning
It was a bright cold day in April, and the clocks were striking thirteen.
For a heading that shouldn't be numbered — a preface or appendix — add
{.unnumbered} (# Preface {.unnumbered}); more in
Manuscript & structure.
Images go in assets/ and are referenced by relative path:
.
5. Set the build order
publish.txt lists the manuscript files to include, in order — one path per
line, relative to the project root. Lines starting with # are ignored, so you
can comment a file out to drop it from a build:
manuscript/introduction.md
manuscript/chapter-1.md
# manuscript/chapter-2.md (draft — excluded for now)
Only files under manuscript/ belong here; assets are pulled in automatically
when your Markdown references them.
Order files on disk, too
Keystone imposes no structure inside manuscript/ — publish.txt alone
decides the build order. But a common developer habit makes the folder easier
to navigate: prefix filenames with a number
(01-introduction.md, 02-chapter-one.md) so they sort into reading order in
your editor and directory listings.
6. Build
make publish # PDF (default)
make publish format=epub # EPUB
make all # PDF, EPUB, and DOCX
Output lands in artifacts/, named <project>-<target>-<date>:
artifacts/
└── my-book-book-20260621.pdf
make help lists every target.
There's no live preview to wait on — you write in your Markdown editor and build to see the result, the way developers work. Builds are quick: EPUB and DOCX are near-instant, and a PDF takes seconds, not minutes — so rebuild as often as you like to nail the look. Day to day, authoring is just writing text, with the occasional rebuild to appreciate the work in progress.
Next steps
- Project anatomy — what each file in your project does
- Verifying your download — confirm your template and image are authentic
- Writing — format dialogue, add a scene break, place a figure, and every other authoring task
- Shortcuts — Keystone's styling API and your own project vocabulary