FullstacX Spatial Canvas OS
GitHub
Beyond Terminal Tabs: Bidirectional Human + Agent Spatial Canvas

The Infinite Canvas for
Agents, Browsers & Code

Tired of juggling terminal tabs, losing context, and hiding agents in background processes? FullstacX gives you and your autonomous agents a shared 2D workspace to spawn sandboxed worktrees, inspect live browsers, review side-by-side diffs, and control GitHub pipelines.

Explore Interactive Playground

Open source (Apache-2.0). Interactive preview below — drag the nodes!

Cluster: feat/oauth-billing
Action triggered
Terminal · Worktree #1
WORKING
$ fullstacx spawn-worktree feat/oauth-billing
[pty:2901] Isolated container @ localhost:8000
> claude-code --task "Wire Stripe customer portal"
✓ Worktree checked out to /var/tmp/wt-44
Tool: browser.eval("document.title")
Status: Validating checkout redirect...
✓ Test passed: tests/test_billing.py (0.2s)
Agent: Claude Code 3.7 PID: 5821
Headless Browser Node
DOM: VERIFIED
http://localhost:3000/settings/billing
Subscription Management Pro Active
Stripe Billing Portal
Current cycle renews Oct 12. 5 parallel agent seats allocated.
Agent DOM Inspection: 0 console errors detected
Engine: Chromium DevTools Port: 3000
billing_portal.py
DIFF +48 -3
22 import stripe
23 from fastapi import APIRouter
- 24 def get_portal(): return None
+ 25 async def create_portal_session(user_id):
+ 26 session = stripe.billing_portal.Session.create(...)
+ 27 return RedirectResponse(session.url)
28 # Agent highlighted line 27 for human signoff
LSP: Pyright Active UTF-8
GitHub Plugin Card
PR #142
feat(billing): integrate stripe customer portal
3 Checks Pass | 1 Review Requested
Branch: feat/oauth-billing Target: main
Click and drag cards across the canvas

The 4 Spatial Primitives

Every development asset is an addressable node on the canvas, controlled seamlessly by both humans and agents.

Sandboxed PTY Terminals

Every agent runs inside an isolated Git worktree and container with its own database branch. Never let an agent pollute your local branch.

Headless Browser Nodes

Embed real WebKit/Chromium panes. Agents inspect DOM structures, read console outputs, and take screenshots to verify UI modifications.

Monaco Diff Editors

Lightweight floating VS Code code editors. Agents highlight specific changed lines and request human signoffs before committing code.

GitHub UI & Plugin Cards

Manage issues, pull request reviews, and CI test matrices right on the canvas. Agents can post review responses and trigger merges.

Bidirectional Agent MCP

Agents Control the Canvas Too

Through our native Model Context Protocol (MCP) server and Unix domain socket, coding agents don't just dump text into a scrollback buffer. They programmatically spawn editors, open browser windows, and arrange their own spatial workspace.

  • fullstacx browser capture-dom for visual regression checks
  • fullstacx editor open --diff to present human review gates
  • fullstacx github pr create once CI passes automatically
agent_canvas_protocol.json (MCP Tool Call) JSON-RPC 2.0
{
  "jsonrpc": "2.0",
  "method": "canvas/spawnNode",
  "params": {
    "type": "browser",
    "position": { "x": 640, "y": 120 },
    "config": {
      "url": "http://localhost:3000/settings/billing",
      "watch_dom_errors": true,
      "auto_screenshot_on_hydration_error": true
    },
    "parent_worktree_id": "wt-oauth-billing"
  }
}