About
This is my personal blog, version controlled on GitHub, built and published with Cloudflare Pages running Hugo. Posts are written in Markdown with Monokai syntax highlighting via Chroma — if you like the look, check out Monokai Pro. The Hugo-Coder theme is pulled in as a git submodule, which makes updates a breeze.
How It’s Built Link to heading
Hugo compiles the site from Markdown source files, with the exact version pinned in a .hugo-version file tracked in the repo. Cloudflare Pages runs a dual-mode build pipeline: production builds on the main branch publish a clean, minified site, while every other branch gets a full preview deployment that includes drafts and future-dated posts. Large binary assets are managed with Git LFS.
GitHub Actions Link to heading
GitHub Actions workflows automate the publishing lifecycle:
| Workflow | Description |
|---|---|
| Claude Code Action | @claude in an issue or PR triggers autonomous task execution with results posted back to the thread. |
| Automated Content Review | Every PR gets an automated review by Claude Sonnet, checking accuracy, style, and broken links. |
| Hugo Version Updates | Weekly check of gohugoio/hugo; opens a PR to bump .hugo-version when a new release lands. |
| Linting | pre-commit runs actionlint (with ShellCheck) on every PR and main push. |
Dependency Automation Link to heading
Dependabot keeps infrastructure dependencies current on a weekly cadence:
| Ecosystem | What’s tracked |
|---|---|
| GitHub Actions | Workflow action versions across all workflows |
| Hugo-Coder theme | git submodule commits on the theme’s main branch |
| pre-commit hooks | actionlint and other hook revisions |
Blog post content dependencies are tracked through a separate layer:
| Dependency | How it’s tracked |
|---|---|
| Categories, namespaces, products, events | Front matter taxonomy fields that build the internal link graph across posts |
| External links | Validated with curl in every PR’s content review |
| Images and media | Binary assets committed via Git LFS so the repo stays lightweight |
| Source materials | artifacts front matter field linking each post to its artifact/ directory files |
Claude Code Link to heading
Anthropic’s Claude Code is integrated throughout the composing and content verification workflow. The /hugo-update command automates Cloudflare Pages environment variable updates via the API whenever the Hugo version changes. cmux handles both terminal tab management and AI agent notifications — when a long-running task completes or needs input, the tab lights up and a notification fires without any additional tooling. The Remote Control feature lets me monitor and interact with a running Claude Code session from my iPhone, so I can kick off a task from the desk and check on it from anywhere.
Writing Workflow Link to heading
Pre-commit hooks run actionlint (with ShellCheck) automatically on every commit, catching workflow and script issues before they reach CI. Hugo’s dev server provides live reload for instant feedback while composing.