# Termbell — agent guide

Companies publish updates (incidents, deploys, security notices, CI breakages, announcements) to channels. Each developer chooses
which ones reach them. Their coding agent — Claude Code, Codex, Cursor, Gemini CLI, any MCP client — brings the relevant ones into
the session where the work happens.

## Connect
- Install: `curl -fsSL https://openmoney.ai/install.sh | sh`, then `termbell login` (device login with the developer's work Google account,
  or `termbell pair CODE` with a code from https://openmoney.ai/connect) and `termbell setup auto` (or name agents: claude-code, codex, gemini-cli, cursor, windsurf, vscode-copilot, copilot-cli, cline, roo-code, continue, zed, amp, opencode, goose, kiro, antigravity, qwen-code, factory-droid, warp, claude-desktop).
- One-shot onboarding from the web: a signed-in developer gets a QR code / one-liner at https://openmoney.ai/connect; `curl -fsSL https://openmoney.ai/go/CODE | sh`
  installs, pairs and configures every agent on the machine. Full guide for agents: https://openmoney.ai/setup.md
- Claude Code plugin marketplace: `claude plugin marketplace add ~/.termbell/plugin && claude plugin install termbell@termbell`.
- Remote MCP: `https://openmoney.ai/mcp` with `Authorization: Bearer om_dev_…` (streamable HTTP). Stdio: `termbell mcp`.
- Registry of every supported agent and how it's configured: https://openmoney.ai/integrations/harnesses.json

## Supported agents
- Claude Code (claude-code): native plugin (hooks + MCP), updates at session start — verified 2026-10-08
- Codex CLI (codex): native plugin (hooks + MCP), updates at session start
- Gemini CLI (gemini-cli): hooks + MCP via `termbell setup`, updates at session start
- Cursor (cursor): hooks + MCP via `termbell setup`, updates at session start
- Windsurf (windsurf): MCP via `termbell setup`, updates when asked
- GitHub Copilot in VS Code (vscode-copilot): MCP via `termbell setup`, updates when asked
- GitHub Copilot CLI (copilot-cli): MCP via `termbell setup`, updates when asked
- Cline (cline): MCP via `termbell setup`, updates when asked
- Roo Code (roo-code): MCP via `termbell setup`, updates when asked
- Continue (continue): MCP via `termbell setup`, updates when asked
- Zed (zed): MCP via `termbell setup`, updates when asked
- JetBrains AI Assistant & Junie (jetbrains): paste a snippet (termbell setup print <id>)
- Amp (amp): MCP via `termbell setup`, updates when asked
- OpenCode (opencode): MCP via `termbell setup`, updates when asked
- Goose (goose): MCP via `termbell setup`, updates when asked
- Kiro (kiro): MCP via `termbell setup`, updates when asked
- Antigravity (antigravity): MCP via `termbell setup`, updates when asked
- Qwen Code (qwen-code): MCP via `termbell setup`, updates when asked
- Factory Droid (factory-droid): MCP via `termbell setup`, updates when asked
- Warp (warp): MCP via `termbell setup`, updates when asked
- Claude Desktop (claude-desktop): MCP via `termbell setup`, updates when asked
- Crush (crush): paste a snippet (termbell setup print <id>)
- OpenHands (openhands): paste a snippet (termbell setup print <id>)
- Trae (trae): paste a snippet (termbell setup print <id>)
- Augment Code (augment): paste a snippet (termbell setup print <id>)
- ChatGPT (chatgpt): paste a snippet (termbell setup print <id>)
- Replit Agent (replit): paste a snippet (termbell setup print <id>)
- Devin (devin): paste a snippet (termbell setup print <id>)
- Aider (aider): CLI only (termbell watch / context --write)
- Any MCP client (other): paste a snippet (termbell setup print <id>)

## Tools (developer token)
- `termbell_updates { repo?, unread_only=true, limit=10 }` — newest relevant updates, most relevant to `repo` first.
- `termbell_ack { ids | "all" }` — the developer saw it and will act. `termbell_mark_read` — seen, no commitment.
- `termbell_channels {}` — organisations, channels (required ones always arrive) and current rules.
- `termbell_set_subscriptions { org?, subscriptions: [{ channel, min_severity, tags, keywords }] }` — replace rules; ANY rule matching delivers; empty = everything.

## REST (Bearer om_dev_…)
- `GET https://openmoney.ai/api/dev/v1/context?repo=NAME` — plain text for session hooks; each update appears once; empty when nothing is new.
- `GET https://openmoney.ai/api/dev/v1/updates?unread=1&repo=NAME`, `POST /api/dev/v1/ack {ids}`, `POST /api/dev/v1/read {ids}`
- `GET|PUT https://openmoney.ai/api/dev/v1/subscriptions`, `GET https://openmoney.ai/api/dev/v1/stream` (Server-Sent Events, `event: update`)
- `POST https://openmoney.ai/api/dev/v1/pair { code, client }` — redeem a pairing code for a token (one use, 15 minutes).

## Behaviour
Mention critical/warning updates and anything relevant to the current repo once, briefly, when they bear on the task. Check before
actions an update warns against. Acknowledge with `termbell_ack` when the developer confirms.

## Publishing (company side)
`POST https://openmoney.ai/api/teams/ingest/<key>` with `Authorization: Bearer <ingest secret>` and
`{ channel, title, body?, severity: info|notice|warning|critical, tags?: ["repo:api"], link? }`, or point a GitHub webhook at
`https://openmoney.ai/api/teams/github/<key>` (secret = ingest secret) for CI failures, releases, deploys, merges and security alerts.
