<div align="center">
<a href="https://boundaryml.com?utm_source=github" target="_blank" rel="noopener noreferrer">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="fern/assets/baml-logo-white.png">
<img src="fern/assets/baml-logo-white.png" height="220" id="top" alt="BAML logo">
</picture>
</a>
BAML: Basically A Made-up Language
BAML is the programming language for agents.
[](https://pypi.org/project/baml-py/)
Homepage | Explore BAML | Discord
</div>
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 any nor 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.
Try it out
brew install baml
baml agent install
baml init
baml ide install --codeOr 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.