bt setup configures Braintrust integrations for coding agents (Claude, Cursor, Codex, Opencode). Run it once in a repo or globally to give your agent access to Braintrust skills, MCP tools, and workflow documentation.
bt setup skills
Writes agent-specific skill files (.claude/skills/braintrust/SKILL.md, .cursor/rules/braintrust.mdc, etc.) so your agent knows how to use Braintrust. Also prefetches workflow docs.
bt setup instrument
Runs a coding agent against your repo to automatically add Braintrust SDK instrumentation (tracing, logging). The agent detects your project language, installs the exact SDK version, instruments your LLM clients, runs the app to verify the integration, and outputs a Braintrust permalink to the emitted trace.- Verifies that
BRAINTRUST_API_KEYis set — aborts if missing - Detects the project language from build files:
package.json→ TypeScript,requirements.txt/pyproject.toml→ Python,pom.xml/build.gradle→ Java,go.mod→ Go,Gemfile→ Ruby,.csproj→ C# - Looks up and installs the latest exact SDK version (never uses
latest) - Instruments LLM clients in the app entry point
- Runs the app to verify traces are emitted
- Outputs a Braintrust permalink to the captured trace
BRAINTRUST_API_KEY set.
Supported languages: Python, TypeScript/JavaScript, Go, Java, Ruby, C#
Instrumentation approach by language:
| Language | SDK package | Instrumentation |
|---|---|---|
| Python | braintrust | braintrust.init_logger() + braintrust.auto_instrument() or manual wrappers |
| TypeScript | braintrust | initLogger() + wrapOpenAI() / framework wrappers |
| Go | github.com/braintrustdata/braintrust-sdk-go | braintrust.New() + Orchestrion compile-time instrumentation |
| Java | dev.braintrust:braintrust-sdk-java | Braintrust.get() + BraintrustOpenAI.wrapOpenAI() |
| Ruby | braintrust gem | require "braintrust/setup" or braintrust exec wrapper |
| C# | Braintrust.Sdk NuGet | Braintrust.Get(config) + BraintrustOpenAI.WrapOpenAI() |
| Flag | Description |
|---|---|
--language <LANG> | Force language (repeatable): python, typescript, javascript, go, java, ruby, csharp |
--agent-cmd <CMD> | Override agent command (replaces the built-in default) |
--quiet / -q | Suppress streaming agent output |
--interactive / -i | Run agent in interactive mode |
--yolo | Grant full permissions and run in background without prompting |
bt setup mcp
Adds the Braintrust MCP server to your agent’s config so it can query Braintrust data directly.bt setup doctor
Diagnoses your coding agent setup and reports what is and isn’t configured.Common flags
| Flag | Description |
|---|---|
--agent <AGENT> | Agent to configure: claude, codex, cursor, opencode (repeatable; auto-detected if omitted) |
--local | Configure for the current git repo |
--global | Configure user-wide |
--workflow <WORKFLOW> | Prefetch docs for a workflow: instrument, observe, annotate, evaluate, deploy (repeatable) |
--yes / -y | Skip confirmation prompts |
--refresh-docs | Clear and re-fetch any previously downloaded docs |