[{"data":1,"prerenderedAt":705},["ShallowReactive",2],{"docs-\u002Fdocs\u002Fv2\u002Fagent\u002Fagent-dir":3},{"id":4,"title":5,"body":6,"description":696,"extension":697,"meta":698,"navigation":700,"path":701,"seo":702,"stem":703,"__hash__":704},"docs\u002Fdocs\u002Fv2\u002Fagent\u002Fagent-dir.md",".agent\u002F",{"type":7,"value":8,"toc":688},"minimark",[9,13,26,177,185,191,217,226,232,241,249,257,265,271,280,294,298,303,681,684],[10,11,5],"h1",{"id":12},"agent",[14,15,16,17,21,22,25],"p",{},"Generated output folder. Created by ",[18,19,20],"code",{},"axon prepare"," and ",[18,23,24],{},"axon build",". Never edit anything\ninside it — the whole folder is regenerated on every prepare run.",[27,28,33],"pre",{"className":29,"code":30,"language":31,"meta":32,"style":32},"language-bash shiki shiki-themes dark-plus",".agent\u002F\n├── .dockerignore\n├── axon.d.ts            # global type declarations for scripts and routes\n├── axon.manifest.json   # full agent manifest — tools, prompts, scripts, routes\n├── components.d.ts      # auto-imported component declarations\n├── Dockerfile           # container image for deployment\n├── image.json           # Docker image metadata\n├── prompts.d.ts         # prompt name declarations\n├── scripts.d.ts         # script name declarations\n├── source.tar.gz        # source archive for deployment\n├── tool-globals.d.ts    # tool function globals\n├── tools.d.ts           # typed tool namespace declarations\n└── tsconfig.json        # TypeScript config extending the agent's own\n","bash","",[18,34,35,44,54,66,77,88,99,110,121,132,143,154,165],{"__ignoreMap":32},[36,37,40],"span",{"class":38,"line":39},"line",1,[36,41,43],{"class":42},"sCudf",".agent\u002F\n",[36,45,47,50],{"class":38,"line":46},2,[36,48,49],{"class":42},"├──",[36,51,53],{"class":52},"sKc5r"," .dockerignore\n",[36,55,57,59,62],{"class":38,"line":56},3,[36,58,49],{"class":42},[36,60,61],{"class":52}," axon.d.ts",[36,63,65],{"class":64},"sOLPB","            # global type declarations for scripts and routes\n",[36,67,69,71,74],{"class":38,"line":68},4,[36,70,49],{"class":42},[36,72,73],{"class":52}," axon.manifest.json",[36,75,76],{"class":64},"   # full agent manifest — tools, prompts, scripts, routes\n",[36,78,80,82,85],{"class":38,"line":79},5,[36,81,49],{"class":42},[36,83,84],{"class":52}," components.d.ts",[36,86,87],{"class":64},"      # auto-imported component declarations\n",[36,89,91,93,96],{"class":38,"line":90},6,[36,92,49],{"class":42},[36,94,95],{"class":52}," Dockerfile",[36,97,98],{"class":64},"           # container image for deployment\n",[36,100,102,104,107],{"class":38,"line":101},7,[36,103,49],{"class":42},[36,105,106],{"class":52}," image.json",[36,108,109],{"class":64},"           # Docker image metadata\n",[36,111,113,115,118],{"class":38,"line":112},8,[36,114,49],{"class":42},[36,116,117],{"class":52}," prompts.d.ts",[36,119,120],{"class":64},"         # prompt name declarations\n",[36,122,124,126,129],{"class":38,"line":123},9,[36,125,49],{"class":42},[36,127,128],{"class":52}," scripts.d.ts",[36,130,131],{"class":64},"         # script name declarations\n",[36,133,135,137,140],{"class":38,"line":134},10,[36,136,49],{"class":42},[36,138,139],{"class":52}," source.tar.gz",[36,141,142],{"class":64},"        # source archive for deployment\n",[36,144,146,148,151],{"class":38,"line":145},11,[36,147,49],{"class":42},[36,149,150],{"class":52}," tool-globals.d.ts",[36,152,153],{"class":64},"    # tool function globals\n",[36,155,157,159,162],{"class":38,"line":156},12,[36,158,49],{"class":42},[36,160,161],{"class":52}," tools.d.ts",[36,163,164],{"class":64},"           # typed tool namespace declarations\n",[36,166,168,171,174],{"class":38,"line":167},13,[36,169,170],{"class":42},"└──",[36,172,173],{"class":52}," tsconfig.json",[36,175,176],{"class":64},"        # TypeScript config extending the agent's own\n",[178,179,181,182,184],"h2",{"id":180},"what-axon-prepare-generates","What ",[18,183,20],{}," generates",[14,186,187,188,190],{},"Running ",[18,189,20],{}," (or opening Axon, which runs it automatically) scans the agent\nfolder and generates:",[14,192,193,197,198,201,202,205,206,209,210,213,214,216],{},[194,195,196],"strong",{},"Type declarations"," — ",[18,199,200],{},".d.ts"," files that give your IDE full autocomplete on\n",[18,203,204],{},"axon.tools.*",", ",[18,207,208],{},"axon.prompt(\"name\")",", and ",[18,211,212],{},"axon.scripts.request(\"name\")",". After adding\na new tool function or prompt file, run ",[18,215,20],{}," to refresh types without reopening\nthe agent.",[14,218,219,197,222,225],{},[194,220,221],{},"Manifest",[18,223,224],{},"axon.manifest.json"," is the machine-readable description of the entire\nagent: every tool function with its declaration and JSDoc, every prompt with its props,\nevery script with its args, every route with its method and path. The runtime uses this\nto register tools with the model and to power the TUI palette. The registry uses it for\ndiscovery and display.",[178,227,181,229,231],{"id":228},"what-axon-build-adds",[18,230,24],{}," adds",[14,233,234,236,237,240],{},[18,235,24],{}," runs ",[18,238,239],{},"prepare"," first, then adds deployment artifacts:",[14,242,243,248],{},[194,244,245],{},[18,246,247],{},"Dockerfile"," — a production container image for the agent. Self-contained — includes\nthe agent source, dependencies, and the Axon runtime. Build it, push it, deploy it to any\ncontainer platform.",[14,250,251,256],{},[194,252,253],{},[18,254,255],{},"source.tar.gz"," — source archive used by Axon Cloud deployment. Contains everything\nneeded to run the agent on managed infrastructure.",[14,258,259,264],{},[194,260,261],{},[18,262,263],{},"image.json"," — metadata about the built image: digest, tags, build timestamp.",[178,266,268],{"id":267},"gitignore",[18,269,270],{},".gitignore",[14,272,273,274,276,277,279],{},"Add ",[18,275,5],{}," to your ",[18,278,270],{},". It's generated output — committing it adds noise and\ncreates merge conflicts. The manifest and declarations are always regenerated fresh.",[27,281,283],{"className":29,"code":282,"language":31,"meta":32,"style":32},"# .gitignore\n.agent\u002F\n",[18,284,285,290],{"__ignoreMap":32},[36,286,287],{"class":38,"line":39},[36,288,289],{"class":64},"# .gitignore\n",[36,291,292],{"class":38,"line":46},[36,293,43],{"class":42},[178,295,297],{"id":296},"the-manifest-in-detail","The manifest in detail",[14,299,300,302],{},[18,301,224],{}," is what the runtime and the registry actually read. It's worth\nunderstanding what's in it:",[27,304,308],{"className":305,"code":306,"language":307,"meta":32,"style":32},"language-json shiki shiki-themes dark-plus","{\n  \"name\": \"my-agent\",\n  \"version\": \"0.1.0\",\n  \"kind\": \"agent\",\n  \"tools\": [\n    {\n      \"name\": \"kanban\",\n      \"origin\": \"src\",\n      \"fns\": [\n        {\n          \"name\": \"list\",\n          \"declaration\": \"function list(): Promise\u003CTask[]>\",\n          \"jsdoc\": \"List all tasks across the three kanban stages.\"\n        }\n      ]\n    }\n  ],\n  \"prompts\": [\n    {\n      \"name\": \"session\",\n      \"kind\": \"dynamic\",\n      \"filePath\": \"src\u002Fprompts\u002Fsession.vue\"\n    }\n  ],\n  \"scripts\": [\n    {\n      \"name\": \"scout\",\n      \"args\": []\n    }\n  ],\n  \"routes\": [\n    {\n      \"method\": \"POST\",\n      \"path\": \"\u002Fapi\u002Fscout\",\n      \"file\": \"server\u002Fapi\u002Fscout.post.ts\"\n    }\n  ],\n  \"context\": {\n    \"boot\": {\n      \"path\": \"src\u002Fboot.vue\",\n      \"kind\": \"dynamic\"\n    }\n  }\n}\n","json",[18,309,310,316,331,343,355,363,368,380,392,399,404,416,428,438,444,450,456,462,470,475,487,500,511,516,521,529,534,546,555,560,565,573,578,591,604,615,620,625,634,642,654,664,669,675],{"__ignoreMap":32},[36,311,312],{"class":38,"line":39},[36,313,315],{"class":314},"sTNBD","{\n",[36,317,318,322,325,328],{"class":38,"line":46},[36,319,321],{"class":320},"s3F5K","  \"name\"",[36,323,324],{"class":314},": ",[36,326,327],{"class":52},"\"my-agent\"",[36,329,330],{"class":314},",\n",[36,332,333,336,338,341],{"class":38,"line":56},[36,334,335],{"class":320},"  \"version\"",[36,337,324],{"class":314},[36,339,340],{"class":52},"\"0.1.0\"",[36,342,330],{"class":314},[36,344,345,348,350,353],{"class":38,"line":68},[36,346,347],{"class":320},"  \"kind\"",[36,349,324],{"class":314},[36,351,352],{"class":52},"\"agent\"",[36,354,330],{"class":314},[36,356,357,360],{"class":38,"line":79},[36,358,359],{"class":320},"  \"tools\"",[36,361,362],{"class":314},": [\n",[36,364,365],{"class":38,"line":90},[36,366,367],{"class":314},"    {\n",[36,369,370,373,375,378],{"class":38,"line":101},[36,371,372],{"class":320},"      \"name\"",[36,374,324],{"class":314},[36,376,377],{"class":52},"\"kanban\"",[36,379,330],{"class":314},[36,381,382,385,387,390],{"class":38,"line":112},[36,383,384],{"class":320},"      \"origin\"",[36,386,324],{"class":314},[36,388,389],{"class":52},"\"src\"",[36,391,330],{"class":314},[36,393,394,397],{"class":38,"line":123},[36,395,396],{"class":320},"      \"fns\"",[36,398,362],{"class":314},[36,400,401],{"class":38,"line":134},[36,402,403],{"class":314},"        {\n",[36,405,406,409,411,414],{"class":38,"line":145},[36,407,408],{"class":320},"          \"name\"",[36,410,324],{"class":314},[36,412,413],{"class":52},"\"list\"",[36,415,330],{"class":314},[36,417,418,421,423,426],{"class":38,"line":156},[36,419,420],{"class":320},"          \"declaration\"",[36,422,324],{"class":314},[36,424,425],{"class":52},"\"function list(): Promise\u003CTask[]>\"",[36,427,330],{"class":314},[36,429,430,433,435],{"class":38,"line":167},[36,431,432],{"class":320},"          \"jsdoc\"",[36,434,324],{"class":314},[36,436,437],{"class":52},"\"List all tasks across the three kanban stages.\"\n",[36,439,441],{"class":38,"line":440},14,[36,442,443],{"class":314},"        }\n",[36,445,447],{"class":38,"line":446},15,[36,448,449],{"class":314},"      ]\n",[36,451,453],{"class":38,"line":452},16,[36,454,455],{"class":314},"    }\n",[36,457,459],{"class":38,"line":458},17,[36,460,461],{"class":314},"  ],\n",[36,463,465,468],{"class":38,"line":464},18,[36,466,467],{"class":320},"  \"prompts\"",[36,469,362],{"class":314},[36,471,473],{"class":38,"line":472},19,[36,474,367],{"class":314},[36,476,478,480,482,485],{"class":38,"line":477},20,[36,479,372],{"class":320},[36,481,324],{"class":314},[36,483,484],{"class":52},"\"session\"",[36,486,330],{"class":314},[36,488,490,493,495,498],{"class":38,"line":489},21,[36,491,492],{"class":320},"      \"kind\"",[36,494,324],{"class":314},[36,496,497],{"class":52},"\"dynamic\"",[36,499,330],{"class":314},[36,501,503,506,508],{"class":38,"line":502},22,[36,504,505],{"class":320},"      \"filePath\"",[36,507,324],{"class":314},[36,509,510],{"class":52},"\"src\u002Fprompts\u002Fsession.vue\"\n",[36,512,514],{"class":38,"line":513},23,[36,515,455],{"class":314},[36,517,519],{"class":38,"line":518},24,[36,520,461],{"class":314},[36,522,524,527],{"class":38,"line":523},25,[36,525,526],{"class":320},"  \"scripts\"",[36,528,362],{"class":314},[36,530,532],{"class":38,"line":531},26,[36,533,367],{"class":314},[36,535,537,539,541,544],{"class":38,"line":536},27,[36,538,372],{"class":320},[36,540,324],{"class":314},[36,542,543],{"class":52},"\"scout\"",[36,545,330],{"class":314},[36,547,549,552],{"class":38,"line":548},28,[36,550,551],{"class":320},"      \"args\"",[36,553,554],{"class":314},": []\n",[36,556,558],{"class":38,"line":557},29,[36,559,455],{"class":314},[36,561,563],{"class":38,"line":562},30,[36,564,461],{"class":314},[36,566,568,571],{"class":38,"line":567},31,[36,569,570],{"class":320},"  \"routes\"",[36,572,362],{"class":314},[36,574,576],{"class":38,"line":575},32,[36,577,367],{"class":314},[36,579,581,584,586,589],{"class":38,"line":580},33,[36,582,583],{"class":320},"      \"method\"",[36,585,324],{"class":314},[36,587,588],{"class":52},"\"POST\"",[36,590,330],{"class":314},[36,592,594,597,599,602],{"class":38,"line":593},34,[36,595,596],{"class":320},"      \"path\"",[36,598,324],{"class":314},[36,600,601],{"class":52},"\"\u002Fapi\u002Fscout\"",[36,603,330],{"class":314},[36,605,607,610,612],{"class":38,"line":606},35,[36,608,609],{"class":320},"      \"file\"",[36,611,324],{"class":314},[36,613,614],{"class":52},"\"server\u002Fapi\u002Fscout.post.ts\"\n",[36,616,618],{"class":38,"line":617},36,[36,619,455],{"class":314},[36,621,623],{"class":38,"line":622},37,[36,624,461],{"class":314},[36,626,628,631],{"class":38,"line":627},38,[36,629,630],{"class":320},"  \"context\"",[36,632,633],{"class":314},": {\n",[36,635,637,640],{"class":38,"line":636},39,[36,638,639],{"class":320},"    \"boot\"",[36,641,633],{"class":314},[36,643,645,647,649,652],{"class":38,"line":644},40,[36,646,596],{"class":320},[36,648,324],{"class":314},[36,650,651],{"class":52},"\"src\u002Fboot.vue\"",[36,653,330],{"class":314},[36,655,657,659,661],{"class":38,"line":656},41,[36,658,492],{"class":320},[36,660,324],{"class":314},[36,662,663],{"class":52},"\"dynamic\"\n",[36,665,667],{"class":38,"line":666},42,[36,668,455],{"class":314},[36,670,672],{"class":38,"line":671},43,[36,673,674],{"class":314},"  }\n",[36,676,678],{"class":38,"line":677},44,[36,679,680],{"class":314},"}\n",[14,682,683],{},"The tool declarations and JSDoc in the manifest are exactly what the model sees when\ndeciding whether and how to call a tool. Write JSDoc as if explaining the function to\nsomeone who has never seen your code — because that's what it's for.",[685,686,687],"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 pre.shiki code .sOLPB, html code.shiki .sOLPB{--shiki-default:#6A9955}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 .sTNBD, html code.shiki .sTNBD{--shiki-default:#D4D4D4}html pre.shiki code .s3F5K, html code.shiki .s3F5K{--shiki-default:#9CDCFE}",{"title":32,"searchDepth":46,"depth":46,"links":689},[690,692,694,695],{"id":180,"depth":46,"text":691},"What axon prepare generates",{"id":228,"depth":46,"text":693},"What axon build adds",{"id":267,"depth":46,"text":270},{"id":296,"depth":46,"text":297},"Generated output folder. Created by axon prepare and axon build. Never edit anything\ninside it — the whole folder is regenerated on every prepare run.","md",{"icon":699},"vscode-icons:default-folder",true,"\u002Fdocs\u002Fv2\u002Fagent\u002Fagent-dir",{"title":5,"description":696},"docs\u002Fv2\u002Fagent\u002Fagent-dir","l3l2N08A18H2h3QgeXjcXbJMh6sjreZGNB1xrOiKWh4",1785671805850]