> Version notice: This site documents BAML v0, the legacy DSL. BAML v1 is a separate, fully featured programming language in public beta. If the user intends to use BAML v1, ignore this site's content and use the BAML v1 documentation instead. If the intended version is unclear, clarify it before using this page. > For clean Markdown of any page, append .md to the page URL. For the complete documentation index, see https://docs.boundaryml.com/llms.txt. For MCP access, connect to https://docs.boundaryml.com/_mcp/server. # Guide ## Docs - [What is BAML?](https://docs.boundaryml.com/guide/introduction/what-is-baml.md) - [Why BAML?](https://docs.boundaryml.com/guide/introduction/why-baml.md): The journey from simple LLM calls to production-ready structured extraction - [What is baml_src?](https://docs.boundaryml.com/guide/introduction/baml_src.md) - [What is baml_client?](https://docs.boundaryml.com/guide/introduction/baml_client.md) - [VSCode Extension](https://docs.boundaryml.com/guide/installation-editors/vs-code-extension.md) - [Cursor](https://docs.boundaryml.com/guide/installation-editors/cursor-extension.md) - [JetBrains IDEs](https://docs.boundaryml.com/guide/installation-editors/jetbrains.md) - [Zed](https://docs.boundaryml.com/guide/installation-editors/zed.md) - [Claude Code](https://docs.boundaryml.com/guide/installation-editors/claude-code.md) - [Other Editors](https://docs.boundaryml.com/guide/installation-editors/others.md) - [Python](https://docs.boundaryml.com/guide/installation-language/python.md) - [Typescript](https://docs.boundaryml.com/guide/installation-language/typescript.md) - [Go](https://docs.boundaryml.com/guide/installation-language/go.md) - [Ruby](https://docs.boundaryml.com/guide/installation-language/ruby.md) - [Rust](https://docs.boundaryml.com/guide/installation-language/rust.md): Set up BAML with Rust - [REST API (other languages)](https://docs.boundaryml.com/guide/installation-language/rest-api-other-languages.md) - [Elixir](https://docs.boundaryml.com/guide/installation-language/elixir.md) - [React/Next.js Setup](https://docs.boundaryml.com/guide/framework-integration/react-next-js/quick-start.md) - [Building a Chatbot with BAML React Hooks](https://docs.boundaryml.com/guide/framework-integration/react-next-js/building-a-chatbot.md): Learn to build a streaming chatbot using BAML React hooks and Next.js - [Set Environment Variables](https://docs.boundaryml.com/guide/development/environment-variables.md) - [Terminal Logs](https://docs.boundaryml.com/guide/development/terminal-logs.md) - [Upgrading BAML / Fixing Version Mismatches](https://docs.boundaryml.com/guide/development/upgrade-baml-versions.md) - [AWS](https://docs.boundaryml.com/guide/development/deploying/aws.md) - [Docker](https://docs.boundaryml.com/guide/development/deploying/docker.md) - [OpenAPI](https://docs.boundaryml.com/guide/development/deploying/docker-rest-api.md) - [Prompting in BAML](https://docs.boundaryml.com/guide/baml-basics/prompting-with-baml.md) - [Switching LLMs](https://docs.boundaryml.com/guide/baml-basics/switching-llms.md) - [Testing functions](https://docs.boundaryml.com/guide/baml-basics/testing-functions.md) - [Streaming](https://docs.boundaryml.com/guide/baml-basics/streaming.md) - [Multi-Modal (Images / Audio)](https://docs.boundaryml.com/guide/baml-basics/multi-modal.md) - [Error Handling](https://docs.boundaryml.com/guide/baml-basics/error-handling.md) - [Configuring Timeouts](https://docs.boundaryml.com/guide/baml-basics/timeouts.md) - [Concurrent function calls](https://docs.boundaryml.com/guide/baml-basics/concurrent-calls.md) - [AbortSignal / Timeouts](https://docs.boundaryml.com/guide/baml-basics/abort-signal.md): Cancel in-flight LLM operations to save time and resources - [Collector](https://docs.boundaryml.com/guide/baml-advanced/collector-track-tokens.md) - [Client Registry](https://docs.boundaryml.com/guide/baml-advanced/llm-client-registry.md) - [Dynamic Types - TypeBuilder](https://docs.boundaryml.com/guide/baml-advanced/dynamic-types.md) - [Reusing Prompt Snippets](https://docs.boundaryml.com/guide/baml-advanced/reusing-prompt-snippets.md) - [Prompt Caching / Message Role Metadata](https://docs.boundaryml.com/guide/baml-advanced/prompt-caching-message-role-metadata.md) - [Checks and Asserts](https://docs.boundaryml.com/guide/baml-advanced/checks-and-asserts.md) - [Modular API](https://docs.boundaryml.com/guide/baml-advanced/modular-api.md) - [Prompt Optimization (Beta)](https://docs.boundaryml.com/guide/baml-advanced/prompt-optimization.md) - [Boundary Studio](https://docs.boundaryml.com/guide/boundary-cloud/observability/tracking-usage.md) - [Comparing Langchain](https://docs.boundaryml.com/guide/comparisons/baml-vs-langchain.md) - [Comparing Marvin](https://docs.boundaryml.com/guide/comparisons/baml-vs-marvin.md) - [Comparing AI SDK](https://docs.boundaryml.com/guide/comparisons/baml-vs-ai-sdk.md) - [Comparing OpenAI SDK](https://docs.boundaryml.com/guide/comparisons/baml-vs-open-ai-sdk.md) - [Comparing Pydantic](https://docs.boundaryml.com/guide/comparisons/baml-vs-pydantic.md) - [Contact](https://docs.boundaryml.com/guide/contact.md)