[{"data":1,"prerenderedAt":361},["ShallowReactive",2],{"docs-\u002Fdocs\u002Fmain\u002Finstallation":3},{"id":4,"title":5,"body":6,"description":348,"extension":349,"group":350,"meta":351,"navigation":352,"order":353,"path":354,"section":355,"seo":356,"source":357,"stem":358,"version":359,"__hash__":360},"docs\u002Fdocs\u002Fmain\u002Finstallation.md","Install Gonex and its CLI",{"type":7,"value":8,"toc":340},"minimark",[9,14,28,32,67,86,90,162,168,172,179,220,237,241,244,259,266,282,290,294,322,325,336],[10,11,13],"h2",{"id":12},"requirements","Requirements",[15,16,17,18,22,23,27],"p",{},"Use ",[19,20,21],"strong",{},"Go 1.27.2"," and a configured Go module proxy or dependency cache. Gonex is installed into your own project; you do not clone the framework to build an API. There is no published release yet: these commands pin the reviewed development commit ",[24,25,26],"code",{},"3ca54b46cb42",".",[10,29,31],{"id":30},"install-the-bootstrap-cli","Install the bootstrap CLI",[33,34,39],"pre",{"className":35,"code":36,"language":37,"meta":38,"style":38},"language-sh shiki shiki-themes light-plus light-plus dark-plus","go install github.com\u002Famkargar\u002Fgonex\u002Fcmd\u002Fgonex@3ca54b46cb42\ngonex --version\n","sh","",[24,40,41,57],{"__ignoreMap":38},[42,43,46,50,54],"span",{"class":44,"line":45},"line",1,[42,47,49],{"class":48},"swoLU","go",[42,51,53],{"class":52},"sFD8J"," install",[42,55,56],{"class":52}," github.com\u002Famkargar\u002Fgonex\u002Fcmd\u002Fgonex@3ca54b46cb42\n",[42,58,60,63],{"class":44,"line":59},2,[42,61,62],{"class":48},"gonex",[42,64,66],{"class":65},"stxUP"," --version\n",[15,68,69,70,73,74,77,78,81,82,85],{},"Ensure Go's binary directory is on PATH: ",[24,71,72],{},"GOBIN",", or ",[24,75,76],{},"GOPATH\u002Fbin"," when GOBIN is unset. ",[24,79,80],{},"go env GOBIN GOPATH"," prints those locations. On Windows the executable is ",[24,83,84],{},"gonex.exe",". If your shell cannot find it, add the installation directory to PATH and reopen the shell.",[10,87,89],{"id":88},"generate-your-own-application","Generate your own application",[33,91,93],{"className":35,"code":92,"language":37,"meta":38,"style":38},"gonex new shop --module example.com\u002Facme\u002Fshop\ncd shop\ngo mod tidy\ngo tool gonex create module users\ngo tool gonex run\n",[24,94,95,111,119,130,150],{"__ignoreMap":38},[42,96,97,99,102,105,108],{"class":44,"line":45},[42,98,62],{"class":48},[42,100,101],{"class":52}," new",[42,103,104],{"class":52}," shop",[42,106,107],{"class":65}," --module",[42,109,110],{"class":52}," example.com\u002Facme\u002Fshop\n",[42,112,113,116],{"class":44,"line":59},[42,114,115],{"class":48},"cd",[42,117,118],{"class":52}," shop\n",[42,120,122,124,127],{"class":44,"line":121},3,[42,123,49],{"class":48},[42,125,126],{"class":52}," mod",[42,128,129],{"class":52}," tidy\n",[42,131,133,135,138,141,144,147],{"class":44,"line":132},4,[42,134,49],{"class":48},[42,136,137],{"class":52}," tool",[42,139,140],{"class":52}," gonex",[42,142,143],{"class":52}," create",[42,145,146],{"class":52}," module",[42,148,149],{"class":52}," users\n",[42,151,153,155,157,159],{"class":44,"line":152},5,[42,154,49],{"class":48},[42,156,137],{"class":52},[42,158,140],{"class":52},[42,160,161],{"class":52}," run\n",[15,163,164,165,27],{},"Choose your application's Go module path. The installed CLI uses its actual module version as the generated framework dependency, including pseudo-versions. No unpublished default release is assumed. A locally built CLI must receive an explicit valid ",[24,166,167],{},"--framework-version VERSION",[10,169,171],{"id":170},"project-local-development-tool","Project-local development tool",[15,173,174,175,178],{},"The generated ",[24,176,177],{},"go.mod"," includes both a Gonex requirement and:",[33,180,183],{"className":181,"code":182,"language":49,"meta":38,"style":38},"language-go shiki shiki-themes light-plus light-plus dark-plus","tool github.com\u002Famkargar\u002Fgonex\u002Fcmd\u002Fgonex\n",[24,184,185],{"__ignoreMap":38},[42,186,187,191,194,197,200,203,206,208,210,212,215,217],{"class":44,"line":45},[42,188,190],{"class":189},"sswaR","tool",[42,192,193],{"class":189}," github",[42,195,27],{"class":196},"s_Yst",[42,198,199],{"class":189},"com",[42,201,202],{"class":196},"\u002F",[42,204,205],{"class":189},"amkargar",[42,207,202],{"class":196},[42,209,62],{"class":189},[42,211,202],{"class":196},[42,213,214],{"class":189},"cmd",[42,216,202],{"class":196},[42,218,219],{"class":189},"gonex\n",[15,221,222,223,229,230,27],{},"Continue with ",[19,224,225,228],{},[24,226,227],{},"go tool gonex"," inside the application",". Go selects the project's CLI version, avoiding accidental use of another global CLI. This is a development tool dependency tracked in go.mod\u002Fgo.sum; it does not link the CLI into your server binary. Framework and CLI share one module version. See ",[231,232,236],"a",{"href":233,"rel":234},"https:\u002F\u002Fgo.dev\u002Fdoc\u002Fmodules\u002Fmanaging-dependencies",[235],"nofollow","Go tool dependencies",[10,238,240],{"id":239},"add-the-library-to-an-existing-application","Add the library to an existing application",[15,242,243],{},"From the existing module root:",[33,245,247],{"className":35,"code":246,"language":37,"meta":38,"style":38},"go get github.com\u002Famkargar\u002Fgonex@3ca54b46cb42\n",[24,248,249],{"__ignoreMap":38},[42,250,251,253,256],{"class":44,"line":45},[42,252,49],{"class":48},[42,254,255],{"class":52}," get",[42,257,258],{"class":52}," github.com\u002Famkargar\u002Fgonex@3ca54b46cb42\n",[15,260,261,262,265],{},"Add your Gonex imports and explicit application\u002Fmodule composition, then run ",[24,263,264],{},"go mod tidy",". Installing a dependency does not replace an existing HTTP server automatically. You can also track the CLI in an existing Go module:",[33,267,269],{"className":35,"code":268,"language":37,"meta":38,"style":38},"go get -tool github.com\u002Famkargar\u002Fgonex\u002Fcmd\u002Fgonex@3ca54b46cb42\n",[24,270,271],{"__ignoreMap":38},[42,272,273,275,277,280],{"class":44,"line":45},[42,274,49],{"class":48},[42,276,255],{"class":52},[42,278,279],{"class":65}," -tool",[42,281,56],{"class":52},[15,283,284,285,289],{},"The minimum Go patch and dependency versions include security fixes. Use the reviewed snapshot rather than an older development commit, and consult ",[231,286,288],{"href":287},"\u002Fdocs\u002Fmain\u002Fproduction-readiness\u002F","production readiness"," for the current release decision.",[10,291,293],{"id":292},"check-the-selected-dependency","Check the selected dependency",[33,295,297],{"className":35,"code":296,"language":37,"meta":38,"style":38},"go list -m github.com\u002Famkargar\u002Fgonex\ngo tool gonex --version\n",[24,298,299,312],{"__ignoreMap":38},[42,300,301,303,306,309],{"class":44,"line":45},[42,302,49],{"class":48},[42,304,305],{"class":52}," list",[42,307,308],{"class":65}," -m",[42,310,311],{"class":52}," github.com\u002Famkargar\u002Fgonex\n",[42,313,314,316,318,320],{"class":44,"line":59},[42,315,49],{"class":48},[42,317,137],{"class":52},[42,319,140],{"class":52},[42,321,66],{"class":65},[15,323,324],{},"Use actual published tags once available, or reviewed commits while the framework is in development. Keep go.mod and go.sum with your application. Go resolves commit references into canonical pseudo-versions.",[15,326,222,327,331,332,27],{},[231,328,330],{"href":329},"\u002Fdocs\u002Fmain\u002Fquick-start\u002F","Quick start",". Framework checkout\u002Freplacement instructions belong only in ",[231,333,335],{"href":334},"\u002Fdocs\u002Fmain\u002Fcontribute\u002Fdevelopment-setup\u002F","Contribute",[337,338,339],"style",{},"html pre.shiki code .swoLU, html code.shiki .swoLU{--shiki-light:#795E26;--shiki-default:#795E26;--shiki-dark:#DCDCAA}html pre.shiki code .sFD8J, html code.shiki .sFD8J{--shiki-light:#A31515;--shiki-default:#A31515;--shiki-dark:#CE9178}html pre.shiki code .stxUP, html code.shiki .stxUP{--shiki-light:#0000FF;--shiki-default:#0000FF;--shiki-dark:#569CD6}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}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 .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sswaR, html code.shiki .sswaR{--shiki-light:#001080;--shiki-default:#001080;--shiki-dark:#9CDCFE}html pre.shiki code .s_Yst, html code.shiki .s_Yst{--shiki-light:#000000;--shiki-default:#000000;--shiki-dark:#D4D4D4}",{"title":38,"searchDepth":59,"depth":59,"links":341},[342,343,344,345,346,347],{"id":12,"depth":59,"text":13},{"id":30,"depth":59,"text":31},{"id":88,"depth":59,"text":89},{"id":170,"depth":59,"text":171},{"id":239,"depth":59,"text":240},{"id":292,"depth":59,"text":293},"Install Gonex as a Go library and project-local development tool, then generate an API application without cloning the framework.","md","GETTING STARTED",{},true,10,"\u002Fdocs\u002Fmain\u002Finstallation","build",{"title":5,"description":348},null,"docs\u002Fmain\u002Finstallation","main","mmm8DP7yNnxiKuBycrQMiMt9uNhn_EJZW-7ysbHQxLY",1792521640400]