Docs

Architecture

Three interfaces, one headless engine, one portable site recipe.

Three interfaces write to one engine. One persistence layer. One renderer.

Builder UI ──┐
ner CLI      ├──► applyCommands() ──► Firebase ──► hosted site
MCP          ──┘

No interface is privileged. A section added via CLI appears in the builder. A skin switched via MCP updates the hosted site.

Headless engine

The engine is a stateless TypeScript layer. It does not own the UI. It accepts a site document and a command batch; it returns an updated document.

CLI / MCP / API
      │
      ▼
Interpreter → command router → applyCommands()
      │
      ▼
Validated site shapes → database → hosted render

All inputs validate before they persist. Invalid commands fail closed.

Interfaces

InterfaceBest for
Builder UIVisual editing, content, publish
ner CLITerminal batch edits and scripting
MCPAI tool integrations (Cursor, Claude, and similar)

Customer how-tos: Using nertia. Developer tools overview: Tools.

Portable output

The site is a recipe — pattern + skin + content. Export is first-class. Hosted sites live at {slug}.nertia.ai; custom domains are optional paid hosting.

Keep reading

Architecture — docs