[{"data":1,"prerenderedAt":466},["ShallowReactive",2],{"docs-\u002Fdocs\u002Fv2\u002Fagents\u002Fpublishing":3},{"id":4,"title":5,"body":6,"description":458,"extension":459,"meta":460,"navigation":461,"path":462,"seo":463,"stem":464,"__hash__":465},"docs\u002Fdocs\u002Fv2\u002Fagents\u002Fpublishing.md","Publishing",{"type":7,"value":8,"toc":450},"minimark",[9,13,23,46,49,54,61,93,96,106,116,122,196,200,215,255,258,262,275,283,290,294,390,395,399,402,416,422,426,429,443,446],[10,11,5],"h1",{"id":12},"publishing",[14,15,16,17,22],"p",{},"Publishing an agent adds it to the Axon registry so others can install it into their own Axon setup. This is separate from ",[18,19,21],"a",{"href":20},"\u002Fdocs\u002Fv2\u002Fdeploy","deploying"," — which gives your agent a live cloud endpoint.",[24,25,30],"pre",{"className":26,"code":27,"language":28,"meta":29,"style":29},"language-bash shiki shiki-themes dark-plus","axon publish\n","bash","",[31,32,33],"code",{"__ignoreMap":29},[34,35,38,42],"span",{"class":36,"line":37},"line",1,[34,39,41],{"class":40},"sCudf","axon",[34,43,45],{"class":44},"sKc5r"," publish\n",[14,47,48],{},"Run from the agent folder. Packages the source, generates the registry manifest, and uploads. One command.",[50,51,53],"h2",{"id":52},"before-you-publish","Before you publish",[14,55,56,60],{},[57,58,59],"strong",{},"Test the agent as a fresh install."," The easiest way is to install it locally into a clean agent slot:",[24,62,64],{"className":26,"code":63,"language":28,"meta":29,"style":29},"axon install .\u002Fpath\u002Fto\u002Fmy-agent --as test-agent\naxon --agent test-agent\n",[31,65,66,83],{"__ignoreMap":29},[34,67,68,70,73,76,80],{"class":36,"line":37},[34,69,41],{"class":40},[34,71,72],{"class":44}," install",[34,74,75],{"class":44}," .\u002Fpath\u002Fto\u002Fmy-agent",[34,77,79],{"class":78},"scz_3"," --as",[34,81,82],{"class":44}," test-agent\n",[34,84,86,88,91],{"class":36,"line":85},2,[34,87,41],{"class":40},[34,89,90],{"class":78}," --agent",[34,92,82],{"class":44},[14,94,95],{},"This simulates what the installer experiences — a fresh folder, no pre-existing state.",[14,97,98,101,102,105],{},[57,99,100],{},"Tighten the policy."," Review ",[31,103,104],{},"axon.config.ts"," before publishing. The policy is public. Remove any rules that are broader than the agent actually needs.",[14,107,108,111,112,115],{},[57,109,110],{},"Check env declarations."," Every key your agent reads from environment should be declared in ",[31,113,114],{},"env.needs",". The install prompt surfaces these to the installer so they know what to set up.",[14,117,118,121],{},[57,119,120],{},"Write a clear description."," One line. What does the agent do, who is it for:",[24,123,127],{"className":124,"code":125,"language":126,"meta":29,"style":29},"language-ts shiki shiki-themes dark-plus","export default defineAgent({\n    identity: {\n        name: \"dev-workflow\",\n        description: \"GitHub + Linear developer workflow agent for TypeScript projects\",\n    },\n    \u002F\u002F ...\n})\n","ts",[31,128,129,145,154,166,177,183,190],{"__ignoreMap":29},[34,130,131,135,138,141],{"class":36,"line":37},[34,132,134],{"class":133},"sYbnZ","export",[34,136,137],{"class":133}," default",[34,139,140],{"class":40}," defineAgent",[34,142,144],{"class":143},"sTNBD","({\n",[34,146,147,151],{"class":36,"line":85},[34,148,150],{"class":149},"s3F5K","    identity:",[34,152,153],{"class":143}," {\n",[34,155,157,160,163],{"class":36,"line":156},3,[34,158,159],{"class":149},"        name:",[34,161,162],{"class":44}," \"dev-workflow\"",[34,164,165],{"class":143},",\n",[34,167,169,172,175],{"class":36,"line":168},4,[34,170,171],{"class":149},"        description:",[34,173,174],{"class":44}," \"GitHub + Linear developer workflow agent for TypeScript projects\"",[34,176,165],{"class":143},[34,178,180],{"class":36,"line":179},5,[34,181,182],{"class":143},"    },\n",[34,184,186],{"class":36,"line":185},6,[34,187,189],{"class":188},"sOLPB","    \u002F\u002F ...\n",[34,191,193],{"class":36,"line":192},7,[34,194,195],{"class":143},"})\n",[50,197,199],{"id":198},"versioning","Versioning",[14,201,202,203,206,207,210,211,214],{},"Agent versions follow semver. ",[31,204,205],{},"axon publish"," auto-bumps the patch version. To bump minor or major, update ",[31,208,209],{},"version"," in ",[31,212,213],{},"package.json"," before publishing:",[24,216,220],{"className":217,"code":218,"language":219,"meta":29,"style":29},"language-json shiki shiki-themes dark-plus","{\n    \"name\": \"my-agent\",\n    \"version\": \"2.0.0\"\n}\n","json",[31,221,222,227,240,250],{"__ignoreMap":29},[34,223,224],{"class":36,"line":37},[34,225,226],{"class":143},"{\n",[34,228,229,232,235,238],{"class":36,"line":85},[34,230,231],{"class":149},"    \"name\"",[34,233,234],{"class":143},": ",[34,236,237],{"class":44},"\"my-agent\"",[34,239,165],{"class":143},[34,241,242,245,247],{"class":36,"line":156},[34,243,244],{"class":149},"    \"version\"",[34,246,234],{"class":143},[34,248,249],{"class":44},"\"2.0.0\"\n",[34,251,252],{"class":36,"line":168},[34,253,254],{"class":143},"}\n",[14,256,257],{},"Published versions are immutable. Once a version is live, it cannot be changed. Publish a new version to ship changes.",[50,259,261],{"id":260},"registry-identity","Registry identity",[14,263,264,265,268,269,210,272,274],{},"Your agent is published under your account scope: ",[31,266,267],{},"@you\u002Fagent-name",". The name comes from ",[31,270,271],{},"identity.name",[31,273,104],{},". The scope comes from your Axon account.",[24,276,281],{"className":277,"code":279,"language":280},[278],"language-text","@you\u002Fdev-workflow\n@you\u002Fcode-reviewer\n@teamname\u002Finternal-agent\n","text",[31,282,279],{"__ignoreMap":29},[14,284,285,286,289],{},"Team accounts can publish under a shared scope. Configure team scope in your account settings at ",[31,287,288],{},"axon.arclabs.it",".",[50,291,293],{"id":292},"what-gets-published","What gets published",[295,296,297,310],"table",{},[298,299,300],"thead",{},[301,302,303,307],"tr",{},[304,305,306],"th",{},"Included",[304,308,309],{},"Excluded",[311,312,313,326,343,360,373,381],"tbody",{},[301,314,315,320],{},[316,317,318],"td",{},[31,319,104],{},[316,321,322,325],{},[31,323,324],{},".env"," — secrets are always agent-local",[301,327,328,333],{},[316,329,330],{},[31,331,332],{},"prompts\u002F",[316,334,335,338,339,342],{},[31,336,337],{},"node_modules\u002F"," — reconstructed by ",[31,340,341],{},"bun install"," on install",[301,344,345,350],{},[316,346,347],{},[31,348,349],{},"scripts\u002F",[316,351,352,355,356,359],{},[31,353,354],{},"axon.d.ts",", ",[31,357,358],{},"tsconfig.json"," — regenerated on install",[301,361,362,367],{},[316,363,364],{},[31,365,366],{},"src\u002F",[316,368,369,372],{},[31,370,371],{},"server\u002F"," — routes are not published to the registry",[301,374,375,379],{},[316,376,377],{},[31,378,213],{},[316,380],{},[301,382,383,388],{},[316,384,385],{},[31,386,387],{},"axon.manifest.json",[316,389],{},[14,391,392,394],{},[31,393,371],{}," 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.",[50,396,398],{"id":397},"what-happens-after-publish","What happens after publish",[14,400,401],{},"The agent appears in the registry immediately. Anyone can install it:",[24,403,405],{"className":26,"code":404,"language":28,"meta":29,"style":29},"axon install @you\u002Fdev-workflow\n",[31,406,407],{"__ignoreMap":29},[34,408,409,411,413],{"class":36,"line":37},[34,410,41],{"class":40},[34,412,72],{"class":44},[34,414,415],{"class":44}," @you\u002Fdev-workflow\n",[14,417,418,419,421],{},"They can inspect your ",[31,420,104],{},", your policy, your prompts, your scripts — everything in the published package — before running it.",[50,423,425],{"id":424},"updating-a-published-agent","Updating a published agent",[14,427,428],{},"Publish a new version. Installers who want the update run:",[24,430,432],{"className":26,"code":431,"language":28,"meta":29,"style":29},"axon upgrade @you\u002Fdev-workflow\n",[31,433,434],{"__ignoreMap":29},[34,435,436,438,441],{"class":36,"line":37},[34,437,41],{"class":40},[34,439,440],{"class":44}," upgrade",[34,442,415],{"class":44},[14,444,445],{},"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.",[447,448,449],"style",{},"html pre.shiki code .sCudf, html code.shiki .sCudf{--shiki-default:#DCDCAA}html pre.shiki code .sKc5r, html code.shiki .sKc5r{--shiki-default:#CE9178}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .scz_3, html code.shiki .scz_3{--shiki-default:#569CD6}html pre.shiki code .sYbnZ, html code.shiki .sYbnZ{--shiki-default:#C586C0}html pre.shiki code .sTNBD, html code.shiki .sTNBD{--shiki-default:#D4D4D4}html pre.shiki code .s3F5K, html code.shiki .s3F5K{--shiki-default:#9CDCFE}html pre.shiki code .sOLPB, html code.shiki .sOLPB{--shiki-default:#6A9955}",{"title":29,"searchDepth":85,"depth":85,"links":451},[452,453,454,455,456,457],{"id":52,"depth":85,"text":53},{"id":198,"depth":85,"text":199},{"id":260,"depth":85,"text":261},{"id":292,"depth":85,"text":293},{"id":397,"depth":85,"text":398},{"id":424,"depth":85,"text":425},"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.","md",{},true,"\u002Fdocs\u002Fv2\u002Fagents\u002Fpublishing",{"title":5,"description":458},"docs\u002Fv2\u002Fagents\u002Fpublishing","eybCVlk7DnSHyvo_TAMJIeLnoqMPi9CDhOhgFNGQD4E",1785671808471]