Admin that respects your eyes
Dark, fast, htmx-driven. Built for long editing sessions, not dashboard cosplay.
Forma
Dark admin. Pages, blog, podcasts. Real SEO. An Agent API for Cursor. One SQLite file you can back up, move, and ship anywhere.
Portability, not theater
The old pitch was “no database.” The honest one is better: Forma keeps everything in a single SQLite file. Fast enough to feel local. Small enough to copy. Serious enough to run a real site.
formax-site-*.zip
No connection pool, no Redis ritual. PHP + SQLite on cheap hosting still feels snappy.
Drop the folder on Apache or Nginx. Log in. Change the damn password. Build.
Move hosts with a zip: database, uploads, and a versioned manifest future Forma can migrate.
One admin. CSRF. Rate-limited login. File validation. Fewer moving parts, fewer ways to get wrecked.
Why Forma kicks ass
Same spirit as the original Forma site — updated for the FormaX / FormaLITE line: SQLite core, htmx admin, agent-ready.
Dark, fast, htmx-driven. Built for long editing sessions, not dashboard cosplay.
Markdown, HTML, or Twig. Own the markup. Ship the layout you actually want.
Markdown-first posts, clean RSS/JSON feeds, publish dates that mean something.
Episodes, show notes, iTunes-compatible feed. You host the audio; Forma handles the XML.
Reusable blocks with shortcodes. Write once, drop everywhere — copy-paste is for suckers.
Upload, preview, link. Images and audio without a plugin bazaar.
robots.txt, sitemap (with images), Open Graph, JSON-LD, redirects, health checks — automatic when you let it.
Scoped Bearer tokens. Cursor MCP. Update pages and posts over HTTPS without SSH theater.
Modern auth, CSRF, upload validation, .htaccess helper. Tough as nails, not theater security.
See it in the product
No theme store. No page-builder prison. Forma assumes you’re willing to hack a little — and rewards you for it.
Try the admin Opens in a new tab · guided walkthrough
Sections load fast. Editors use real code tools. Settings for SEO, hosting, cache, agents, and versioned backups live where you’d look for them.
Distraction-light editing, meta fields that matter, SERP / OG previews so you see what Google and social will see before you publish.
Create a token, point Cursor at the MCP server, and let an agent edit content with scopes — content, media, settings, backup — not a shell on your box.
Get started in minutes
No MySQL wizard. No Composer rabbit hole. PHP 8.1+, SQLite, and a web root.
Upload the FormaX tree (or clone when the public repo is current). Keep database/ and uploads/ writable.
chmod -R 775 database uploads feeds
Apache with mod_rewrite, or Nginx try_files. Local hack:
php -S localhost:8787 router.php
Open /admin. Default credentials ship for first boot — change them immediately in Settings → Account.
Edit the home page, wire SEO, upload a favicon, hit Backup for a site package before you get brave.
From the blog
CMS craft, agents, SEO, and portability — written like we build. Subscribe via RSS or JSON Feed.
Declarative HTML, server-rendered truth, tiny surface area. Why Forma’s admin uses htmx — and why that’s exactly what agents want too.
What a scoped Forma token can actually touch — help, pages, posts, snippets, media, SEO, settings, packages — and what it deliberately cannot.
One zip. Manifest, SQLite, uploads. Move hosts, clone staging, or hand a site to an agent — without a migration consultant.
Self-hosted PHP + SQLite. Dark admin. Agent API. One file you can move anywhere — this is the live product.