Publishing

Publishing an agent adds it to the Axon registry so others can install it into their own Axon setup. This is separate from deploying — which gives your agent a live cloud endpoint.

axon agent publish

Run from the agent folder. Packages the source, generates the registry manifest, and uploads. One command.

Before you publish

Test the agent as a fresh install. The easiest way is to install it locally into a clean agent slot:

axon install ./path/to/my-agent --as test-agent
axon --agent test-agent

This simulates what the installer experiences — a fresh folder, no pre-existing state.

Tighten the policy. Review axon.config.ts before publishing. The policy is public. Remove any rules that are broader than the agent actually needs.

Check env declarations. Every key your agent reads from environment should be declared in env.needs. The install prompt surfaces these to the installer so they know what to set up.

Write a clear description. One line. What does the agent do, who is it for:

export default defineAgent({
    identity: {
        name: "dev-workflow",
        description: "GitHub + Linear developer workflow agent for TypeScript projects",
    },
    // ...
})

Versioning

Agent versions follow semver. axon agent publish auto-bumps the patch version. To bump minor or major, update version in package.json before publishing:

{
    "name": "my-agent",
    "version": "2.0.0"
}

Published versions are immutable. Once a version is live, it cannot be changed. Publish a new version to ship changes.

Registry identity

Your agent is published under your account scope: @you/agent-name. The name comes from identity.name in axon.config.ts. The scope comes from your Axon account.

@you/dev-workflow
@you/code-reviewer
@teamname/internal-agent

Team accounts can publish under a shared scope. Configure team scope in your account settings at axon.arclabs.it.

What gets published

IncludedExcluded
axon.config.ts.env — secrets are always agent-local
prompts/node_modules/ — reconstructed by bun install on install
scripts/axon.d.ts, tsconfig.json — regenerated on install
src/server/ — routes are not published to the registry
package.json
axon.manifest.json

server/ routes are not included in a published agent. Routes are deployment-specific — they expose your agent to the internet and are not something an installer takes on. Prompts, scripts, and tools are the portable parts.

What happens after publish

The agent appears in the registry immediately. Anyone can install it:

axon install @you/dev-workflow

They can inspect your axon.config.ts, your policy, your prompts, your scripts — everything in the published package — before running it.

Updating a published agent

Publish a new version. Installers who want the update run:

axon upgrade @you/dev-workflow

This merges the new version's files into their agent folder. File conflicts (where the installer has modified a file your update also touches) are flagged — the installer resolves them manually. Their changes are never silently overwritten.