Code Designer is the IDE-shaped sibling of Grav MUD. Same spec language. Different runway — Next.js + Monaco instead of PHP on your cPanel. Built because sometimes you want to draft the page before Grav even boots.
One language, two runtimes
| Surface | Job |
|---|---|
| Grav MUD (this site) | Production CMS — .mud pages, themes, cache, deploy |
| Code Designer | Authoring shell — split editor, live preview, agent assist |
Both talk to packages/mud-parser in the Code Designer repo — TypeScript reference implementation. PHP compiler in grav-mud-alpha targets the same fences. Parity is the product.
What's in Flight Deck Alpha
- Monaco editor —
.mudand.nonbuffers with syntax that doesn't pretend to be JSON. - Live HTML preview — see fences compile without
php bin/grav clearcacheritual. - Composer 2.5 panel — Cursor SDK agent (BYOK) that reads your open buffers. Ask it to add a pricing block. Regret nothing.
- Extensions API stub — future plugin hooks for templates, export, CURSY microsites.
Promo site: codedesigner.cloud · Repo: CodeDesigner-app on your machine if you're Team DC privileged.
Why it exists
Grav admins aren't always at localhost:8090. Writers aren't always in Admin Panel. Agents definitely aren't clicking "Add Modular."
Code Designer is the workbench — draft spec, preview layout, copy into user/pages/foo/default.mud, or run the static exporter and ship HTML.
Static export — the handshake
Lone Mamber proved the pipeline: Grav renders → PHP export script → web/ folder → node server.mjs.
We ported that exporter here too (scripts/export-static.ps1). Write in Code Designer. Compile in Grav. Export static. Host anywhere.
That's not betrayal of flat-file CMS — it's optionality. Grav when you want CMS. HTML when you want cheap hosting and zero PHP drama.
Who it's for
- You — if you've ever said "I'll just tweak the Twig" and lost an hour.
- Agencies on Seed/Studio tiers — client handoff includes
.mud+ theme, not a Elementor lock-in. - Future you — when Flex Pages lands and you want migration tools that speak spec, not scrape DOM.
Try it: clone CodeDesigner-app, npm run dev, open /editor. Paste a fence from /spec. Watch it breathe.
Then: WHO ARE WE ANYWAY?! · Grav MUD Services