Source for jdstemmler.dev — a personal technical blog about homelab, self-hosting, and Claude Code. Write-ups of specific fixes, with the wrong hypothesis named first.
- Astro 5, TypeScript strict, MDX content collections
- Shiki syntax highlighting on a
css-variablestheme mapped to the site tokens - Self-hosted IBM Plex (Sans Condensed / Serif / Mono) — no font CDNs
- Zero client JavaScript on every page
- Cloudflare Pages via the Git integration — every push to
mainbuilds and deploys
npm install
npm run dev # local dev server
npm run build # static output to dist/
npm run preview # serve the built output
src/components/DiagnosticStrip.astro— the site's signature element: each debugging post opens with a SYMPTOM/CAUSE readout, and the cause line's one-beat reveal is the entire site's motion budget..claude/— the Claude Code tooling this site is written with: anew-postskill (brain-dump in, valid MDX skeleton out,TODO(verify)markers where real command output must be pasted), averify-postpre-publish checklist, a content-safety hook that blocks committing RFC 1918 addresses / internal hostnames / VLAN IDs in post content, and a build-check hook runningastro checkafter source edits.CLAUDE.md— the binding instructions, including the writing rules: never invent command output, and every command shown was actually run.