modules
Passes configuration options to installed modules. Keys are module names; values are option objects validated against each module's declared schema.
export default defineAgent({
modules: {
"github": {
owner: "acme",
repo: "backend",
},
"slack": {
channel: "#eng-alerts",
botName: "axon",
},
},
})
Options are passed to the module's setup() function as ctx.options after
validation. If a module declares a required option and it's missing, the agent
will fail to boot with a clear error.
What belongs here
Only configuration the module explicitly declares as an option. Not secrets —
those belong in .env and accessed via axon.env. Not logic — modules handle
their own setup.
Installing modules
modules config only applies to modules already present in the modules/
folder. To add a module:
axon install @acme/github
This copies the module source into modules/ and patches axon.config.ts with
any policy the module needs. See Installing & Using.