*** title: SDK Overview description: >- How the BCTRL SDK is structured today and how it relates to the public HTTP API. slug: /sdk ---------- The primary SDK package is `@bctrl/sdk`. ## Public entrypoints * `@bctrl/sdk` for the workspace-first client and core ergonomics. * `@bctrl/sdk/playwright` * `@bctrl/sdk/puppeteer` * `@bctrl/sdk/stagehand` * `@bctrl/sdk/selenium` * `@bctrl/sdk/scripts` ## What to read first * `Browser Runtimes` explains how to launch profile-backed and ephemeral runtimes. * `Browser Capabilities` explains what the runtime methods actually do. * API Reference explains the resource endpoints behind workspaces, runtimes, operations, artifacts, and browser profiles. ## Contract strategy The public HTTP API is documented from the generated OpenAPI contract. The handwritten SDK remains the higher-level interface for workspaces, browser runtimes, driver abstractions, and product workflows. Capability pages are generated from the browser capability registry so SDK users can see: * fluent SDK examples * underlying HTTP transport * driver support * related calls If a low-level generated client is introduced later, it should be generated from the same public OpenAPI contract rather than replacing `@bctrl/sdk`.