Documentation

AI Tools overview

The Vibe Studio + agent-zero ecosystem — workspace UI, agent runtime, sessions, and deploy target.

AppMint's AI tools are a small set of cooperating products that let a builder describe an app in natural language and ship it to a live URL. The pieces are small on purpose — each one does one thing — but together they cover the whole loop from "open a workspace" to "preview at <orgId>-<projectName>.spinforge.dev".

The pieces

                          ┌───────────────────────────┐
   builder's browser ───▶ │   Vibe Studio (Vite/React)│
                          │   — workspace IDE         │
                          └─────────────┬─────────────┘
                                        │  HTTP + Socket.IO
                                        ▼
                          ┌───────────────────────────┐
                          │   session-manager (TS)    │
                          │   — workspace sessions    │
                          │   — runs agent-zero       │
                          │   — owns SpinForge key    │
                          └────┬────────────┬─────────┘
                               │            │
                ┌──────────────▼──┐    ┌────▼─────────────┐
                │  agent-zero     │    │  SpinForge       │
                │  (a-full TS or  │    │  — deploy target │
                │   a-mini PY)    │    │  — subdomains    │
                └──────────────┬──┘    └────┬─────────────┘
                               │            │
                               ▼            ▼
                          ┌───────────────────────────┐
                          │   AppEngine               │
                          │   — discovery API         │
                          │   — repository / data     │
                          │   — auth / customers      │
                          │   — AI module             │
                          └───────────────────────────┘

Vibe Studio

A Vite + React workspace UI. Customers open it from studio.appmint.io, pick a dev environment, and see a code editor on the left, a live preview on the right, and an AI agent at the bottom. The agent edits files in the workspace; the preview pane re-renders after each change. When the customer is happy they click Deploy and the app ships to a SpinForge subdomain.

Source: /Users/imzee/projects/agent-zero/vibe-studio/.

agent-zero

Two AI agent runtimes that share design and tooling.

  • a-full is the production runtime — TypeScript, ~thousands of files in src/ covering streaming, tools, skills, memory, multi-agent, ink-based UI, and dialog launchers.
  • a-mini is the reference runtime — Python, ~5000 lines, an explicit pedagogical reimplementation of Claude Code that ships memory, skills, sub-agents, and tool registry as cleanly separable packages.

Both implement the same model: a streaming agent loop, a registry of pluggable tools, markdown-driven skills, persistent memory, sub-agent composition, and a discovery-first approach to AppMint integration. Use a-mini to learn the model and write custom skills; use a-full as the deployed runtime in Vibe Studio.

Source: /Users/imzee/projects/agent-zero/a-full/ and /Users/imzee/projects/agent-zero/a-mini/.

session-manager

A Node + TypeScript service that owns workspace sessions. Each builder gets an isolated session with a workspace directory, a Socket.IO bridge to the running agent, and a credential vault that holds the SpinForge partner key (sfpk_…) the browser is never allowed to see. Vibe Studio talks to session-manager; session-manager talks to SpinForge.

Routes cover dev environments (create, list, delete), planner cards, conversations, git operations, cohost tokens (view-only collaboration), and deploys. The full route table is in session-manager/src/routes/index.ts.

Source: /Users/imzee/projects/agent-zero/session-manager/.

SpinForge

The deploy target. A SpinForge site is a customer subdomain (<orgId>-<projectName>.spinforge.dev) backed by a static or Node deployment. session-manager packages the workspace, calls SpinForge's partner API with the partner key, and SpinForge handles DNS, TLS, and CDN.

Custom domains attached via AppEngine's /dev-env/attach-domain/<projectName> get synced to SpinForge on the next deploy.

AppEngine AI module

The shared backend. Every agent-zero invocation calls AppEngine's /discover/* endpoints first to get up-to-date schemas — discovery-first is a hard rule, baked into the agent's instructions (AI-INSTRUCTIONS.md § 5.1). The AI module also handles assistant configs, tool gating, and the LLM provider mux.

How a deploy actually flows

  1. The builder edits a file in Vibe Studio.
  2. The agent (a-full inside session-manager) runs in the workspace, calls AppEngine for any data it needs, and writes file edits via its Read/Edit/Write/Bash tools.
  3. The preview pane in Vibe Studio re-renders against the workspace's local server.
  4. Builder clicks Deploy. Vibe Studio POSTs /api/deploy/spinforge/:orgId/:projectName on session-manager with the builder's AppMint JWT.
  5. session-manager packages the workspace, forwards to SpinForge with the partner key, and streams progress back over SSE.
  6. The site is live at https://<orgId>-<projectName>.spinforge.dev.

The builder never sees the partner key, never logs into SpinForge, never edits a spinforge.toml. There isn't one. See Things that do not exist — fabricating CLI commands or config files is the most common new-user mistake.

Where to start