Zvessa docs

Layers and the blueprint

The layers #

LayerWhat it isRuns whereToday
CoreDashboard (HQ, page, AI chat), account, versionsInside ZvessaDashboard, versions, sign-in
FeaturesEngines a workspace switches onInside ZvessaNone yet
BlocksReady parts, configuration onlyInside Zvessa10 + 3 HQ blocks
AppsCustom logic: AI-made mini-apps, developer appsSandbox (WebView / iframe)Mini-apps
StylesLooks as settings (docs/STYLES.md)Inside ZvessaClassic, Futuristic, own styles, page looks
TemplatesReady-made blueprintsDataThe default starter
CapabilitiesMCP, API keys, HTTP, jobsServer onlyPlanned

Quick test for something new:

The blueprint #

One JSON document per workspace (convex/lib/blueprint.ts):

{
  "identity":  { "name": "My space" },
  "words":     { "chatTitle": "AI", "approve": "Approve" },
  "look":      { "style": "futuristic", "scheme": "system", "changes": { "colors": { "accent": "#22c55e" } } },
  "styles":    [{ "id": "paper", "name": "Paper", "extends": "classic", "type": { "body": "serif" } }],
  "dashboard": { "panes": [{ "kind": "page", "page": "hq" }, { "kind": "page", "page": "home" }, { "kind": "chat" }] },
  "pages":     [{ "id": "home", "title": "Home", "blocks": [{ "id": "hello", "kind": "heading", "props": { "text": "Hello" } }] }],
  "apps":      [{ "id": "snake", "name": "Snake", "html": "<canvas>…</canvas>" }]
}

Changes are JSON Patch ops (add, replace, remove). Every applied change is checked (checkBlueprint) and saved as a version, so undo is "restore version N".

Three ways in #

  1. HQ: screens that edit parts of the blueprint.
  2. The AI: proposes a patch, the person approves.
  3. The API / MCP server (later): the same propose and approve, under the same permissions.