Modules

axon install @axon/discord. Your agent is now a Discord bot. That's it.

A module is a packaged capability. Install one and your agent gains tools, prompts, and integrations it didn't have before — without writing the glue yourself.

axon install @axon/discord

That one command wires a Discord client into your agent's boot lifecycle, contributes typed tools, and tells you exactly which env keys to configure. Your agent is now a Discord bot.

Two ways to engage

Installing — you've found something in the registry that does what you need. Install it, set the env keys, subscribe to its hooks. You never touch the module source. See Installing & Using.

Building — you've written tools or integrations inside an agent and want to package them for reuse, your team, or the registry. See Building a Module.

What a module can contribute

Any combination of:

  • Tools — async functions in src/tools/ the agent can call
  • Prompts — context templates in src/prompts/ for use at hook subscription sites
  • Routes — webhook handlers in server/api/ that receive external events
  • Setup — boot-time lifecycle code that connects external services and emits hooks

One thing a module cannot do: touch the managed runtime directly. Policy, sessions, the cognitive loop — those belong to Axon and the parent agent. Modules extend through defined extension points only.

The boundary

A module can add tools, hooks, and routes — it cannot replace the capsule or the loop. Policy, sessions, the cognitive loop — those belong to Axon and the parent agent. Modules extend through defined extension points only.

That boundary is what makes registry modules safe to install. They augment. They do not take over.