Skip to main content

For coding agents: the Studio guide

Synced from bicycle-studio-api

This index and the chapters below are generated by yarn sync:studio from local directory context-collection, synced 2026-09-26. Do not edit them here; change the source and run the sync again.

These pages are the exact texts Bicycle Studio serves to coding agents: the studio_guide MCP tool returns them as the landing guide, and GET /api/studio/v1/guide returns the same text over HTTP. They are synced from the Studio repository, not edited here, so what you read on this site is what an agent connected to the Studio MCP reads.

Read Working with the person first, then the chapters in order. The generated reference pages (manifest fields, function schema, workflow kinds) are produced from the code and are linked from the chapters that use them.

ChapterWhat it covers
Working with the personThe person you are building for is usually not an engineer. Hold their hand: they decide, you do the work, and nothing reaches other people until they have…
Start here: building on Bicycle StudioYou are a coding agent with two things: the public template (github.com/BicycleAI/data-app-template) and the Bicycle Studio MCP. With them you can build data…
Connecting to the Studio MCPProd is https://app.bicycle.ai/.... Build and test on preview.
Data apps: the kit, the template and the manifestA data app is a small web bundle (app.js, app.css, bda.manifest.json) that Studio hosts in a sandboxed frame, bound to one semantic model. It reads data only…
FunctionsA function is a named, versioned, declared unit of work that Studio runs for any caller (an app, a workflow, an agent, MCP, chat, REST) as one invocation with…
AgentsAn agent is a function of kind: agent: it takes several model steps and read-only tool calls to reach a structured answer, under budgets. Use one only where…
Bicycle workflows: a guide for coding agentsA workflow is a small graph of steps (nodes) that Studio runs in the background: on a schedule, when a person presses Run, or when an app, agent or MCP client…
Invocations and tracesEvery run of a function (code, llm, classify, agent) or a workflow, from any surface (UI, app, API, MCP, chat, workflow), is one invocation: an inv_... record…
Detect and ExplainDetect and Explain answers "what changed, and why?" on one metric of an app's semantic model, ad hoc and as the person asking. Detect finds the segments…
Limits and safetyNever try to get around these. Give the link, say what it will change, wait.
bda.manifest.json fields (AppManifest, extra=forbid)Limits: MAX_AGENTS 8, MAX_AGENT_DRIVERS 4, MAX_AGENT_INPUT_BYTES 8 * 1024, MAX_ANALYSES 16, MAX_CUSTOM_AGENT_BYTES 64 * 1024, MAX_CUSTOM_INSTRUCTIONS 12_000…
App SDK: bda.fnbda.fn: call a published function or workflow from a template-built app.
function.json (bicycle.function/v1 — function.json)Required: schema, name, input_schema, output_schema, capabilities.
"Use it in an app" for a function: what Studio generatesStudio's function page generates this text per function. Two examples follow (tenant acme is a placeholder), a code function and an agent. Today it is…
Workflow node kinds (registry)status: draft with runs = yes (classify) means it runs but its spec may still change. There is no agent kind: call an agent-kind function from a function node.…