ADR-0005 — Site generator: Jekyll built in GitHub Actions
Status: accepted, 2026-10-26. Decided by the author (open decision D3) in session 01.
Context
The making-of record lives in site/ and is published with GitHub Pages. It has to stay easy to write (Markdown with front matter, written by Claude during each session) and must need no tooling beyond what the repository already has.
Options considered
- Jekyll, built by GitHub’s own
jekyll-build-pagesaction and deployed withdeploy-pages: no Gemfile, no extra tooling. - Classic “deploy from a branch” Pages build. Same Jekyll, but
site/isn’t a source folder GitHub Pages can serve directly (only/or/docs). - Another generator (MkDocs, Hugo, Astro): more control, more tooling to install and keep current.
Decision
Option 1. .github/workflows/pages.yml builds site/ with actions/jekyll-build-pages@v1 (the minima theme, permalinks set to pretty) and deploys from master.
Consequences
- The repository needs Settings → Pages → Source set to “GitHub Actions” (one-time, by the author).
- Only plugins bundled with the
github-pagesgem are available. make site-buildreproduces the build locally with the same builder image (ghcr.io/actions/jekyll-build-pages:v1.0.13). It callsgithub-pages builddirectly, because the image’s entrypoint always exports an empty GitHub token when none is given, and that fails GitHub API authentication.baseurlis the repository name (/five-easy-pieces-agentic-ai). Renaming the repository means changingsite/_config.yml.