A detailed account of upgrading a personal site from Astro 3 to Astro 6 across three major versions, using Claude Fable (Claude 5) as the primary coding assistant. The migration covered breaking changes (Content Layer API, hybrid output mode, Node 22 requirement), measured concrete improvements (44% faster builds, 96-98% less JS on course pages, vulnerabilities halved), and adopted new Astro features including Server Islands for auth-gated content, astro:env for typed secrets, astro:actions to consolidate 13 form endpoints into one, and the Fonts API. A production outage caused by PKCE auth flow breakage during the Server Islands migration is documented, along with the fix. The post includes before/after metrics tables and a candid assessment of working with the new Claude model.

20m read timeFrom neciudan.dev
Post cover image
Table of contents
Why now 🔗How it started 🔗What breaks between Astro 3 and 6 🔗The migration, in numbers 🔗Auditing three major features 🔗Typed environment variables (astro:env) 🔗Server Islands, and the login outage 🔗Phase B: a server island for every lesson 🔗Thirteen endpoints become one action 🔗Working with Fable 🔗Was it worth it 🔗References 🔗
21K Impressions