Fully prerendered /blog index, post, category, tag, and author routes. generateStaticParams returns every slug, there is no client component in the article render path, and every segment spreads shared metadata defaults so og:site_name and max-snippet survive Next.js's shallow merge.
pnpm dlx shadcn@latest add "https://agentblog.dev/r/blog-routes.json"