Wiring commit-driven releases so the version number actually means something — the misconfiguration that made every release a minor bump for months, the separation between version calculator and changelog generator, and the CI permissions that block every first attempt
How I standardised commit messages and changelogs across a polyglot workspace — Conventional Commits enforced by a shared shell hook, Lefthook to manage the hooks, Keep a Changelog as the format, and git-cliff to generate the changelog from history and keep it current in CI
A follow-up to the Conventional Commits post — rolling out automated semantic versioning, changelog updates and GitHub Releases with git-cliff in GitHub Actions across ten repositories, and the gotchas found on the way: release commits polluting the changelog, GITHUB_TOKEN loop protection, and a branch-protected main
How I built a composable pipeline to take physical book scans through OCR, automated cleaning, AI copy-editing, and Vellum layout — and packaged it as a reusable toolchain with a step-by-step tutorial.