Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/Agentic-Insights/foundrynpx agentmods add commands/agentic-insights/foundry/baml-initWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/agentic-insights/foundry/baml-init)<a href="https://agentmods.dev/commands/agentic-insights/foundry/baml-init"><img src="https://agentmods.dev/badge/commands/agentic-insights/foundry/baml-init/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/commands/agentic-insights/foundry/baml-init"><img src="https://agentmods.dev/badge/commands/agentic-insights/foundry/baml-init.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00000 | $0.00760 |
| Opus 5.5 | $0.00000 | $0.00304 |
| Sonnet 5.5 | $0.00000 | $0.00152 |
| Haiku 4.5 | $0.00000 | $0.00076 |
Grade A, and why
baml-init scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 162 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Initialize BAML Project
Set up BAML in an existing project or create a new one.
Detection
First, detect the project context:
- Check for existing
baml_src/directory - Check for
pyproject.toml(Python) orpackage.json(TypeScript) - Check for existing generators.baml
Actions
If No BAML Exists
For Python projects:
# Add baml-py dependency
uv add baml-py
# Or: pip install baml-py
# Create baml_src directory
mkdir -p baml_src
For TypeScript projects:
# Add BAML dependency
npm install @boundaryml/baml
# Or: pnpm add @boundaryml/baml
# Create baml_src directory
mkdir -p baml_src
Create generators.baml
Detect language and create appropriate generator:
Python:
generator target {
output_type python/pydantic
output_dir "../baml_client"
version "0.76.2"
}
TypeScript:
generator target {
output_type typescript
output_dir "../baml_client"
version "0.76.2"
}
Create clients.baml
// OpenAI client
client GPT4 {
provider openai
options {
model "gpt-4"
api_key env.OPENAI_API_KEY
}
}
// Vision-capable model for images
client GPT4o {
provider openai
options {
model "gpt-4o"
api_key env.OPENAI_API_KEY
}
}
// Default retry policy
retry_policy Default {
max_retries 2
strategy {
type exponential_backoff
}
}
Create Example Function
// example.baml
class Person {
name string
email string @description("Email address if present")
age int?
}
function ExtractPerson(text: string) -> Person {
client GPT4
prompt #"
Extract person information from:
{{ text }}
{{ ctx.output_format }}
"#
}
test BasicTest {
functions [ExtractPerson]
args {
text "John Smith, [email protected], 30 years old"
}
}
Generate Client (REQUIRED)
After creating BAML files, generate the typed client:
baml-cli generate
This creates the baml_client/ directory with:
- Type definitions (Pydantic models or TypeScript interfaces)
- Client functions you import and call
- This is 100% generated - never edit these files directly
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 162 lines · 0 tokens per session scan A 959e4e8a4a18
baml-init is a command published in the GitHub repository Agentic-Insights/foundry (5 stars, last pushed 4mo ago), licensed Apache-2.0. It costs nothing until one of its globs matches a file; then it loads 760 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other commands, from other repositories
boot
Start a new PromptKit prompt assembly session (alias for /bootstrap).
music-suno-prompt
Grounded Suno prompt synthesis from local knowledge corpus + persona canon + label canon. No vibes-prompting.
audit-prompt
Evaluate an existing prompt for clarity, effectiveness, and edge cases.
laravel-ai-sdk
Build AI features with the first-party Laravel AI SDK (Laravel 13+); use the laravel:ai-sdk skill exactly as written.
vlm-ocr-evaluation
Run the vlm-ocr skill in its evaluate phase: compare candidate OCR systems against a stratified human-transcribed ground-truth sample and pick a model on measured CER/WER before committing to a bulk run.
dare-llm-integration
Integração segura e eficiente com LLMs (Gemini, Claude, OpenAI, Ollama) em projetos DARE.