Drop a .md file in your repo and it becomes a blog post — with RSS, SEO, JSON-LD,
and type-safe queries. Works with Next.js, Astro, and React.
Every product needs a blog. Contentlayer is dead. Astro Collections are Astro-only. Next.js starters are copy-paste nightmares. Yamblog is the missing middle.
Markdown files in a directory. Frontmatter as schema. Move providers, fork the repo, hand it to an LLM — your content goes with you.
Define frontmatter once and get full TypeScript inference across every query, metadata helper, and adapter. Mistypes fail at build, not in production.
All business logic lives in @yamblog/core. Adapters for Next.js, Astro, and React are thin wrappers — switch frameworks without rewriting your blog.
defineBlog() with no args just works. Site URL is auto-detected from env vars. Reading time, draft filtering, related posts, full-text search — all on by default.
JSON-LD Article schema, OpenGraph, Twitter cards, canonical URLs, RSS 2.0, and a sitemap — generated automatically from the same posts you already wrote.
Stable blog-{slug} IDs as foreign keys, Zod-validated frontmatter, predictable file layout. Drop the setup prompt into Claude Code and walk away.
Install only what you need. The public API is small and intentional — the core keeps runtime dependencies minimal, and each adapter adds only what its framework requires.
The prompt tells the model to detect the platform, confirm Yamblog support, install the right adapter, create a sample post, and self-correct if the first pass is wrong.
The agent should confirm whether the project is Next.js, Astro, or React/Vite. If not, it should stop instead of forcing a broken integration.
Have the agent read package.json, config files, and app structure before touching anything. It should name the platform and explain why.
Use the official Yamblog package pair for the detected platform and follow local project conventions for package manager and file layout.
A first hello-world.md file proves the content path, frontmatter parsing, and route wiring are all correct.
If imports, routes, or paths fail, the agent should repair the integration and re-check instead of stopping at the first error.
Need the full version? Read Prompt for LLMs.
No CMS, no database, no hosted service to depend on. Install, write, ship — your content lives in your repo.
Read the full guide: Getting Started for humans, Prompt for LLMs for coding agents.