If you only read one of these posts, read this one. May and June reshaped how the starter caches, renders and talks to agents.
Cache Components via next-sanity v13
The starter adopted Next.js Cache Components through next-sanity v13, and the Sanity ecosystem was aligned to match. Live tag invalidation was restored for regular visitors, and realtime draft preview now uses updateTag. Fresh installs also stopped failing on an empty generateStaticParams.
Markdown for agents
Pages can be served as Markdown, with components kept out of the output. Page-builder surfaces were co-located and the serialiser moved to @portabletext/markdown. Agents get clean text, and unknown blocks degrade to nothing.
Shared packages
Blocks moved into a sanity-blocks package and Tailwind config into its own package, with an env example so the template works from a fresh clone. A root type-check task now runs through Turborepo.
Agent skills
Sanity agent skills and Vercel Labs skills now ship in the repo, so coding agents start with the right conventions.
Smaller wins
- The SEO site title now comes from Settings instead of being hard-coded.
- The Studio deploys via
appIdrather than the deprecatedstudioHost. - The FAQ uses native
detailsandsummary, with hardened JSON-LD. - Open Graph images use a simpler site name and title layout.
- A central container standardises widths across nav, sections and blog.
- Image placeholders are pixelated rather than blurred.
- A cleanup removed manual memoisation and dead code, and fixed accessibility issues.
Serve humans HTML, serve agents Markdown, and cache both properly.