[{"data":1,"prerenderedAt":602},["ShallowReactive",2],{"navigation_docs":3,"-docs-registries-template-metadata":145,"-docs-registries-template-metadata-surround":597},[4,8,12,16,51,81,103],{"title":5,"path":6,"stem":7},"Introduction","\u002Fdocs\u002Fintroduction","docs\u002F1.introduction",{"title":9,"path":10,"stem":11},"Getting started","\u002Fdocs\u002Fgetting-started","docs\u002F2.getting-started",{"title":13,"path":14,"stem":15},"Environment variables","\u002Fdocs\u002Fenvironment-variables","docs\u002F3.environment-variables",{"title":17,"icon":18,"path":19,"stem":20,"children":21,"page":50},"Guide","i-lucide-book-open","\u002Fdocs\u002Fguide","docs\u002F4.guide",[22,26,30,34,38,42,46],{"title":23,"path":24,"stem":25},"Scaffold a project","\u002Fdocs\u002Fguide\u002Fscaffold","docs\u002F4.guide\u002F1.scaffold",{"title":27,"path":28,"stem":29},"Pin and manage templates","\u002Fdocs\u002Fguide\u002Fpin","docs\u002F4.guide\u002F2.pin",{"title":31,"path":32,"stem":33},"Update pinned templates","\u002Fdocs\u002Fguide\u002Fupdating","docs\u002F4.guide\u002F3.updating",{"title":35,"path":36,"stem":37},"Find templates","\u002Fdocs\u002Fguide\u002Fsearch","docs\u002F4.guide\u002F4.search",{"title":39,"path":40,"stem":41},"Manage registries","\u002Fdocs\u002Fguide\u002Fregistry","docs\u002F4.guide\u002F5.registry",{"title":43,"path":44,"stem":45},"Troubleshooting","\u002Fdocs\u002Fguide\u002Ftroubleshooting","docs\u002F4.guide\u002F6.troubleshooting",{"title":47,"path":48,"stem":49},"Build your first template","\u002Fdocs\u002Fguide\u002Fcreate-template","docs\u002F4.guide\u002F7.create-template",false,{"title":52,"icon":53,"path":54,"stem":55,"children":56,"page":50},"Templates","i-lucide-layout-template","\u002Fdocs\u002Ftemplates","docs\u002F5.templates",[57,61,65,69,73,77],{"title":58,"path":59,"stem":60},"Template anatomy","\u002Fdocs\u002Ftemplates\u002Fanatomy","docs\u002F5.templates\u002F1.anatomy",{"title":62,"path":63,"stem":64},"Template params","\u002Fdocs\u002Ftemplates\u002Fparams","docs\u002F5.templates\u002F2.params",{"title":66,"path":67,"stem":68},"Template rendering","\u002Fdocs\u002Ftemplates\u002Ftemplate-rendering","docs\u002F5.templates\u002F3.template-rendering",{"title":70,"path":71,"stem":72},"Hooks","\u002Fdocs\u002Ftemplates\u002Fhooks","docs\u002F5.templates\u002F4.hooks",{"title":74,"path":75,"stem":76},"Publish a template","\u002Fdocs\u002Ftemplates\u002Fpublish","docs\u002F5.templates\u002F5.publish",{"title":78,"path":79,"stem":80},"spin.toml","\u002Fdocs\u002Ftemplates\u002Fspin-toml","docs\u002F5.templates\u002F6.spin-toml",{"title":82,"icon":83,"path":84,"stem":85,"children":86,"page":50},"Registries","i-lucide-database","\u002Fdocs\u002Fregistries","docs\u002F6.registries",[87,91,95,99],{"title":88,"path":89,"stem":90},"Registry anatomy","\u002Fdocs\u002Fregistries\u002Fanatomy","docs\u002F6.registries\u002F1.anatomy",{"title":92,"path":93,"stem":94},"Template metadata file","\u002Fdocs\u002Fregistries\u002Ftemplate-metadata","docs\u002F6.registries\u002F2.template-metadata",{"title":96,"path":97,"stem":98},"Run a registry","\u002Fdocs\u002Fregistries\u002Frun","docs\u002F6.registries\u002F3.run",{"title":100,"path":101,"stem":102},"registry.toml","\u002Fdocs\u002Fregistries\u002Fregistry-toml","docs\u002F6.registries\u002F4.registry-toml",{"title":104,"icon":105,"path":106,"stem":107,"children":108,"page":50},"Commands","i-lucide-terminal","\u002Fdocs\u002Fcommands","docs\u002F7.commands",[109,113,117,121,125,129,133,137,141],{"title":110,"path":111,"stem":112},"spin new","\u002Fdocs\u002Fcommands\u002Fnew","docs\u002F7.commands\u002F1.new",{"title":114,"path":115,"stem":116},"spin add","\u002Fdocs\u002Fcommands\u002Fadd","docs\u002F7.commands\u002F2.add",{"title":118,"path":119,"stem":120},"spin list","\u002Fdocs\u002Fcommands\u002Flist","docs\u002F7.commands\u002F3.list",{"title":122,"path":123,"stem":124},"spin update","\u002Fdocs\u002Fcommands\u002Fupdate","docs\u002F7.commands\u002F4.update",{"title":126,"path":127,"stem":128},"spin remove","\u002Fdocs\u002Fcommands\u002Fremove","docs\u002F7.commands\u002F5.remove",{"title":130,"path":131,"stem":132},"spin search","\u002Fdocs\u002Fcommands\u002Fsearch","docs\u002F7.commands\u002F6.search",{"title":134,"path":135,"stem":136},"spin registry","\u002Fdocs\u002Fcommands\u002Fregistry","docs\u002F7.commands\u002F7.registry",{"title":138,"path":139,"stem":140},"spin init","\u002Fdocs\u002Fcommands\u002Finit","docs\u002F7.commands\u002F8.init",{"title":142,"path":143,"stem":144},"spin version","\u002Fdocs\u002Fcommands\u002Fversion","docs\u002F7.commands\u002F9.version",{"id":146,"title":92,"body":147,"description":590,"extension":591,"links":592,"meta":593,"navigation":594,"path":93,"seo":595,"stem":94,"__hash__":596},"docs\u002Fdocs\u002F6.registries\u002F2.template-metadata.md",{"type":148,"value":149,"toc":584},"minimark",[150,155,372,376,430,434,560,564,580],[151,152,154],"h2",{"id":153},"example","Example",[156,157,162],"pre",{"className":158,"code":159,"language":160,"meta":161,"style":161},"language-toml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","id = \"go-cli\"\nname = \"Go CLI\"\ndescription = \"Minimal Go CLI starter\"\nsource = \"https:\u002F\u002Fgithub.com\u002Fexample\u002Fgo-cli-template.git\"\ntags = [\"go\", \"cli\"]\nauthors = [\"Example Team\"]\nlicense = \"MIT\"\nhomepage = \"https:\u002F\u002Fgithub.com\u002Fexample\u002Fgo-cli-template\"\ntype = \"cli\"\nlanguage = \"go\"\nversion = \"0.1.0\"\nupdated_at = \"2026-01-01\"\n","toml","",[163,164,165,188,203,218,233,265,284,299,314,328,342,357],"code",{"__ignoreMap":161},[166,167,170,174,178,181,185],"span",{"class":168,"line":169},"line",1,[166,171,173],{"class":172},"sTEyZ","id ",[166,175,177],{"class":176},"sMK4o","=",[166,179,180],{"class":176}," \"",[166,182,184],{"class":183},"sfazB","go-cli",[166,186,187],{"class":176},"\"\n",[166,189,191,194,196,198,201],{"class":168,"line":190},2,[166,192,193],{"class":172},"name ",[166,195,177],{"class":176},[166,197,180],{"class":176},[166,199,200],{"class":183},"Go CLI",[166,202,187],{"class":176},[166,204,206,209,211,213,216],{"class":168,"line":205},3,[166,207,208],{"class":172},"description ",[166,210,177],{"class":176},[166,212,180],{"class":176},[166,214,215],{"class":183},"Minimal Go CLI starter",[166,217,187],{"class":176},[166,219,221,224,226,228,231],{"class":168,"line":220},4,[166,222,223],{"class":172},"source ",[166,225,177],{"class":176},[166,227,180],{"class":176},[166,229,230],{"class":183},"https:\u002F\u002Fgithub.com\u002Fexample\u002Fgo-cli-template.git",[166,232,187],{"class":176},[166,234,236,239,241,244,247,250,252,255,257,260,262],{"class":168,"line":235},5,[166,237,238],{"class":172},"tags ",[166,240,177],{"class":176},[166,242,243],{"class":176}," [",[166,245,246],{"class":176},"\"",[166,248,249],{"class":183},"go",[166,251,246],{"class":176},[166,253,254],{"class":176},",",[166,256,180],{"class":176},[166,258,259],{"class":183},"cli",[166,261,246],{"class":176},[166,263,264],{"class":176},"]\n",[166,266,268,271,273,275,277,280,282],{"class":168,"line":267},6,[166,269,270],{"class":172},"authors ",[166,272,177],{"class":176},[166,274,243],{"class":176},[166,276,246],{"class":176},[166,278,279],{"class":183},"Example Team",[166,281,246],{"class":176},[166,283,264],{"class":176},[166,285,287,290,292,294,297],{"class":168,"line":286},7,[166,288,289],{"class":172},"license ",[166,291,177],{"class":176},[166,293,180],{"class":176},[166,295,296],{"class":183},"MIT",[166,298,187],{"class":176},[166,300,302,305,307,309,312],{"class":168,"line":301},8,[166,303,304],{"class":172},"homepage ",[166,306,177],{"class":176},[166,308,180],{"class":176},[166,310,311],{"class":183},"https:\u002F\u002Fgithub.com\u002Fexample\u002Fgo-cli-template",[166,313,187],{"class":176},[166,315,317,320,322,324,326],{"class":168,"line":316},9,[166,318,319],{"class":172},"type ",[166,321,177],{"class":176},[166,323,180],{"class":176},[166,325,259],{"class":183},[166,327,187],{"class":176},[166,329,331,334,336,338,340],{"class":168,"line":330},10,[166,332,333],{"class":172},"language ",[166,335,177],{"class":176},[166,337,180],{"class":176},[166,339,249],{"class":183},[166,341,187],{"class":176},[166,343,345,348,350,352,355],{"class":168,"line":344},11,[166,346,347],{"class":172},"version ",[166,349,177],{"class":176},[166,351,180],{"class":176},[166,353,354],{"class":183},"0.1.0",[166,356,187],{"class":176},[166,358,360,363,365,367,370],{"class":168,"line":359},12,[166,361,362],{"class":172},"updated_at ",[166,364,177],{"class":176},[166,366,180],{"class":176},[166,368,369],{"class":183},"2026-01-01",[166,371,187],{"class":176},[151,373,375],{"id":374},"required-fields","Required fields",[377,378,379,392],"table",{},[380,381,382],"thead",{},[383,384,385,389],"tr",{},[386,387,388],"th",{},"Field",[386,390,391],{},"Description",[393,394,395,406,416],"tbody",{},[383,396,397,403],{},[398,399,400],"td",{},[163,401,402],{},"id",[398,404,405],{},"Short identifier. Must match the file basename.",[383,407,408,413],{},[398,409,410],{},[163,411,412],{},"name",[398,414,415],{},"Human-readable label.",[383,417,418,423],{},[398,419,420],{},[163,421,422],{},"source",[398,424,425,426,429],{},"Git URL, local path, or another ",[163,427,428],{},"\u003Calias>\u002F\u003Cid>"," shorthand.",[151,431,433],{"id":432},"optional-fields","Optional fields",[377,435,436,444],{},[380,437,438],{},[383,439,440,442],{},[386,441,388],{},[386,443,391],{},[393,445,446,456,466,476,486,496,519,540,550],{},[383,447,448,453],{},[398,449,450],{},[163,451,452],{},"description",[398,454,455],{},"One-line summary shown in search results.",[383,457,458,463],{},[398,459,460],{},[163,461,462],{},"tags",[398,464,465],{},"Array of strings used for search matching.",[383,467,468,473],{},[398,469,470],{},[163,471,472],{},"authors",[398,474,475],{},"Array of author names.",[383,477,478,483],{},[398,479,480],{},[163,481,482],{},"license",[398,484,485],{},"SPDX identifier or license name.",[383,487,488,493],{},[398,489,490],{},[163,491,492],{},"homepage",[398,494,495],{},"Project homepage URL.",[383,497,498,503],{},[398,499,500],{},[163,501,502],{},"type",[398,504,505,506,508,509,508,512,508,515,518],{},"Template category, e.g. ",[163,507,259],{},", ",[163,510,511],{},"tui",[163,513,514],{},"web",[163,516,517],{},"lib",".",[383,520,521,526],{},[398,522,523],{},[163,524,525],{},"language",[398,527,528,529,508,531,508,534,508,537,518],{},"Primary language, e.g. ",[163,530,249],{},[163,532,533],{},"rust",[163,535,536],{},"ts",[163,538,539],{},"python",[383,541,542,547],{},[398,543,544],{},[163,545,546],{},"version",[398,548,549],{},"Template version.",[383,551,552,557],{},[398,553,554],{},[163,555,556],{},"updated_at",[398,558,559],{},"ISO 8601 date.",[151,561,563],{"id":562},"id-must-match-filename","id must match filename",[565,566,567,568,571,572,575,576,579],"p",{},"A file named ",[163,569,570],{},"templates\u002Fgo-cli.toml"," must have ",[163,573,574],{},"id = \"go-cli\"",". This prevents ",[163,577,578],{},"spin add official\u002Fgo-cli"," from resolving to a file with a different name.",[581,582,583],"style",{},"html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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);}",{"title":161,"searchDepth":190,"depth":190,"links":585},[586,587,588,589],{"id":153,"depth":190,"text":154},{"id":374,"depth":190,"text":375},{"id":432,"depth":190,"text":433},{"id":562,"depth":190,"text":563},"Each template in a registry is described by a file under templates\u002F\u003Cid>.toml.","md",null,{},true,{"title":92,"description":590},"RFiiQTcOlBbCPZVlwBRRLC0GZKz6EjpQ-hm6CZD_i_g",[598,600],{"title":88,"path":89,"stem":90,"description":599,"children":-1},"A registry is a collection of templates that spin search can read. It is a directory with registry.toml and a templates\u002F directory.",{"title":96,"path":97,"stem":98,"description":601,"children":-1},"You can run a registry from any git repo or local directory that follows the registry layout.",1787755180240]