About Cherry

Cherry is a static site generator for hackers: a modern take on Octopress, built in Elixir.

The longer story, philosophy and all, is on the blog: Why Cherry exists.

Octopress got two things right that the years buried: a blog you could reason about as plain files, and a hacker's toolchain you could bend. It got one thing fatally wrong: your site lived inside the framework checkout, so every customisation froze you in time. Cherry inverts that: your site is a plain directory, the framework is a dependency (or a single binary), themes expose tokens as their styling API, and every template you take ownership of carries provenance so upgrades merge instead of fossilising.

The second thesis: everything answers in plain text. Every command has a --json twin with stable exit codes, content collections publish their schemas, builds are byte-deterministic so diffs mean something, and every built page ships a markdown mirror plus /llms.txt. That makes the whole thing scriptable end to end. Paired with the shipped skill, it's also easy to hand to a coding agent when one helps run your site. The scripting guide shows the whole surface.

This site is the dogfood

cherrybomb.dev is built by Cherry from the example/ directory of Cherry's own repo on every push: same pipeline, same checks (cherry check --strict gates every commit), same theme contract you get. If something here is broken, the build that shipped it failed its own tooling, and that's a bug worth filing.

Cherry ships as a single binary for macOS, Linux, and Windows, with checksum-verified installs, provenance-attested releases, and self-updating. Elixir developers can use it as a library instead; the verbs are identical by construction.

Cherry's code is dual-licensed under MIT or Apache 2.0. The CherryBomb artwork (the mascot, logo, and icons on this site) is copyright holsee, all rights reserved, and isn't covered by either licence; see the brand assets licence before reusing it.