[{"data":1,"prerenderedAt":502},["ShallowReactive",2],{"docs-\u002Fdocs\u002Fv2\u002Fcli\u002Finstalling":3},{"id":4,"title":5,"body":6,"description":494,"extension":495,"meta":496,"navigation":497,"path":498,"seo":499,"stem":500,"__hash__":501},"docs\u002Fdocs\u002Fv2\u002Fcli\u002Finstalling.md","Installing",{"type":7,"value":8,"toc":486},"minimark",[9,13,22,113,118,158,165,185,200,210,224,236,240,265,272,278,282,303,306,347,351,368,375,382,386,423,457,461,475,482],[10,11,5],"h1",{"id":12},"installing",[14,15,16,17,21],"p",{},"Four commands pull things out of the registry, and they differ in ",[18,19,20],"strong",{},"what you end up\nowning",". Picking the wrong one is the most common way to get stuck, so it is worth thirty\nseconds up front.",[23,24,25,41],"table",{},[26,27,28],"thead",{},[29,30,31,35,38],"tr",{},[32,33,34],"th",{},"Command",[32,36,37],{},"You get",[32,39,40],{},"You can publish it",[42,43,44,63,79,99],"tbody",{},[29,45,46,57,60],{},[47,48,49],"td",{},[50,51,53],"a",{"href":52},"\u002Fdocs\u002Fv2\u002Fcli\u002Finstall",[54,55,56],"code",{},"install",[47,58,59],{},"A dependency of the current agent",[47,61,62],{},"—",[29,64,65,73,76],{},[47,66,67],{},[50,68,70],{"href":69},"\u002Fdocs\u002Fv2\u002Fcli\u002Fclone",[54,71,72],{},"clone",[47,74,75],{},"An editable copy, original name",[47,77,78],{},"No — you do not own the scope",[29,80,81,89,96],{},[47,82,83],{},[50,84,86],{"href":85},"\u002Fdocs\u002Fv2\u002Fcli\u002Ffork",[54,87,88],{},"fork",[47,90,91,92,95],{},"An editable copy, ",[18,93,94],{},"your"," name",[47,97,98],{},"Yes",[29,100,101,108,111],{},[47,102,103],{},[50,104,105],{"href":52},[54,106,107],{},"ext install",[47,109,110],{},"A terminal extension, machine-wide",[47,112,62],{},[114,115,117],"h2",{"id":116},"install-use-someones-capability","install — use someone's capability",[119,120,125],"pre",{"className":121,"code":122,"language":123,"meta":124,"style":124},"language-bash shiki shiki-themes dark-plus","axon install @axon\u002Fgithub\naxon i @axon\u002Fgithub          # same thing\n","bash","",[54,126,127,143],{"__ignoreMap":124},[128,129,132,136,140],"span",{"class":130,"line":131},"line",1,[128,133,135],{"class":134},"sCudf","axon",[128,137,139],{"class":138},"sKc5r"," install",[128,141,142],{"class":138}," @axon\u002Fgithub\n",[128,144,146,148,151,154],{"class":130,"line":145},2,[128,147,135],{"class":134},[128,149,150],{"class":138}," i",[128,152,153],{"class":138}," @axon\u002Fgithub",[128,155,157],{"class":156},"sOLPB","          # same thing\n",[14,159,160,161,164],{},"Run from an agent project. The module becomes a dependency of ",[18,162,163],{},"that agent",", and three\nthings happen:",[166,167,168,175,182],"ul",{},[169,170,171,172],"li",{},"the module source is exposed at ",[54,173,174],{},"node_modules\u002F@scope\u002Fname",[169,176,177,178,181],{},"its npm dependencies are merged into the agent's ",[54,179,180],{},"package.json"," and materialised",[169,183,184],{},"any environment keys it declares are printed for you to fill in",[14,186,187,188,191,192,195,196,199],{},"Installed modules are ",[18,189,190],{},"discovered automatically"," — nothing to register, no import to\nwrite. Their tools appear in the agent's manifest at next boot, namespaced under the module\n(",[54,193,194],{},"github.openPr",", never a bare ",[54,197,198],{},"openPr",").",[14,201,202,205,206,209],{},[54,203,204],{},"modules\u002F"," stays for local, relative-path modules you are writing yourself. Registry\nmodules live in ",[54,207,208],{},"node_modules"," like any other dependency, because that is what they are.",[14,211,212,215,216,219,220,223],{},[18,213,214],{},"Identifiers are always scoped."," ",[54,217,218],{},"@axon\u002Fgithub",", never ",[54,221,222],{},"github"," — every artifact carries\nits scope as part of its identity, so a bare name resolves to nothing.",[14,225,226,227,230,231,235],{},"If the module declares required env vars, put local values in the agent's ",[54,228,229],{},".env","; deployed\nvalues are read from that same file at deploy time. See\n",[50,232,234],{"href":233},"\u002Fdocs\u002Fv2\u002Fagent\u002Fenvironment","Environment",".",[114,237,239],{"id":238},"clone-read-or-modify-the-source","clone — read or modify the source",[119,241,243],{"className":121,"code":242,"language":123,"meta":124,"style":124},"axon clone @axon\u002Fgithub\naxon clone @axon\u002Fgithub .\u002Ftools\n",[54,244,245,254],{"__ignoreMap":124},[128,246,247,249,252],{"class":130,"line":131},[128,248,135],{"class":134},[128,250,251],{"class":138}," clone",[128,253,142],{"class":138},[128,255,256,258,260,262],{"class":130,"line":145},[128,257,135],{"class":134},[128,259,251],{"class":138},[128,261,153],{"class":138},[128,263,264],{"class":138}," .\u002Ftools\n",[14,266,267,268,271],{},"Downloads the artifact as a ",[18,269,270],{},"standalone project you can edit",", keeping its original\nidentity. Use it to read how something works, or to run a modified copy locally.",[14,273,274,275,277],{},"You cannot publish a clone — the scope belongs to someone else, and publishing would fail\non ownership. That is what ",[54,276,88],{}," is for.",[114,279,281],{"id":280},"fork-make-it-yours","fork — make it yours",[119,283,285],{"className":121,"code":284,"language":123,"meta":124,"style":124},"axon fork @axon\u002Fgithub --as @me\u002Fgithub\n",[54,286,287],{"__ignoreMap":124},[128,288,289,291,294,296,300],{"class":130,"line":131},[128,290,135],{"class":134},[128,292,293],{"class":138}," fork",[128,295,153],{"class":138},[128,297,299],{"class":298},"scz_3"," --as",[128,301,302],{"class":138}," @me\u002Fgithub\n",[14,304,305],{},"The same download, with the package identity rewritten to a scope you own. The rename is\nthe whole difference, and it is the tedious part — publishing a clone means editing the\nmanifest, the config, and every internal reference by hand, which is easy to half-finish.",[119,307,309],{"className":121,"code":308,"language":123,"meta":124,"style":124},"axon fork @axon\u002Fgithub --as @me\u002Fgithub\ncd github\naxon prepare\naxon publish\n",[54,310,311,323,331,339],{"__ignoreMap":124},[128,312,313,315,317,319,321],{"class":130,"line":131},[128,314,135],{"class":134},[128,316,293],{"class":138},[128,318,153],{"class":138},[128,320,299],{"class":298},[128,322,302],{"class":138},[128,324,325,328],{"class":130,"line":145},[128,326,327],{"class":134},"cd",[128,329,330],{"class":138}," github\n",[128,332,334,336],{"class":130,"line":333},3,[128,335,135],{"class":134},[128,337,338],{"class":138}," prepare\n",[128,340,342,344],{"class":130,"line":341},4,[128,343,135],{"class":134},[128,345,346],{"class":138}," publish\n",[114,348,350],{"id":349},"extensions-install-differently","Extensions install differently",[119,352,354],{"className":121,"code":353,"language":123,"meta":124,"style":124},"axon ext install @axon\u002Fmocha-theme\n",[54,355,356],{"__ignoreMap":124},[128,357,358,360,363,365],{"class":130,"line":131},[128,359,135],{"class":134},[128,361,362],{"class":138}," ext",[128,364,139],{"class":138},[128,366,367],{"class":138}," @axon\u002Fmocha-theme\n",[14,369,370,371,374],{},"An extension shapes ",[18,372,373],{},"your terminal",", not an agent — so it installs machine-wide into your\nprofile rather than into a project, and it works from any directory. Themes, commands,\nkeybinds and status lines all arrive this way.",[14,376,377,378,381],{},"The bare ",[54,379,380],{},"axon install"," recognises which you meant: if the name resolves to an extension it\nroutes there, otherwise it installs a module into the current agent.",[114,383,385],{"id":384},"finding-things","Finding things",[119,387,389],{"className":121,"code":388,"language":123,"meta":124,"style":124},"axon search obsidian --modules\naxon list --kind cognet --sort installs\n",[54,390,391,404],{"__ignoreMap":124},[128,392,393,395,398,401],{"class":130,"line":131},[128,394,135],{"class":134},[128,396,397],{"class":138}," search",[128,399,400],{"class":138}," obsidian",[128,402,403],{"class":298}," --modules\n",[128,405,406,408,411,414,417,420],{"class":130,"line":145},[128,407,135],{"class":134},[128,409,410],{"class":138}," list",[128,412,413],{"class":298}," --kind",[128,415,416],{"class":138}," cognet",[128,418,419],{"class":298}," --sort",[128,421,422],{"class":138}," installs\n",[14,424,425,431,432,438,439,442,443,442,446,442,449,452,453,456],{},[50,426,428],{"href":427},"\u002Fdocs\u002Fv2\u002Fcli\u002Fsearch",[54,429,430],{},"search"," and ",[50,433,435],{"href":434},"\u002Fdocs\u002Fv2\u002Fcli\u002Flist",[54,436,437],{},"list"," share every filter —\n",[54,440,441],{},"--kind",", ",[54,444,445],{},"--scope",[54,447,448],{},"--sort",[54,450,451],{},"--limit",". Or browse the registry from the terminal with ",[54,454,455],{},"%",",\nwhich installs into the focused agent on Enter.",[114,458,460],{"id":459},"removing","Removing",[119,462,464],{"className":121,"code":463,"language":123,"meta":124,"style":124},"axon uninstall @axon\u002Fgithub\n",[54,465,466],{"__ignoreMap":124},[128,467,468,470,473],{"class":130,"line":131},[128,469,135],{"class":134},[128,471,472],{"class":138}," uninstall",[128,474,142],{"class":138},[14,476,477,478,481],{},"Mirrors install and routes the same way, except it decides from what your project and\nprofile ",[18,479,480],{},"declare"," rather than by asking the registry. That is both faster and more\ncorrect — uninstalling something already removed from the registry still has to work.",[483,484,485],"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 .scz_3, html code.shiki .scz_3{--shiki-default:#569CD6}",{"title":124,"searchDepth":145,"depth":145,"links":487},[488,489,490,491,492,493],{"id":116,"depth":145,"text":117},{"id":238,"depth":145,"text":239},{"id":280,"depth":145,"text":281},{"id":349,"depth":145,"text":350},{"id":384,"depth":145,"text":385},{"id":459,"depth":145,"text":460},"Four commands pull things out of the registry, and they differ in what you end up\nowning. Picking the wrong one is the most common way to get stuck, so it is worth thirty\nseconds up front.","md",{},true,"\u002Fdocs\u002Fv2\u002Fcli\u002Finstalling",{"title":5,"description":494},"docs\u002Fv2\u002Fcli\u002Finstalling","lSaZFWxv0TWOwcxlYjr1YklSQ6l-yp166wYOgilyNxQ",1786899561158]