Skip to content

core-slim — the everyday template

core-slim is the template most authors should use. The Keystone engine lives in a prebuilt, signed Docker image; your project carries only your content and config. Builds are fast, the project stays small, and there's nothing about the engine to maintain.

Get it from the core-slim template repository via Use this template, then follow the Quickstart.

What you get

A project with manuscript/, assets/, fonts/, and the config files you edit (pandoc.yaml, project.conf, publish.txt, shortcuts.yaml) — see Project anatomy. The engine is referenced, not included — the same one every template runs.

Commands

make publish              # build a PDF (default)
make publish format=epub  # build a specific format (pdf | epub | docx | odt)
make all                  # PDF, EPUB, and DOCX
make import artifact=draft.docx   # convert an existing document to Markdown
make verify               # verify the signed runtime image (cosign)
make clean                # remove build artifacts
make ps                   # show this project's containers
make down                 # stop this project's containers
make reset                # stop them and drop the volumes they shared
make help                 # list commands

The first build pulls the image from the registry; later builds reuse it. Every project.conf setting that takes a one-run override is listed under How settings are applied.

Each build runs sandboxed, making it reproducible and safe to run on a manuscript you didn't write.

When a newer Keystone release lands, moving a slim project onto it is usually just bumping the pinned image tag — see Upgrading your project, or hand the AI-assisted procedure to an assistant.

When to switch

You don't modify the engine here — that's the point. If you need to add a handler, change a filter, or study the internals, switch to core, which ships the engine in your project.

For diagrams, core-diagrams is this template with a renderer already wired in, or wire that hook into this one.