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 — 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. Optional $39 unlock — 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.
Download on GitHub Source on GitHub Buy Podcast — $39 CMS is free. Podcast is optional.
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.
Clone from GitHub, or unzip the latest Release (not main). Keep database/ and uploads/ writable. Later versions: Settings → Update. DreamHost notes are in the docs.
git clone https://github.com/Alta-forma/forma-cms.git 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 → Access. Later CMS versions: Settings → Update (GitHub Releases only — never main).
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.

A practical path from Figma or a static HTML folder to a shipped Forma page: slice the chrome, paste the unique layout, wire SEO, publish.

Lock the shared shell before you design twenty pages. Tokens in site-head, navigation in site-header, closing marks in site-footer.

There is no theme marketplace. Your HTML and CSS are the theme. Here is how to give Forma a real web design instead of fighting a preset.
Self-hosted PHP + SQLite. Dark admin. Agent API. One file you can move anywhere — this is the live product. Podcast is a $39 unlock.