Cloudflare Workers static assets won't serve a 404 page unless you say so twice

Building 404.astro isn't enough. Without not_found_handling in wrangler.json, unknown URLs on a Workers site return a bare response instead of your page.

  • #cloudflare-workers
  • #astro
  • #wrangler
  • #deployment

Building llms.txt as an Astro endpoint so it never goes stale

A static llms.txt is a list you forget to update. An endpoint that queries your content collections rebuilds the index on every deploy. One gotcha: a file in public/ silently shadows it.

  • #astro
  • #seo
  • #llms-txt
  • #content-collections

A hook that rewrites commands fails every command when its binary is missing

My token-saving Bash rewrite hook pointed at a CLI that wasn't installed. Every shell command in every session died with 'command not found' until Claude routed around it.

  • #claude-code
  • #hooks
  • #debugging

draft: true in frontmatter does nothing unless you filter for it

Astro Content Collections don't hide draft posts automatically. Forgetting the filter on index and slug pages means drafts are publicly live.

  • #astro
  • #content-collections

Merging a small content collection into a bigger one beats a separate one

TIL posts lived in their own Astro content collection. Folding them into the blog collection as a category field fixed SEO and cut duplicate logic.

  • #astro
  • #content-collections
  • #seo

CLAUDE.md persists instructions across every session

You don't have to re-explain your project conventions every time. CLAUDE.md is loaded automatically at the start of every Claude Code session.

  • #claude-code
  • #claude-md
  • #workflow