BAML looks like TypeScript, but every feature is built so agents make fewer mistakes:
- Statically typed like Rust, with colorless concurrency like Go.
- Types persist at runtime. There is no
any. - Errors are typed and statically analyzed.
- The filesystem describes the modules/namespaces.
- Run BAML standalone, or call it from any language of your choice (Python, TypeScript, Go, and more).
Explore the website and examples.
Try it out
brew install boundaryml/tap/baml
baml agent install
baml init
baml ide install --code
Or read the quickstart.
Contributing
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.