[{"data":1,"prerenderedAt":414},["ShallowReactive",2],{"docs-\u002Fdocs\u002Fv2\u002Fapi\u002Fprompt":3},{"id":4,"title":5,"body":6,"description":407,"extension":408,"meta":409,"navigation":185,"path":410,"seo":411,"stem":412,"__hash__":413},"docs\u002Fdocs\u002Fv2\u002Fapi\u002Fprompt.md","axon.prompt",{"type":7,"value":8,"toc":402},"minimark",[9,13,30,110,115,122,212,215,219,227,331,334,338,341,387,398],[10,11,5],"h1",{"id":12},"axonprompt",[14,15,16,17,21,22,25,26,29],"p",{},"Loads and renders a prompt from ",[18,19,20],"code",{},"src\u002Fprompts\u002F",". Returns a rendered prompt object\nready to pass to ",[18,23,24],{},"axon.request"," or ",[18,27,28],{},"axon.stream",".",[31,32,37],"pre",{"className":33,"code":34,"language":35,"meta":36,"style":36},"language-ts shiki shiki-themes dark-plus","const p = await axon.prompt(\"session\")\nconst result = await axon.request({ prompt: p })\n","ts","",[18,38,39,80],{"__ignoreMap":36},[40,41,44,48,52,56,60,64,66,70,73,77],"span",{"class":42,"line":43},"line",1,[40,45,47],{"class":46},"scz_3","const",[40,49,51],{"class":50},"s9McN"," p",[40,53,55],{"class":54},"sTNBD"," = ",[40,57,59],{"class":58},"sYbnZ","await",[40,61,63],{"class":62},"s3F5K"," axon",[40,65,29],{"class":54},[40,67,69],{"class":68},"sCudf","prompt",[40,71,72],{"class":54},"(",[40,74,76],{"class":75},"sKc5r","\"session\"",[40,78,79],{"class":54},")\n",[40,81,83,85,88,90,92,94,96,99,102,105,107],{"class":42,"line":82},2,[40,84,47],{"class":46},[40,86,87],{"class":50}," result",[40,89,55],{"class":54},[40,91,59],{"class":58},[40,93,63],{"class":62},[40,95,29],{"class":54},[40,97,98],{"class":68},"request",[40,100,101],{"class":54},"({ ",[40,103,104],{"class":62},"prompt:",[40,106,51],{"class":62},[40,108,109],{"class":54}," })\n",[111,112,114],"h2",{"id":113},"with-variables","With variables",[14,116,117,118,121],{},"Prompts are Vuedown files — they can declare variables in a ",[18,119,120],{},"\u003Cscript setup>"," block.\nPass them as the second argument.",[31,123,125],{"className":33,"code":124,"language":35,"meta":36,"style":36},"const review = await axon.prompt(\"code-review\", {\n    issueId: \"bd-42\",\n    repository: \"arclabs\u002Faxon\",\n})\n\nconst result = await axon.request({ prompt: review })\n",[18,126,127,152,163,174,180,187],{"__ignoreMap":36},[40,128,129,131,134,136,138,140,142,144,146,149],{"class":42,"line":43},[40,130,47],{"class":46},[40,132,133],{"class":50}," review",[40,135,55],{"class":54},[40,137,59],{"class":58},[40,139,63],{"class":62},[40,141,29],{"class":54},[40,143,69],{"class":68},[40,145,72],{"class":54},[40,147,148],{"class":75},"\"code-review\"",[40,150,151],{"class":54},", {\n",[40,153,154,157,160],{"class":42,"line":82},[40,155,156],{"class":62},"    issueId:",[40,158,159],{"class":75}," \"bd-42\"",[40,161,162],{"class":54},",\n",[40,164,166,169,172],{"class":42,"line":165},3,[40,167,168],{"class":62},"    repository:",[40,170,171],{"class":75}," \"arclabs\u002Faxon\"",[40,173,162],{"class":54},[40,175,177],{"class":42,"line":176},4,[40,178,179],{"class":54},"})\n",[40,181,183],{"class":42,"line":182},5,[40,184,186],{"emptyLinePlaceholder":185},true,"\n",[40,188,190,192,194,196,198,200,202,204,206,208,210],{"class":42,"line":189},6,[40,191,47],{"class":46},[40,193,87],{"class":50},[40,195,55],{"class":54},[40,197,59],{"class":58},[40,199,63],{"class":62},[40,201,29],{"class":54},[40,203,98],{"class":68},[40,205,101],{"class":54},[40,207,104],{"class":62},[40,209,133],{"class":62},[40,211,109],{"class":54},[14,213,214],{},"The values are interpolated into the prompt at render time. The agent receives the\nfully rendered text.",[111,216,218],{"id":217},"composing-prompts","Composing prompts",[14,220,221,223,224,226],{},[18,222,24],{}," and ",[18,225,28],{}," accept an array of rendered prompts. Axon\nconcatenates them in order. This is the standard pattern for giving the agent both\na shared session context and a task-specific instruction.",[31,228,230],{"className":33,"code":229,"language":35,"meta":36,"style":36},"const session = await axon.prompt(\"session\")   \u002F\u002F hydrates project state, kanban, etc.\nconst scout = await axon.prompt(\"scout\")       \u002F\u002F what to do this run\n\nconst { stream } = axon.stream({ prompt: [session, scout] })\n",[18,231,232,260,288,292],{"__ignoreMap":36},[40,233,234,236,239,241,243,245,247,249,251,253,256],{"class":42,"line":43},[40,235,47],{"class":46},[40,237,238],{"class":50}," session",[40,240,55],{"class":54},[40,242,59],{"class":58},[40,244,63],{"class":62},[40,246,29],{"class":54},[40,248,69],{"class":68},[40,250,72],{"class":54},[40,252,76],{"class":75},[40,254,255],{"class":54},")   ",[40,257,259],{"class":258},"sOLPB","\u002F\u002F hydrates project state, kanban, etc.\n",[40,261,262,264,267,269,271,273,275,277,279,282,285],{"class":42,"line":82},[40,263,47],{"class":46},[40,265,266],{"class":50}," scout",[40,268,55],{"class":54},[40,270,59],{"class":58},[40,272,63],{"class":62},[40,274,29],{"class":54},[40,276,69],{"class":68},[40,278,72],{"class":54},[40,280,281],{"class":75},"\"scout\"",[40,283,284],{"class":54},")       ",[40,286,287],{"class":258},"\u002F\u002F what to do this run\n",[40,289,290],{"class":42,"line":165},[40,291,186],{"emptyLinePlaceholder":185},[40,293,294,296,299,302,305,308,310,312,314,316,319,322,325,328],{"class":42,"line":176},[40,295,47],{"class":46},[40,297,298],{"class":54}," { ",[40,300,301],{"class":50},"stream",[40,303,304],{"class":54}," } = ",[40,306,307],{"class":62},"axon",[40,309,29],{"class":54},[40,311,301],{"class":68},[40,313,101],{"class":54},[40,315,104],{"class":62},[40,317,318],{"class":54}," [",[40,320,321],{"class":62},"session",[40,323,324],{"class":54},", ",[40,326,327],{"class":62},"scout",[40,329,330],{"class":54},"] })\n",[14,332,333],{},"The agent sees them as a single combined prompt. Order matters — earlier prompts\nestablish context that later prompts can reference.",[111,335,337],{"id":336},"from-installed-modules","From installed modules",[14,339,340],{},"Modules can contribute prompts. They are loaded by name the same way:",[31,342,344],{"className":33,"code":343,"language":35,"meta":36,"style":36},"const p = await axon.prompt(\"github\u002Fissue-triage\", { number: 42, title: \"...\" })\n",[18,345,346],{"__ignoreMap":36},[40,347,348,350,352,354,356,358,360,362,364,367,370,373,377,379,382,385],{"class":42,"line":43},[40,349,47],{"class":46},[40,351,51],{"class":50},[40,353,55],{"class":54},[40,355,59],{"class":58},[40,357,63],{"class":62},[40,359,29],{"class":54},[40,361,69],{"class":68},[40,363,72],{"class":54},[40,365,366],{"class":75},"\"github\u002Fissue-triage\"",[40,368,369],{"class":54},", { ",[40,371,372],{"class":62},"number:",[40,374,376],{"class":375},"sDGX8"," 42",[40,378,324],{"class":54},[40,380,381],{"class":62},"title:",[40,383,384],{"class":75}," \"...\"",[40,386,109],{"class":54},[14,388,389,390,393,394,397],{},"The namespace prefix (",[18,391,392],{},"github\u002F",") identifies the module. Run ",[18,395,396],{},"axon prepare"," after\ninstalling a module to get type declarations for its contributed prompts.",[399,400,401],"style",{},"html pre.shiki code .scz_3, html code.shiki .scz_3{--shiki-default:#569CD6}html pre.shiki code .s9McN, html code.shiki .s9McN{--shiki-default:#4FC1FF}html pre.shiki code .sTNBD, html code.shiki .sTNBD{--shiki-default:#D4D4D4}html pre.shiki code .sYbnZ, html code.shiki .sYbnZ{--shiki-default:#C586C0}html pre.shiki code .s3F5K, html code.shiki .s3F5K{--shiki-default:#9CDCFE}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 .sOLPB, html code.shiki .sOLPB{--shiki-default:#6A9955}html pre.shiki code .sDGX8, html code.shiki .sDGX8{--shiki-default:#B5CEA8}",{"title":36,"searchDepth":82,"depth":82,"links":403},[404,405,406],{"id":113,"depth":82,"text":114},{"id":217,"depth":82,"text":218},{"id":336,"depth":82,"text":337},"Loads and renders a prompt from src\u002Fprompts\u002F. Returns a rendered prompt object\nready to pass to axon.request or axon.stream.","md",{},"\u002Fdocs\u002Fv2\u002Fapi\u002Fprompt",{"title":5,"description":407},"docs\u002Fv2\u002Fapi\u002Fprompt","QWHkGpuWX_BICbWJWnf6s8rVfl2W6sDQsnnHH-8d6Ow",1785671808461]