BAML looks like TypeScript, but every feature is built so agents make fewer mistakes:
- It has a type system like Rust, but compiles even faster than Go.
- Types persist at runtime. There is no
anynor casting dangerously to any type. - Errors are typed and statically analyzed.
- The filesystem describes the modules/namespaces.
- Has green threads, and colorless concurrency like Go
- Built-in tests / eval framework
- Built-in stdlib for agents
- Every baml tool is natively designed for agents, with no garbage outputs, etc.
- Can be run standalone or adopt incrementally (you can call a BAML function from TS, Py, Go, C#, Java, etc).
Explore the website and examples.
brew install boundaryml/tap/baml
baml agent install
baml init
baml ide install --codeOr read the quickstart.
See our guide on getting started.
Made with ❤️ by Boundary. HQ in Seattle, WA.
We're hiring software engineers who love Rust. Email us or reach out on Discord.