core-diagrams — diagrams as you write them
core-diagrams is core-slim with diagram rendering already wired in. You write a mermaid fence and
it becomes a figure — no engine change, no build step of your own.
Get it from the core-diagrams template repository via Use this template, then follow the Quickstart. Diagrams covers what you can write.
What you get
Everything core-slim has, plus the wiring for diagrams. Its compose file carries a second container — the renderer,
wired as a hook. Its project.conf carries a house style for
how diagrams are drawn.
Your manuscript is unchanged by any of it, and a book with no diagrams in it comes out exactly as it would under
core-slim — at the cost below.
Commands
The same set as core-slim, with one difference:
make verify # verify both signed images — the engine and the renderer
The renderer is a second program your manuscript reaches, so it is signed and verifiable like the engine — verify
checks it against the identity of whoever published it. Available hooks names its source, if you
want to read it or improve it.
The first build pulls both images; later builds reuse them. The renderer's healthcheck uses start_interval, so this
template needs Docker Engine 25 or newer.
When a newer Keystone release lands, see Upgrading your project, or hand the AI-assisted procedure to an assistant.
What it costs
A second container, holding a browser — around 260 MB of memory, resident from your first build until you stop it. That is per project, so several open at once add up.
Staying up saves the next build a second or so on a fast machine. The cache saves far more,
and a stop leaves it alone, so KEYSTONE_HOOKS_KEEP_ALIVE=false costs that
second and nothing else. make ps shows whether the renderer is up, make down stops it, and make reset is what
drops the cache.
It takes no network — like the engine, it runs with network_mode: none — but it is still a second program your
manuscript reaches. What that means for a hermetic build is set out in
Sandboxing.
When to switch
To read or change the engine, use core, which ships the whole runtime in your project. You do not give up
diagrams by switching: the renderer is an ordinary hook, and
Wiring a published hook puts it in any template. For a book with no diagrams,
core-slim is the everyday template.