{"data":{"slug":"boundaryml-baml","name":"baml","tagline":"Programming language for agents","github_url":"https://github.com/BoundaryML/baml","owner":"BoundaryML","repo":"baml","owner_avatar_url":"https://avatars.githubusercontent.com/u/124114301?v=4","primary_language":"Rust","stars":9165,"forks":492,"topics":["boundaryml","guardrails","llm","programming-language","structured-data"],"archived":false,"github_pushed_at":"2026-09-11T05:59:11+00:00","maintenance_label":"Very active","stars_delta_30d":318,"url":"https://www.graphcanon.com/tools/boundaryml-baml","markdown_url":"https://www.graphcanon.com/tools/boundaryml-baml.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/boundaryml-baml","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=boundaryml-baml","description":"The programming language for agents","homepage_url":"https://boundaryml.com/explore","license":"Apache-2.0","open_issues":339,"watchers":41,"ai_summary":"BAML is a programming language designed to reduce errors in agent development through robust type safety and static analysis.","readme_excerpt":"<div align=\"center\">\n<a href=\"https://boundaryml.com?utm_source=github\" target=\"_blank\" rel=\"noopener noreferrer\">\n  <picture>\n    <source media=\"(prefers-color-scheme: dark)\" srcset=\"fern/assets/baml-logo-white.png\">\n    <img src=\"fern/assets/baml-logo-white.png\" height=\"220\" id=\"top\" alt=\"BAML logo\">\n  </picture>\n</a>\n\n# BAML: Basically A Made-up Language\n\nBAML is the programming language for agents.\n\n\n\n[Homepage](https://www.boundaryml.com/) | [Explore BAML](https://www.boundaryml.com/explore) | [Discord](https://www.boundaryml.com/discord)\n\n</div>\n\nBAML looks like TypeScript, but every feature is built so agents make fewer mistakes:\n\n- It has a type system like Rust, but compiles even faster than Go.\n- Types persist at runtime. There is no `any` nor casting dangerously to any type.\n- Errors are typed and statically analyzed.\n- The filesystem describes the modules/namespaces.\n- Has green threads, and colorless concurrency like Go\n- Built-in tests / eval framework\n- Built-in stdlib for agents\n- Every baml tool is natively designed for agents, with no garbage outputs, etc.\n- Can be run standalone or adopt incrementally (you can call a BAML function from TS, Py, Go, C#, Java, etc).\n\n[Explore the website and examples](https://www.boundaryml.com/explore).\n\n## Try it out\n\n```bash\nbrew install baml\nbaml agent install\nbaml init\nbaml ide install --code\n```\n\nOr read the [quickstart](https://boundaryml.com/quickstart).\n\n## Contributing\n\nSee our [guide on getting started](/CONTRIBUTING.md).\n\n---\n\nMade with ❤️ by Boundary. HQ in Seattle, WA.\n\nWe're hiring software engineers who love Rust. [Email us](mailto:founders@boundaryml.com) or reach out on [Discord](https://www.boundaryml.com/discord).","github_created_at":"2023-10-06T18:57:41+00:00","created_at":"2026-07-15T10:42:06.295861+00:00","updated_at":"2026-09-20T04:25:41.9156+00:00","categories":[{"slug":"ai-agents","name":"AI Agents","url":"https://www.graphcanon.com/categories/ai-agents","markdown_url":"https://www.graphcanon.com/categories/ai-agents.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/ai-agents"},{"slug":"developer-tools","name":"Developer Tools","url":"https://www.graphcanon.com/categories/developer-tools","markdown_url":"https://www.graphcanon.com/categories/developer-tools.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/developer-tools"}],"tags":[{"slug":"boundaryml","name":"boundaryml"},{"slug":"guardrails","name":"guardrails"},{"slug":"llm","name":"llm"},{"slug":"programming-language","name":"programming-language"},{"slug":"structured-data","name":"structured-data"}],"trust":{"provenance":{"is_fork":false,"github_id":701494311,"owner_type":"Organization","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-09-11T06:00:28.169Z","maintenance":{"label":"Very active","score":96,"methodology":"github_public_v1","releases_90d":30,"days_since_push":0,"last_release_at":"2026-09-10T08:20:57Z","stars_delta_30d":318,"open_issues_delta_30d":36},"security_summary":{"status":"findings","scanner":"osv@v1","low_count":6,"high_count":0,"last_scan_at":"2026-07-15T10:42:07.747Z","medium_count":0,"scan_profile":"deps","critical_count":0}},"capability_facts":{"mcp":{"source":"repo_scan","observed_at":"2026-09-11T06:00:28.617Z","server_manifest":false},"scan":{"source":"repo_scan","observed_at":"2026-09-11T06:00:28.617Z"},"languages":{"value":["rust","javascript","typescript"],"source":"github.language+package.json","observed_at":"2026-09-11T06:00:28.617Z"},"license_spdx":{"value":"Apache-2.0","source":"github.license","observed_at":"2026-09-11T06:00:28.617Z"}},"decision_facts":{"hosting":null,"pricing":null,"requirements":null,"constraints":null,"when_to_use":["When you need a language that keeps types consistent at runtime and avoids the use of generic 'any' types.","For projects where colorless concurrency like Go is beneficial without sacrificing Rust's memory safety."],"when_not_to_use":["If your project requires dynamic typing or runtime flexibility not constrained by strict type definitions.","In cases preferring other language-specific concurrency models that BAML doesn't support, favoring a different approach to parallelism might be necessary."],"source":"enrich:decision_facts","observed_at":"2026-07-17T03:19:55.563Z"},"constraint_facets":null,"decision_summary":[{"label":"Adopt for","value":"BAML is a robust, statically-typed programming language designed for agent development with strong focus on error minimization through type safety and static analysis."}]}}