All pages
On this page
Building and deploying
View as MarkdownWhat runs when, and the tasks you can run yourself.
The build
andromeda:build converts every entry into .andromeda/: parsed, validated,
rendered, with components expanded. It is hooked into assets:precompile, so
the Dockerfile that ships with Rails 8 — and therefore Kamal, and most other
deploy paths — already runs it.
Along the way it checks what a page would otherwise only find out when it is
served: every image in a body must exist, and every :reference must name an
existing entry. Anything missing fails the build, listed with its file, after
the entries that did convert have been written.
.andromeda/ is a build artifact. The installer adds it to .gitignore and
.dockerignore; it is written inside the image at build time.
Tasks
| Task | What it does |
|---|---|
andromeda:build | Convert everything (runs during assets:precompile) |
andromeda:check | Report the same problems the build would, without writing anything — for CI |
andromeda:fix | Rewrite camelCase frontmatter keys to snake_case |
andromeda:clobber | Remove .andromeda/ (runs during assets:clobber) |
In development
There is no watcher to run. A file is converted the first time something asks for it after its content changed, so editing a post and reloading is all there is to it.
In production
The parser never runs while serving a request; pages read the converted
result. An entry that was never built raises Andromeda::BuildMissing, whose
message names the task to run — a loud failure at boot beats a page that
silently converts content on the critical path.
The database
Content needs no database. If your application has one, nothing changes; if it
does not, andromeda:build still runs inside a Docker build where no database
is reachable, because conversion only ever touches files.
Last updated September 29, 2026