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.
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.
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.
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.
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.
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.