Registry
Every item, installable on its own
@agentblog/blog is an umbrella that pulls in everything below. Each piece is also addressable by itself, so you can take the JSON-LD builders without the routes, or the components without the content adapter.
npx shadcn@latest add @agentblog/blogAdd the namespace to components.json first: "registries": { "@agentblog": "https://agentblog.dev/r/{name}.json" }
@agentblog/agent-kit
block8 filesClaude Code skills that write posts to the GEO playbook, refresh them without falsifying dateModified, finish the install wiring, and run the pre-publish audit. Installs into your project's .claude/skills directory, so any agent working in this repository picks them up. Also available as a Claude Code plugin.
npx shadcn@latest add @agentblog/agent-kit
@agentblog/blog
blockA complete, production-ready blog for Next.js 16 that AI search engines can actually read. Fully prerendered routes, a typed schema.org graph, sitemap and RSS and IndexNow, Open Graph images, answer capsules and question headings for retrieval, and an editorial policy page. Inherits your shadcn theme rather than imposing one.
depends on @agentblog/blog-core, @agentblog/blog-schema, @agentblog/blog-ui, @agentblog/mdx-components, @agentblog/blog-routes, @agentblog/seo-routes, @agentblog/publish-webhook, @agentblog/source-mdx, @agentblog/eeat-pages, @agentblog/agent-kit
npx shadcn@latest add @agentblog/blog
@agentblog/blog-core
lib13 filesThe library layer every other AgentBlog item builds on: the typed config, the content source facade, shared metadata defaults that survive Next.js's shallow metadata merge, the AI referrer classifier, and the build-time preflight that warns when next.config is missing the wiring a registry cannot write.
npm zod, server-only, @tailwindcss/typography
npx shadcn@latest add @agentblog/blog-core
@agentblog/blog-minimal
blockThe full blog, minus the two items a reader never sees: no /api/publish route and no secrets in .env, and nothing written into .claude/. Everything else matches @agentblog/blog. It cannot be smaller than that: the routes share one sitemap and one layout, app/sitemap.ts emits category, author, tag, and /editorial-policy URLs, and the blog layout links /editorial-policy and /feed.xml, so dropping those routes would publish a sitemap of 404s rather than a smaller blog. Install this when you want the blog without a publish endpoint to secure.
depends on @agentblog/blog-core, @agentblog/blog-schema, @agentblog/blog-ui, @agentblog/mdx-components, @agentblog/blog-routes, @agentblog/source-mdx
npx shadcn@latest add @agentblog/blog-minimal
@agentblog/blog-routes
block8 filesFully 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.
depends on @agentblog/blog-core, @agentblog/blog-schema, @agentblog/blog-ui, @agentblog/mdx-components, @agentblog/source-mdx, @agentblog/seo-routes, @agentblog/eeat-pages
npx shadcn@latest add @agentblog/blog-routes
@agentblog/blog-schema
lib2 filesTyped schema.org @graph builders for BlogPosting, WebPage, BreadcrumbList, Person, Organization, WebSite, ImageObject, and FAQPage. Cross-references are @id stubs from one helper so the graph cannot drift apart, and there is a single serialization point that escapes the output.
depends on @agentblog/blog-core
npx shadcn@latest add @agentblog/blog-schema
@agentblog/blog-ui
block15 filesThe components a blog post is made of: post cards, byline with rel=author and machine-readable dates, answer capsule, server-rendered table of contents, author bio, related posts, breadcrumbs, category pills, and real anchor-based pagination. Styled entirely with your shadcn theme tokens, so it inherits your design system rather than replacing it.
depends on card, badge, separator, avatar, button, @agentblog/blog-core
npm class-variance-authority, clsx, lucide-react, tailwind-merge
npx shadcn@latest add @agentblog/blog-ui
@agentblog/eeat-pages
block1 fileAn editorial policy page with a real review and corrections process. This is the Trust surface a search quality rater looks for and almost no blog has one, which makes it unusually cheap to differentiate on.
depends on @agentblog/blog-core
npx shadcn@latest add @agentblog/eeat-pages
@agentblog/mdx-components
component9 filesThe component map an AgentBlog post renders through: headings with stable anchors, real tables, server-highlighted code blocks, callouts, statistics with a required source, pull quotes, key takeaways, and an FAQ built from details elements so the answers are in the raw HTML rather than mounted by JavaScript.
depends on @agentblog/blog-ui
npx shadcn@latest add @agentblog/mdx-components
@agentblog/publish-webhook
block2 filesA publish endpoint that revalidates the metadata routes as well as the page routes, because sitemap.xml and feed.xml are cached route handlers that a naive webhook leaves stale, and then submits the URL to IndexNow with the response codes surfaced rather than swallowed.
depends on @agentblog/blog-core
npx shadcn@latest add @agentblog/publish-webhook
@agentblog/seo-routes
block5 filessitemap.xml built from real content dates rather than the build clock, an environment-guarded robots.txt that declares your AI access preferences, an RSS 2.0 feed, a site-level Open Graph image, and a 404 that returns a real 404.
depends on @agentblog/blog-core
npx shadcn@latest add @agentblog/seo-routes
@agentblog/source-mdx
block8 filesPosts as MDX files in your repository, which is the storage option a coding agent can genuinely maintain. Includes the content source adapter, the single MDX compilation point, two local remark plugins, and two seed posts written to the GEO playbook so they double as the format specification.
depends on @agentblog/blog-core, @agentblog/mdx-components
npm github-slugger, gray-matter, next-mdx-remote-client, rehype-autolink-headings, rehype-pretty-code, rehype-slug, remark-gfm, shiki
npx shadcn@latest add @agentblog/source-mdx
@agentblog/theme
baseA reading-optimised base for a standalone blog site: neutral base colour, a comfortable measure, and generous line height. Intended for a fresh scaffold. `agentblog create` does not apply it yet, so add it by hand on a new project. Never install it into an app that already has a design system: a base carries style, icon library, and base colour, and applying one replaces what is already there.
npx shadcn@latest add @agentblog/theme
What the item types mean
- block
- A group of files that ships together, usually routes or a component set.
- lib
- Modules under your
libalias. No UI. - component
- Components under your components alias.
- base
- A style, an icon library, and a base colour. Never installed into an app that already has a design system.
Dependencies written as bare names (card, button) resolve to the built-in shadcn items against your own configuration, which is how the blog inherits your theme rather than importing ours.