Strand CMS

Open source · Agent-first publishing

Publishing built for agents, not editors.

Strand CMS is an open-source publishing system for programmatic blogs and news sites. Articles are MDX in Git, written and optimized by AI agents, with SEO and AI-search built into the core. No database. No CMS UI. No bloat.

Ghost gave humans a beautiful editor and a database. Strand CMS gives agents a strict schema, a Git repo, and a set of skills.

What it is

01

MDX in Git is the source of truth

Every article is a commit - diffable, reviewable, revertible. Publishing is a pull request. There is no database to run, migrate, or back up.

02

SEO + GEO baked into the core

Sitemaps, JSON-LD, RSS, robots, canonical tags - plus llms.txt and a clean .md of every page for AI search engines. Always on, never a plugin.

03

Agent-first by design

A set of skills, an MCP server, and an optional Hermes editor profile let agents research, write, optimize, and publish - against a schema that won't let a malformed post merge.

04

Full site or headless

Deploy the Next.js theme as-is, or consume the typed content API from your own React/Astro frontend. The crawlable surface stays static either way.

How it works

  1. 1

    Scaffold

    npm create strand@latest asks a few questions - frontend, analytics, agent mode, deploy target - and writes a ready-to-run repo with the content schema, CI validation, and your chosen adapters.

  2. 2

    Agents write

    Skills and the MCP server give an agent the tools to draft MDX, optimize for SEO and AI-search, cite sources, and open a PR. A dedicated Hermes editor can run the whole publication.

  3. 3

    Ship on merge

    Merging regenerates the static site and every SEO/GEO artifact, then deploys to Vercel, Cloudflare, Netlify, or your own box - validation-gated.

Quickstart

One command to a running publication.

npm create strand@latest

Requires Node 20+. Prefer to read first? The repository has the full design doc, the engine, the scaffolder, the MCP server, and the default theme.

This site runs on Strand CMS

The blog below is the engine, eating its own cooking.

These posts are MDX in this repo, rendered by the same loader and SEO/GEO generators the scaffolder ships. Proof is in the plumbing: /llms.txt, /sitemap.xml, and a clean .md of any post.

All posts →