CMS

Forma vs Grav, Statamic, Kirby (and friends)

Flat-file elegance, Laravel-grade CMS power, Kirby’s chef’s-knife DIY — and where a portable SQLite + Agent API CMS actually fits.

Pick your constraint

Every CMS is a bet about what you’re willing to carry.

Bet Typical cost Typical payoff
WordPress Plugins, updates, ceremony Infinite ecosystem
Grav Flat-file discipline Fast, elegant, Git-friendly content
Statamic Laravel + license Gorgeous CP, serious site building
Kirby PHP templates you own Tiny core, huge craft ceiling
Forma Willingness to hack a little One SQLite file, htmx admin, Agent API, SEO baked in

None of these are “wrong.” They’re different weights.

Grav — the flat-file north star

Grav proved you don’t need MySQL to feel modern. Markdown in folders, blazing reads, a community that cares about craft.

Where Forma agrees: portability, Markdown-first writing, no database theater for its own sake.

Where Forma diverges: we do use SQLite — on purpose. Queries, settings sections, podcast episodes, token scopes, and site packages get simpler when content isn’t only a directory walk. You still back up one file plus uploads/.

If your religion is “never a database,” Grav remains the cathedral. If your religion is “never a server database,” SQLite is the compromise that still fits on shared hosting.

Statamic — the professional flat-ish CMS

Statamic (on Laravel) is what you reach for when the control panel has to delight clients and the site has real structural complexity. It’s excellent. It’s also a bigger stack and a commercial product with its own gravity.

Choose Statamic when you want Laravel’s ecosystem and a CP that feels like a product studio.

Choose Forma when you want a single deployable PHP app, shared-hosting friendly, with agents in the loop via HTTP — not Artisan as the primary CMS API.

Kirby — the chef’s knife

Kirby is beloved because it stays out of your way. You build the panel around your content blueprints. It’s a toolkit with taste.

Overlap: PHP, file-friendly thinking, independence from WP’s plugin economy.

Difference: Forma ships opinionated admin + blogging + SEO + Agent API as a coherent product. Kirby ships leverage; you ship the shape. If you want to invent the CMS each time, Kirby sings. If you want a known shape that agents can learn from GET /help, Forma is louder on purpose.

WordPress — the weight we already wrote about

Still the default. Still heavy. Forma exists for the sites that don’t need the mall — they need a sharp storefront, a blog with correct RSS, and an escape hatch that isn’t “hire a migration team.”

The Agent-shaped gap

Here’s the quiet differentiator in 2026: AI agents are coworkers.

Flat-file folders are agent-friendly until permissions, frontmatter drift, and deploy hooks turn every edit into a git ceremony. Headless SaaS is agent-friendly until you’re renting your CMS forever.

Forma’s Agent API is scoped HTTP over the same model humans edit — pages, posts, snippets, media, SEO, packages. Cursor MCP is a thin wrapper. That’s the workflow we optimize for: pair-program the site.

A blunt recommendation

  • Grav — pure flat-file joy, Git as source of truth
  • Statamic — client-ready CP on Laravel, budget for the stack
  • Kirby — bespoke content architecture, you like building panels
  • WordPress — ecosystem gravity, plugin answers for everything
  • Forma — portable SQLite, dark htmx admin, Markdown blog, SEO without theater, agents with a leash

If you want the site in one package and an agent that can fix your homepage before coffee — that’s the lane.