BxAgents

Build AI agents by convention — a conventions-based framework for AI agents powered by BoxLang AI.

BxAgents is a conventions-based AI agent framework for BoxLang, built on ColdBox and BX AI. You describe an agent with files and folders - not a framework's API surface - and bxAgents build assembles a real, runnable ColdBox application out of it.

A terminal session: bxAgents new scaffolds a project, bxAgents build assembles a ColdBox app, bxAgents inspect prints the agent, model and environment, and bxAgents serve starts it on http://127.0.0.1:8080

Build one in four steps

1
Install
install-bx-module bx-ai bx-agents
box install bx-ai,bx-agents
2
Scaffold
bxAgents new my-agent --model=openai/gpt-5

Then edit instructions.md and add whichever convention folders you need.

3
Build
bxAgents build

Discovery, validation, manifest, code generation - into .build/app/.

4
Talk to it
bxAgents chat
# or serve it over HTTP:
bxAgents serve --port=8080

Start from something, not nothing

new doesn't only scaffold a blank agent - pick one of 8 built-in templates, clone an existing GitHub repo, or install a ForgeBox package instead.

See Agent Templates for every generated file in detail, and how to publish your own.

A chat UI you didn't have to build

Set exposes: "webui" on a gateway and the build emits a complete front end - conversation history, streaming replies, light/dark theming and a mobile layout - wired to your agent.

The generated web chat UI: a conversation sidebar on the left, a multi-turn transcript in the centre, and a themed header and message composer

The same conversation with the theme toggle switched to dark

The same page at a narrow viewport, where the transcript keeps the full width and the sidebar overlays it

It is generated CSS and generated markup - themeable from Agent.bx, with no front-end build step of your own.

What build actually produces

Your convention tree, and the plain ColdBox application build turns it into.

your-agent/
β”œβ”€β”€ Agent.bx           # name, model, description
β”œβ”€β”€ instructions.md    # the system prompt
β”œβ”€β”€ tools/             # @AITool functions
β”œβ”€β”€ skills/            # SKILL.md capabilities
β”œβ”€β”€ subagents/         # nested agent trees
β”œβ”€β”€ models/            # named model configs
β”œβ”€β”€ gateways/          # HTTP/MCP/chat exposure
β”œβ”€β”€ schedules/         # a real ColdBox scheduler
β”œβ”€β”€ mcp/               # MCP servers you host
β”œβ”€β”€ interceptors/      # lifecycle hooks
└── modules/           # module dependencies
.build/app/
β”œβ”€β”€ Application.bx
β”œβ”€β”€ config/
β”‚   β”œβ”€β”€ ColdBox.bx
β”‚   β”œβ”€β”€ WireBox.bx
β”‚   β”œβ”€β”€ Router.bx
β”‚   └── Scheduler.bx
β”œβ”€β”€ agent/
β”‚   └── GeneratedAgentFactory.bx
β”œβ”€β”€ tools/  skills/  mcp/
β”œβ”€β”€ handlers/  interceptors/
└── index.bxm
Why assemble at build time instead of at request time?

Most agent frameworks wire tools, skills, routes and schedules together at request time, on every boot. BxAgents does the opposite: bxAgents build runs discovery, validation and code generation exactly once, producing a plain ColdBox application under .build/app/.

Starting it - via bxAgents serve, a real boxlang-miniserver process, or a portable .bxa deployed anywhere BoxLang runs - is then just booting an ordinary app. No convention scanning, no dynamic file walking, no build-time work deferred into the request path.

Start with one file

Only Agent.bx is required. instructions.md is optional - set instructions directly in the class, or drop the file in and let the build wire it in. Every other folder only affects the generated output if it exists and has content in it - so you add conventions as you actually need them.

Agent.bx IS the agent

Agent.bx extends BX AI's own AiAgent directly - the build instantiates your class rather than rebuilding one from a config struct, so what you write is what runs, and an IDE can introspect it like any other class. See Agent.bx.

Reach it from anywhere

Check your setup at any time

bxAgents doctor output: BoxLang and bx-ai versions OK, Agent.bx found, project structure validates cleanly, and one warning that the qb module is missing

Where to go next

Every convention folder also has a working, buildable sample under examples/.

Warning

BxAgents is under active development. Known Limitations tracks the honest gaps - what's tested against a real running app, what still only runs against BX AI's "mock" provider, and one real upstream ColdBox quirk this project ran into and worked around.

Edit this page Download Markdown Last updated Sep 17, 2026, 5:15:06 PM