BxAgentsBxAgents
GitHub
Conventions-based agent framework for BoxLang

Build AI agents by convention.

Describe an agent with files and folders. bxAgents build assembles a real, runnable ColdBox application from them, once, before anything boots.

$ install-bx-module bx-agents
BuildConstrainOrchestrate
your-agent/ → .build/app/
your-agent/
The agent

Agent.yaml is the agent

A name, a model and any settings you need, in plain YAML. Need code? Use a class-based Agent.bx instead.

plain ColdBox app, no scanning at boot

Conventions first

Convention over configuration for faster development.

Pluggable and extensible

Swap models, tools, memory and more with ease.

Powerful agents

Agents that reason, act, and collaborate effectively.

Production ready

Built for performance, reliability, and real-world applications.

Quick start

From nothing to a chat in four commands.

Install the module, scaffold an agent, build it, and talk to it. Nothing else to configure.

1Installinstall-bx-module bx-agents
2ScaffoldbxAgents new my-agent \ --model=openai/gpt-5
3Buildcd my-agent bxAgents build
4Talk to itbxAgents chat # or serve over HTTP bxAgents serve --port=8080
Then open http://127.0.0.1:8080. Bound to localhost only.
Watch it work

Real runs, recorded.

Every clip is a real session against a real served agent. The model is the mock provider the examples ship with, so each answer is "Mock response" and no model was called.

From nothing to a running agent

Four files, one running agent

You write the agent. The folders do the wiring.

This is the whole simple-agent example from the repo: a YAML file, a prompt, one tool. Add a folder when you need it, and the build picks it up.


    
Assembled at build time

Discovery happens once, not on every boot.

Most agent frameworks wire tools, skills, routes and schedules together at request time. BxAgents does the work in bxAgents build and ships an ordinary app.

Discover

Walk the convention folders that exist and have content.

Validate

Reject bad config before anything runs.

Manifest

Record what was found in manifest.json.

Generate

Write config, handlers, router and scheduler.

Run

Boot .build/app like any ColdBox app, or ship a .bxa.

Wired at request time

Convention scanning and file walking on every boot, and build work deferred into the request path.

Wired at build time

No scanning at startup. Starting the agent is booting a plain ColdBox application.

Reach it from anywhere

Twelve gateways. Hover one to inspect it.

Drop a file into gateways/ and your agent is on that channel. Each tile shows the type you set and the environment variables it reads, straight from the docs.

Hover, focus or tap a tile.

The generated web chat UI in dark modeThe generated web chat UI in light mode
  • A generated chat UI: conversation history, streaming replies and a mobile layout.
  • Light and dark theming, themeable from a gateways/ entry.
  • No front-end build step of your own.
A REST APIexposes: "agent"

Mounts invoke and info routes under a path you choose, like /api/chat.

A web chat UIexposes: "webui"

A streaming chat front end at a path like /chat.

An MCP serverexposes: "mcp"

Any MCP client can connect at a path like /mcp.

See it serve

One gateway file, a working HTTP API.

One small file, gateways/expose.bx, and the build mounts a REST API for your agent. The output on the left is a real capture from a served agent.

curl, against the served agent
Loading the captured session...
gateways/expose.bx
class {

	function configure() {
		return {
			exposes : "agent",
			path    : "/api/chat"
		};
	}

}

Captured on 2026-10-16 from the http-gateway-agent example on BoxLang 1.16.0. It uses the mock model provider, which answers every input with "Mock response", so no model was called. The routes on the right are read from the /info response.

Start from something, not nothing

Pick a starter. See exactly what you get.

Generated by the real scaffolder for each template. Select a file to read it.

$ bxAgents new my-agent --model=openai/gpt-5 --template=minimal
Agent.bx
newadded by the starterchangeddiffers from minimalDimmed folders are empty conventions, ready for you.Also: --repo=owner/repo and --forgebox=<slug>.
Learn it properly

A 20-lesson course, from install to a deployed agent.

Follow the guided path through the same conventions you just saw. No account needed: the course remembers where you stopped in your own browser.

By Lesson 20 you will have builtAn agent with its own tools and a packaged skill, reachable from the CLI, a browser chat UI and an HTTP API, with tests that run without an API key, packaged as a .bxa ready to deploy.
0 of 20 lessons read
Consulting and support

Need agents in production? Talk to the people who build BoxLang.

Ortus Solutions offers professional support, architecture reviews and custom development for BoxLang, including agent design, gateways, tools and deployment.

Priority supportAnswers from the team that wrote the runtime.
Custom developmentAgents, tools, gateways and integrations built to your brief.
Training and reviewGet your team productive and your design checked.

Describe the agent.
Let the folders do the rest.