▲ FEATURES

Six primitives — designed to work together.

Each one is a piece of the contract: AI flexibility for the people who need it most, running in the environment you already control. Agents that hold project context, boards that adapt to the work, spaces that pin to a real directory, click-to-edit for non-developers, public dev URLs, and an MCP server you can extend. Nothing magic. Nothing hidden.

§ 01 ──────────

Agents that know the project, not just the prompt

Every workspace starts with Maximus, a Claude-powered master agent that holds the full organisational context. Each Space gets its own scoped specialist.

▸ Maximus · master agent
Always reachable from the main chat panel and can reach everything else — create spaces, spawn specialist agents, delegate, summarise.
▸ Per-space isolation
Each project gets its own agent with a dedicated chat thread, filesystem scope, and history. Context stays where it belongs.
▸ Templates and teams
Build a tested agent — system prompt, MCP tools, permissions — and publish it as a reusable template. Group templates into teams.
▸ Autopilot
Set an idle timer. When no message arrives for N minutes, the agent fires its autopilot prompt: pull issues, summarise the diff, triage tickets.
▸ Custom MCP tools per agent
Wire any MCP-compliant server into a specific agent. Tools are scoped — no accidental cross-project access.
▸ Cost-bounded conversations
Long histories are auto-summarised. Agents stay coherent across weeks without ballooning your token spend.
── AGENT REGISTRY
maximus
master · all spaces
frontend
landing-redesign
triage
support-bus
release
ledger-api · autopilot
finance
books-q4
§ 02 ──────────

Kanban that adapts to the work, not the other way around

Boards aren't static. Every board defines its own task shape via JSON schema. The form renders itself — no plugin, no code change.

▸ Custom task schemas
A bug tracker has severity, repro steps, owner. A content pipeline has slug, draft link, reviewer. Define the shape and work.
▸ Agents move tasks
Triage agent pulls bugs into review. Release agent marks tasks done when CI passes. Same MCP interface humans use.
▸ Real-time sync
Drag a card across columns and every connected client sees it instantly. No refresh, no conflicts.
▸ Per-board chat
Every board has its own chat panel with the assigned agent. Board context stays scoped — no cross-project noise.
── BOARD · BUGS
triage agent · live
INBOX · 8
#1247 · 500 on /auth
#1248 · spinner stuck
#1249 · CSS regression
TRIAGED · 4
#1241 · slow query
#1240 · text overflow
DOING · 2
#1237 · fix CSP
#1235 · retry logic
DONE · 12
#1232 · deploy fix
#1230 · log truncation
§ 03 ──────────

A project isn't a folder. It's a workspace.

A Space is a real directory on your filesystem. Point it at ~/projects/my-app and everything builds from there — agent, board, chat, files, tunnel.

▸ Everything scoped
Each Space has its own AI agent, chat session, filesystem access, board, and tunnel. No config bleed.
▸ Create by command
Ask Maximus: "Make me a space called landing-redesign at ~/projects/landing." It writes the agent config, CLAUDE.md, MCP config, board defaults.
▸ Multi-session
Run parallel conversations inside the same Space. Debugging a test in one, writing docs in another, pairing on a refactor in a third.
── ~/projects
▸ landing-redesign/      ● 3 sessions
   ├─ .staff/agent.toml
   ├─ .staff/board.json
   └─ src/...
▸ ledger-api/           ● autopilot
▸ design-system/        ○ idle
▸ marketing-site/       ○ idle

 maximus, make a space called design-2026 at ~/projects/design-2026
   → writing CLAUDE.md        ok
   → writing .staff/board.json ok
   → linking MCP tools          ok
✓ space ready · open it now? [y/N]
§ 04 ──────────

Annotate your running app. The agent fixes it.

The Frontend Helper is a floating widget you embed on any running page. Activate it, click anything, write a comment. The agent receives everything it needs to make the right change.

▸ Click-to-annotate
Selector, surrounding HTML, computed styles, accessibility role, component tree (5 levels), source file, screenshot.
▸ Drag-rect multi-select
Hold Shift and drag a rectangle. Every element inside becomes a zone in one batch.
▸ Text-range capture
Highlight a phrase first. The agent receives the exact substring — not just the parent.
▸ Intent, severity, kind
Tag every annotation: fix · change · ask · approve. Mark it blocking, important, or a suggestion.
▸ Annotation lifecycle
pending → processing → acknowledged → resolved. The widget updates in real time.
▸ DONE inbox · per-zone threads · console-error attach · animation freeze · ⌘K palette · 60s idle collapse · drafts survive refreshes
All built in. Keyboard-first by design.
Welcome back, Sarah
email@example.com
1
▸ ZONE #1 · BLOCKING · FIX
this validation is wrong — it should reject empty strings
fix blocking
▲ HELPER · 1 OPEN
selector: input.email · screenshot ✓ · console: 2 errors attached
§ 05 ──────────

Public dev URLs. Managed by your agent.

Every Space can expose a persistent *.tunnel.staff.rip URL. Auto-reconciled via WebSocket when the board changes. No ngrok, no port forwarding.

▸ Persistent subdomains
Share once, reuse forever. Stable across restarts.
▸ Agent-managed dev server
Detects pnpm/npm/yarn dev. Status reports back to your board — green when ready, red with logs when crashed.
▸ Auto-reconcile
Tunnels are configured per board. Toggle a tunnel, the agent reconciles frpc on the fly.
▸ Per-endpoint auth tokens
32-byte tokens verified server-side at proxy registration. No subdomain hijacking.
▸ Multi-VPS routing
Round-robin across geographic VPS instances with per-subdomain Route53. Traffic lands in the nearest region.
── TUNNELS · LANDING-REDESIGN
landing.tunnel.staff.rip :3000 live eu-west · 38ms
preview.tunnel.staff.rip :4321 live us-east · 64ms
storybook.tunnel.staff.rip :6006 idle
agent reconciled frpc in 240ms · token verified ✓
§ 06 ──────────

staff.rip is MCP-native. Bring your own tools.

The entire workspace API is exposed as a Model Context Protocol server. Any MCP-compatible tool, IDE, or agent can integrate without a custom integration.

▸ MCP server endpoint
POST /api/mcp. List boards, create tasks, send chat, upload files, manage workers.
▸ API tokens
Long-lived JWTs for headless use cases — CI pipelines, scripts, your own automation. Scoped to org, revocable per token.
▸ staffrip-agent CLI
A standalone Node daemon. Run it on a developer's laptop or CI runner. setup → start → online.
▸ Self-updating workers
Push a new build, every worker rolls forward via versioned symlink. No manual SSH.
▸ Pick your AI provider
Bring your own API key, connect your existing Claude account, or use the bundled provider — staff.rip routes across upstreams to keep cost down without breaking your workflow.
POST /api/mcp JSON-RPC 2.0
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "create_task",
    "arguments": {
      "board": "bugs",
      "title": "500 on /auth",
      "severity": "high",
      "owner": "@triage"
    }
  }
}
▲ READY?

See it together.

The fastest way to understand staff.rip is to spin up your first project — three clicks, no credit card. Or read the developer docs to extend it. Or talk to sales when it needs to land in your own infrastructure.