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.