Get started

From nothing to a published blog in five commands. colophon is a single binary with no runtime dependencies.

Install

colophon is a single binary. With Go installed:

go install github.com/jmylchreest/colophon/cmd/colophon@latest

Or grab a release from GitHub.

Make a site

colophon init blog && cd blog

That scaffolds everything: colophon.yaml, an author, a starter post, a theme directory and a GitHub Actions workflow. The config is one YAML file, and the annotated reference documents every option.

Write

colophon new post "Why I still blog"

Open the file it printed and write. Frontmatter is minimal; everything (hero images, audio readings, slides, translations) is opt-in, one line at a time.

Preview

colophon serve

A local server with your full site: feeds, search, the lot. Run colophon serve --showcase to browse a living reference of everything the engine can render.

Bring your assistant (optional)

colophon skills install

Detects Claude Code, Codex, Gemini CLI, Cursor, Copilot and OpenCode, and installs the colophon writing skills into each: drafting, editing, cross-linking, metadata and publishing, all in the voice your personas define.

Publish

Add a publisher to colophon.yaml (Cloudflare Pages, GitHub Pages, S3 and friends), then:

colophon publish --env production --allow-publish

Deploys are incremental: only changed files upload. colophon doctor checks your config before you ship.

That's the whole loop. For everything else (syndication to Bluesky and Mastodon, webmentions, translations, slide decks, AI media), head to the documentation.