Client recipes

OpenCode with Stable Baseline.

Connect OpenCode to Stable Baseline and get your entire codebase documented — architecture, schemas, security, business context — in one prompt.

Step 1 · Add the MCP server

Create or edit opencode.json in your project root. Two shapes are supported — pick whichever suits your auth model.

Using an API key (recommended)

opencode.jsonjson
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "sb": {
      "type": "remote",
      "url": "https://api.stablebaseline.io/functions/v1/cloud-serve/mcp",
      "headers": {
        "Authorization": "Bearer {env:STABLE_BASELINE_API_KEY}"
      }
    }
  }
}

Set your API key as an environment variable or in a .env file:

.envbash
STABLE_BASELINE_API_KEY=sta_your_api_key_here

Don't have an API key yet?

Go to your Stable Baseline organisation → Settings → MCP Setup → API Keys and create one. Full setup guide →

Using OAuth 2.1 (alternative)

If your organisation uses OAuth, OpenCode supports the MCP Authorization spec with automatic OAuth discovery:

opencode.json (OAuth)json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "sb": {
      "type": "remote",
      "url": "https://api.stablebaseline.io/functions/v1/cloud-serve/mcp",
      "enabled": true,
      "oauth": {}
    }
  }
}

OpenCode discovers the OAuth endpoints automatically via the Protected Resource Metadata spec (RFC 9728). On first use, it detects the 401 response and initiates the OAuth flow in your browser — no manual configuration required.

You can also manage OAuth sessions from the CLI:

Terminalbash
opencode mcp auth sb      # Authenticate
opencode mcp list         # Check connection status
opencode mcp logout sb    # Sign out

Project vs global config

ScopeFile locationWhen to use
Project (recommended)opencode.json in project rootTeam repos — commit to git, everyone gets it
Global~/.config/opencode/opencode.jsonPersonal setup across all projects

We recommend project-level config so every teammate picks up Stable Baseline automatically when they clone the repo.

Step 2 · Run setup

Open OpenCode in your terminal and run the slash command. That's it — the agent handles everything from here.

OpenCodeprompt
/sb:sb-setup:mcp

What sb-setup does, in order

  • Verifies the MCP connection — If it can't connect, it tells you exactly what to fix and waits for you to say “continue”
  • Resolves your workspace & project — If you have multiple, it asks you to pick. If none, it links you to app.stablebaseline.io to create them and waits for you
  • Creates .sb/config.json — Caches your workspace and project IDs locally
  • Checks for existing documentation — If the project already has docs, it shows you what's there and asks whether to augment, replace, or cancel
  • Analyses your repository — Tech stack, architecture, directory structure, dependencies, security model, infrastructure, domain context
  • Designs a bespoke documentation structure — No fixed template. Tailored to your repo's natural boundaries — by service, by domain, by layer, whatever fits
  • Creates the documentation in Stable Baseline — Real content with diagrams, not stubs
  • Generates AGENTS.md — A cross-IDE auto-sync rule file at your repo root
  • Provides a summary — Tree view of everything created, with next steps

If anything goes wrong at the connection or workspace steps, the agent stops, tells you exactly what to do, and waits for you to type continue after you've fixed it. No need to start over.

What gets documented

The agent doesn't follow a checklist. It reads your code and documents what matters for this repo. Areas it considers:

  • Technical standards & coding patterns — how code should be written in this stack
  • Architectural patterns — system design, component relationships, data flows, API contracts
  • Security patterns — auth flows, authorisation, data protection, secrets management
  • Operational & maintenance — deployment, monitoring, incident response, runbooks
  • Compliance & governance — regulatory requirements, audit trails, data retention
  • Business context — business rules, domain models, stakeholder requirements
  • Drift prevention — the “why” behind decisions so future developers don't deviate

How auto-sync works

The AGENTS.md file generated in step 2 contains a table mapping your repo's file patterns to Stable Baseline documents:

File patternDocumentation impactAction
src/auth/**Authentication & Authorization doceditDocument
migrations/**Data Model doceditDocument
docker-compose.yml, Dockerfile*Deployment & Infrastructure doceditDocument
openapi.yaml, src/routes/**API Reference doceditDocument

These patterns are specific to your repo. When OpenCode's agent changes files matching a pattern, it knows which Stable Baseline document to update — and does so automatically via the MCP tools.

AGENTS.md is cross-IDE

AGENTS.md is the Linux Foundation / Agentic AI Foundation standard. It works in OpenCode, Cursor, VS Code Copilot, Claude Code, Windsurf, Zed, Warp, Roo Code, Aider, and 15+ other tools. Switch IDEs and the auto-sync rules follow.

File structure

text
your-project/
├── opencode.json         # MCP server config (Step 1)
├── .sb/
│   └── config.json       # Project IDs (auto-generated)
├── AGENTS.md             # Cross-IDE auto-sync rules (auto-generated)
└── ...

All files are safe to commit to git. When using an API key with {env:STABLE_BASELINE_API_KEY}, the key stays in your environment — not in the config file. Or use OAuth to avoid secrets entirely. Add .sb/ to .gitignore if you prefer to keep IDs local.

Try it

Your baseline docs are ready. Here are prompts worth pasting next:

Generate an ERD diagram from my database schema and add it to my docs.

Create a sequence diagram for the authentication flow.

Summarise the key design decisions in this repo and document them.

Add a deployment architecture diagram to my infrastructure doc.

What documentation is out of date after the changes I just made?

Regenerate documentation

Need to start fresh? Tell OpenCode:

OpenCodeprompt
Delete all existing folders and documents in my Stable Baseline project,
then re-run the /sb:sb-setup:mcp command to regenerate everything from scratch.

Destructive action

This deletes all existing documents and folders in your Stable Baseline project. Document version history will be lost.