[{"data":1,"prerenderedAt":276},["ShallowReactive",2],{"page:\u002Fblog\u002Fkubb-registry":3},{"id":4,"title":5,"body":6,"description":258,"extension":259,"frontmatter":260,"heading":264,"meta":265,"navigation":266,"order":264,"path":267,"seo":268,"sitemap":269,"source":272,"stem":273,"__hash__":274,"hasPopups":275},"site\u002Fblog\u002Fkubb-registry.md","Introducing the Kubb registry",{"type":7,"value":8,"toc":248},"minimark",[9,16,20,28,54,63,68,80,88,92,112,118,134,138,147,171,184,190,194,217,221,236],[10,11,12],"p",{},[13,14],"img",{"src":15,"alt":5},"\u002Fblog\u002Fkubb-registry\u002Fcover.svg",[17,18,5],"h1",{"id":19},"introducing-the-kubb-registry",[10,21,22,23,27],{},"Adding a plugin used to take three steps: find the package, install it, and add it to ",[24,25,26],"code",{},"kubb.config.ts",". Now one command does all three:",[29,30,35],"pre",{"language":31,"filename":32,"code":33,"class":34},"shell","Terminal","kubb add plugin-zod","shiki shiki-themes github-light github-dark dark:github-dark",[24,36,38],{"class":37},"language-shell",[39,40,43,47,51],"span",{"class":41,"style":42},"line","display: inline",[39,44,46],{"style":45},"color:#6F42C1;--shiki-dark:#B392F0","kubb",[39,48,50],{"style":49},"color:#032F62;--shiki-dark:#9ECBFF"," add",[39,52,53],{"style":49}," plugin-zod",[10,55,56,57,62],{},"The command reads the ",[58,59,61],"a",{"href":60},"\u002Fdocs\u002F5.x\u002Freference\u002Fregistry","Kubb registry",", a reviewed list of plugins, adapters, and parsers.",[64,65,67],"h2",{"id":66},"one-reviewed-version-per-extension","One reviewed version per extension",[10,69,70,71,75,76,79],{},"The registry lives in ",[58,72,74],{"href":73},"https:\u002F\u002Fgithub.com\u002Fkubb-labs\u002Fregistry","kubb-labs\u002Fregistry",". Each record pins one version of an extension: an npm version, or the commit of a GitHub release. A maintainer reviews every version before ",[24,77,78],{},"kubb add"," installs it, so a new release reaches your project only after someone has looked at it.",[10,81,82,83,87],{},"You can browse the registry at ",[58,84,86],{"href":85},"\u002Fextensions","kubb.dev\u002Fextensions",". Each page shows the docs the package ships: an overview, its options, and how-to guides. Kubb Studio reads the same registry.",[64,89,91],{"id":90},"add-an-extension","Add an extension",[10,93,94,99,100,103,104,107,108,111],{},[58,95,97],{"href":96},"\u002Fdocs\u002F5.x\u002Freference\u002Fcommands\u002Fadd",[24,98,78],{}," takes a registry id. Official extensions use their short name, such as ",[24,101,102],{},"plugin-zod",". Community extensions use ",[24,105,106],{},"\u003Cowner>\u002F\u003Cslug>",", such as ",[24,109,110],{},"acme\u002Fplugin-graphql",".",[10,113,114,115,117],{},"Then ",[24,116,78],{},":",[119,120,121,125,128],"ol",{},[122,123,124],"li",{},"Checks that it supports your Kubb and Node.js versions.",[122,126,127],{},"Installs the pinned version as a dev dependency, with the package manager your project uses: npm, pnpm, Yarn, or Bun.",[122,129,130,131,133],{},"Adds the plugin's import and call to ",[24,132,26],{},". For an adapter or parser, it prints the code to add.",[64,135,137],{"id":136},"keep-extensions-current","Keep extensions current",[10,139,140,146],{},[58,141,143],{"href":142},"\u002Fdocs\u002F5.x\u002Freference\u002Fcommands\u002Flist",[24,144,145],{},"kubb list"," shows what you have installed and what the registry pins:",[29,148,152],{"language":149,"filename":150,"code":151,"class":34},"text","Output","ID                    PACKAGE           INSTALLED  REGISTRY  UPDATE\nkubb-labs\u002Fplugin-ts   @kubb\u002Fplugin-ts   5.4.2      5.4.4     yes\nkubb-labs\u002Fplugin-zod  @kubb\u002Fplugin-zod  5.4.4      5.4.4     no",[24,153,155,160,161,160,166],{"class":154},"language-text",[39,156,157],{"class":41,"style":42},[39,158,159],{},"ID                    PACKAGE           INSTALLED  REGISTRY  UPDATE","\n",[39,162,163],{"class":41,"style":42},[39,164,165],{},"kubb-labs\u002Fplugin-ts   @kubb\u002Fplugin-ts   5.4.2      5.4.4     yes",[39,167,168],{"class":41,"style":42},[39,169,170],{},"kubb-labs\u002Fplugin-zod  @kubb\u002Fplugin-zod  5.4.4      5.4.4     no",[10,172,173,179,180,183],{},[58,174,176],{"href":175},"\u002Fdocs\u002F5.x\u002Freference\u002Fcommands\u002Fupdate",[24,177,178],{},"kubb update"," installs the pinned versions. Pass ",[24,181,182],{},"--check"," to only list them. It never downgrades a package.",[10,185,186,187,189],{},"Every Monday, a workflow opens a pull request that moves each pin to the latest release. Once a maintainer merges it, your next ",[24,188,178],{}," installs the new versions.",[64,191,193],{"id":192},"list-your-own-extension","List your own extension",[10,195,196,197,203,204,211,212,216],{},"Ship a ",[58,198,200],{"href":199},"\u002Fdocs\u002F5.x\u002Freference\u002Fkit\u002Fmanifest",[24,201,202],{},"kubb-extension.json"," and a ",[58,205,207,210],{"href":206},"\u002Fdocs\u002F5.x\u002Freference\u002Fkit\u002Fextension-docs",[24,208,209],{},"docs\u002F"," folder"," with your package. Publish it to npm, or tag a GitHub release. Then open a submission issue. ",[58,213,215],{"href":214},"\u002Fdocs\u002F5.x\u002Fhow-to\u002Fsubmit-to-the-registry","Submit to the registry"," walks through each step.",[64,218,220],{"id":219},"try-it","Try it",[10,222,223,225,226,228,229,231,232,111],{},[24,224,78],{},", ",[24,227,145],{},", and ",[24,230,178],{}," ship with Kubb 5.8.1. Update to 5.8.4 or later to also install extensions pinned to a GitHub release. To run your own registry, see ",[58,233,235],{"href":234},"\u002Fdocs\u002F5.x\u002Freference\u002Fregistry#host-your-own-registry","Host your own registry",[10,237,238,239,243,244,111],{},"Feedback goes to ",[58,240,242],{"href":241},"https:\u002F\u002Fgithub.com\u002Fkubb-labs\u002Fkubb\u002Fissues","GitHub"," or ",[58,245,247],{"href":246},"https:\u002F\u002Fdiscord.gg\u002FshfBFeczrm","Discord",{"title":249,"searchDepth":250,"depth":250,"links":251},"",5,[252,254,255,256,257],{"id":66,"depth":253,"text":67},2,{"id":90,"depth":253,"text":91},{"id":136,"depth":253,"text":137},{"id":192,"depth":253,"text":193},{"id":219,"depth":253,"text":220},"The Kubb registry lists reviewed plugins, adapters, and parsers. kubb add installs one and adds it to your config, and kubb update keeps it current.","md",{"layout":261,"title":5,"description":258,"outline":262,"image":15,"date":263},"doc","deep","2026-10-13",null,{"layout":261,"outline":262,"image":15,"date":263},true,"\u002Fblog\u002Fkubb-registry",{"title":5,"description":258},{"loc":267,"images":270,"lastmod":263},[271],{"loc":15},"platform\u002Fapps\u002Fkubb.dev\u002Fcontent\u002Fblog\u002Fkubb-registry.md","blog\u002Fkubb-registry","fMdO7lV5CvQy4AgcOKzkwiHLVDs5dV8Ri-YTPTgnu2M",false,1792276901980]