[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-directus-rstore-nuxt-monospace":3,"mdc--ibtznu-key":34,"related-org-directus-rstore-nuxt-monospace":1123,"related-repo-directus-rstore-nuxt-monospace":1228},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":23,"repoUrl":24,"updatedAt":25,"license":26,"forks":27,"topics":28,"repo":29,"sourceUrl":32,"mdContent":33},"rstore-nuxt-monospace","integrate Monospace into Nuxt applications","Use when wiring Monospace into a Nuxt app with @rstore\u002Fnuxt-monospace, including rstoreMonospace config, remote or local OpenAPI generation, generated #build templates, runtime plugin setup, auto-imported useMonospace, runtimeApiKey handling, primaryKeys, and generated rstore collections. Pair with rstore-monospace for shared REST\u002FOpenAPI behavior, rstore-nuxt for Nuxt store integration, and rstore-vue for query\u002Fform usage.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"directus","Directus","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fdirectus.png",[12,16,19,20],{"name":13,"slug":14,"type":15},"Nuxt","nuxt","tag",{"name":17,"slug":18,"type":15},"Vue","vue",{"name":9,"slug":8,"type":15},{"name":21,"slug":22,"type":15},"API Development","api-development",425,"https:\u002F\u002Fgithub.com\u002Fdirectus\u002Frstore","2026-07-12T07:51:12.752798",null,19,[],{"repoUrl":24,"stars":23,"forks":27,"topics":30,"description":31},[],"The Reactive Data Store for Vue and Nuxt developers.","https:\u002F\u002Fgithub.com\u002Fdirectus\u002Frstore\u002Ftree\u002FHEAD\u002Fpackages\u002Fnuxt-monospace\u002Fskills\u002Frstore-nuxt-monospace","---\nname: rstore-nuxt-monospace\ndescription: \"Use when wiring Monospace into a Nuxt app with @rstore\u002Fnuxt-monospace, including rstoreMonospace config, remote or local OpenAPI generation, generated #build templates, runtime plugin setup, auto-imported useMonospace, runtimeApiKey handling, primaryKeys, and generated rstore collections. Pair with rstore-monospace for shared REST\u002FOpenAPI behavior, rstore-nuxt for Nuxt store integration, and rstore-vue for query\u002Fform usage.\"\n---\n\n# Rstore Nuxt Monospace\n\nUse `@rstore\u002Fnuxt-monospace` to generate Monospace-backed rstore collections and register the runtime REST plugin in Nuxt.\n\n## Setup\n\nRegister the Nuxt module:\n\n```ts\nexport default defineNuxtConfig({\n  modules: [\n    '@rstore\u002Fnuxt-monospace',\n  ],\n  rstoreMonospace: {\n    url: 'https:\u002F\u002Fyour-monospace-instance.com',\n    project: 'your-project',\n    schemaApiKey: process.env.MONOSPACE_API_KEY,\n    scopeId: 'rstore-monospace',\n  },\n})\n```\n\nUse generated collections through `useStore()`:\n\n```ts\nconst store = useStore()\n\nconst { data } = await store.Todos.query(q => q.many({\n  fields: ['id', 'title'],\n  limit: 20,\n}))\n```\n\nUse the auto-imported REST client when direct Monospace access is intentional:\n\n```ts\nconst monospace = useMonospace()\nconst todos = await monospace.readMany('Todos', { limit: 10 })\n```\n\n## Options\n\n| Option | Purpose |\n| --- | --- |\n| `url` | Monospace API URL |\n| `project` | Monospace project identifier |\n| `schemaApiKey` | Build-time key for remote schema loading (needs `openApiSchema:read` + `dataModel:read`) |\n| `input` | Local OpenAPI JSON path, resolved from Nuxt root |\n| `metadataInput` | Local schema metadata snapshot JSON path, resolved from Nuxt root |\n| `runtimeApiKey` | Runtime API key emitted into generated config |\n| `scopeId` | rstore plugin scope id, defaulting to `rstore-monospace` |\n| `primaryKeys` | Explicit primary key overrides by collection name |\n\n## Generated Nuxt Templates\n\n- `$rstore-monospace-collections.js` contains runtime collection definitions.\n- `$rstore-monospace-items.d.ts` contains generated item interfaces.\n- `$rstore-monospace-collections.d.ts` contains typed collection declarations.\n- `$rstore-monospace-config.js` contains runtime URL, project, optional API key, and scope id.\n\n## Module Behavior\n\n- The module depends on `@rstore\u002Fnuxt`.\n- It adds generated collections through `addCollectionImport`.\n- It adds the runtime plugin through `addPluginImport`.\n- It registers runtime type references and auto-imports `useMonospace()`.\n- Missing `url` or `project` skips collection generation with a warning.\n\n## Guardrails\n\n1. Keep `schemaApiKey` server-side\u002Fbuild-time.\n2. Configure `runtimeApiKey` only when the value is safe to expose through generated runtime config.\n3. Use `input` plus `metadataInput` for checked-in or separately generated schemas; generation needs both the OpenAPI document and the schema metadata.\n4. Prefer generated rstore collections and plugin wiring over custom Nuxt API routes for generated collections.\n5. Use `rstore-monospace` for shared OpenAPI, REST, query, and mutation behavior.\n6. Use `rstore-nuxt` for base Nuxt rstore module behavior and `rstore-vue` for query\u002Fform\u002Fcache semantics.\n",{"data":35,"body":36},{"name":4,"description":6},{"type":37,"children":38},"root",[39,47,62,69,74,350,362,589,594,707,713,898,904,953,959,1029,1035,1117],{"type":40,"tag":41,"props":42,"children":43},"element","h1",{"id":4},[44],{"type":45,"value":46},"text","Rstore Nuxt Monospace",{"type":40,"tag":48,"props":49,"children":50},"p",{},[51,53,60],{"type":45,"value":52},"Use ",{"type":40,"tag":54,"props":55,"children":57},"code",{"className":56},[],[58],{"type":45,"value":59},"@rstore\u002Fnuxt-monospace",{"type":45,"value":61}," to generate Monospace-backed rstore collections and register the runtime REST plugin in Nuxt.",{"type":40,"tag":63,"props":64,"children":66},"h2",{"id":65},"setup",[67],{"type":45,"value":68},"Setup",{"type":40,"tag":48,"props":70,"children":71},{},[72],{"type":45,"value":73},"Register the Nuxt module:",{"type":40,"tag":75,"props":76,"children":81},"pre",{"className":77,"code":78,"language":79,"meta":80,"style":80},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineNuxtConfig({\n  modules: [\n    '@rstore\u002Fnuxt-monospace',\n  ],\n  rstoreMonospace: {\n    url: 'https:\u002F\u002Fyour-monospace-instance.com',\n    project: 'your-project',\n    schemaApiKey: process.env.MONOSPACE_API_KEY,\n    scopeId: 'rstore-monospace',\n  },\n})\n","ts","",[82],{"type":40,"tag":54,"props":83,"children":84},{"__ignoreMap":80},[85,120,140,164,177,195,226,256,297,327,336],{"type":40,"tag":86,"props":87,"children":90},"span",{"class":88,"line":89},"line",1,[91,97,102,108,114],{"type":40,"tag":86,"props":92,"children":94},{"style":93},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[95],{"type":45,"value":96},"export",{"type":40,"tag":86,"props":98,"children":99},{"style":93},[100],{"type":45,"value":101}," default",{"type":40,"tag":86,"props":103,"children":105},{"style":104},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[106],{"type":45,"value":107}," defineNuxtConfig",{"type":40,"tag":86,"props":109,"children":111},{"style":110},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[112],{"type":45,"value":113},"(",{"type":40,"tag":86,"props":115,"children":117},{"style":116},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[118],{"type":45,"value":119},"{\n",{"type":40,"tag":86,"props":121,"children":123},{"class":88,"line":122},2,[124,130,135],{"type":40,"tag":86,"props":125,"children":127},{"style":126},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[128],{"type":45,"value":129},"  modules",{"type":40,"tag":86,"props":131,"children":132},{"style":116},[133],{"type":45,"value":134},":",{"type":40,"tag":86,"props":136,"children":137},{"style":110},[138],{"type":45,"value":139}," [\n",{"type":40,"tag":86,"props":141,"children":143},{"class":88,"line":142},3,[144,149,154,159],{"type":40,"tag":86,"props":145,"children":146},{"style":116},[147],{"type":45,"value":148},"    '",{"type":40,"tag":86,"props":150,"children":152},{"style":151},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[153],{"type":45,"value":59},{"type":40,"tag":86,"props":155,"children":156},{"style":116},[157],{"type":45,"value":158},"'",{"type":40,"tag":86,"props":160,"children":161},{"style":116},[162],{"type":45,"value":163},",\n",{"type":40,"tag":86,"props":165,"children":167},{"class":88,"line":166},4,[168,173],{"type":40,"tag":86,"props":169,"children":170},{"style":110},[171],{"type":45,"value":172},"  ]",{"type":40,"tag":86,"props":174,"children":175},{"style":116},[176],{"type":45,"value":163},{"type":40,"tag":86,"props":178,"children":180},{"class":88,"line":179},5,[181,186,190],{"type":40,"tag":86,"props":182,"children":183},{"style":126},[184],{"type":45,"value":185},"  rstoreMonospace",{"type":40,"tag":86,"props":187,"children":188},{"style":116},[189],{"type":45,"value":134},{"type":40,"tag":86,"props":191,"children":192},{"style":116},[193],{"type":45,"value":194}," {\n",{"type":40,"tag":86,"props":196,"children":198},{"class":88,"line":197},6,[199,204,208,213,218,222],{"type":40,"tag":86,"props":200,"children":201},{"style":126},[202],{"type":45,"value":203},"    url",{"type":40,"tag":86,"props":205,"children":206},{"style":116},[207],{"type":45,"value":134},{"type":40,"tag":86,"props":209,"children":210},{"style":116},[211],{"type":45,"value":212}," '",{"type":40,"tag":86,"props":214,"children":215},{"style":151},[216],{"type":45,"value":217},"https:\u002F\u002Fyour-monospace-instance.com",{"type":40,"tag":86,"props":219,"children":220},{"style":116},[221],{"type":45,"value":158},{"type":40,"tag":86,"props":223,"children":224},{"style":116},[225],{"type":45,"value":163},{"type":40,"tag":86,"props":227,"children":229},{"class":88,"line":228},7,[230,235,239,243,248,252],{"type":40,"tag":86,"props":231,"children":232},{"style":126},[233],{"type":45,"value":234},"    project",{"type":40,"tag":86,"props":236,"children":237},{"style":116},[238],{"type":45,"value":134},{"type":40,"tag":86,"props":240,"children":241},{"style":116},[242],{"type":45,"value":212},{"type":40,"tag":86,"props":244,"children":245},{"style":151},[246],{"type":45,"value":247},"your-project",{"type":40,"tag":86,"props":249,"children":250},{"style":116},[251],{"type":45,"value":158},{"type":40,"tag":86,"props":253,"children":254},{"style":116},[255],{"type":45,"value":163},{"type":40,"tag":86,"props":257,"children":259},{"class":88,"line":258},8,[260,265,269,274,279,284,288,293],{"type":40,"tag":86,"props":261,"children":262},{"style":126},[263],{"type":45,"value":264},"    schemaApiKey",{"type":40,"tag":86,"props":266,"children":267},{"style":116},[268],{"type":45,"value":134},{"type":40,"tag":86,"props":270,"children":271},{"style":110},[272],{"type":45,"value":273}," process",{"type":40,"tag":86,"props":275,"children":276},{"style":116},[277],{"type":45,"value":278},".",{"type":40,"tag":86,"props":280,"children":281},{"style":110},[282],{"type":45,"value":283},"env",{"type":40,"tag":86,"props":285,"children":286},{"style":116},[287],{"type":45,"value":278},{"type":40,"tag":86,"props":289,"children":290},{"style":110},[291],{"type":45,"value":292},"MONOSPACE_API_KEY",{"type":40,"tag":86,"props":294,"children":295},{"style":116},[296],{"type":45,"value":163},{"type":40,"tag":86,"props":298,"children":300},{"class":88,"line":299},9,[301,306,310,314,319,323],{"type":40,"tag":86,"props":302,"children":303},{"style":126},[304],{"type":45,"value":305},"    scopeId",{"type":40,"tag":86,"props":307,"children":308},{"style":116},[309],{"type":45,"value":134},{"type":40,"tag":86,"props":311,"children":312},{"style":116},[313],{"type":45,"value":212},{"type":40,"tag":86,"props":315,"children":316},{"style":151},[317],{"type":45,"value":318},"rstore-monospace",{"type":40,"tag":86,"props":320,"children":321},{"style":116},[322],{"type":45,"value":158},{"type":40,"tag":86,"props":324,"children":325},{"style":116},[326],{"type":45,"value":163},{"type":40,"tag":86,"props":328,"children":330},{"class":88,"line":329},10,[331],{"type":40,"tag":86,"props":332,"children":333},{"style":116},[334],{"type":45,"value":335},"  },\n",{"type":40,"tag":86,"props":337,"children":339},{"class":88,"line":338},11,[340,345],{"type":40,"tag":86,"props":341,"children":342},{"style":116},[343],{"type":45,"value":344},"}",{"type":40,"tag":86,"props":346,"children":347},{"style":110},[348],{"type":45,"value":349},")\n",{"type":40,"tag":48,"props":351,"children":352},{},[353,355,361],{"type":45,"value":354},"Use generated collections through ",{"type":40,"tag":54,"props":356,"children":358},{"className":357},[],[359],{"type":45,"value":360},"useStore()",{"type":45,"value":134},{"type":40,"tag":75,"props":363,"children":365},{"className":77,"code":364,"language":79,"meta":80,"style":80},"const store = useStore()\n\nconst { data } = await store.Todos.query(q => q.many({\n  fields: ['id', 'title'],\n  limit: 20,\n}))\n",[366],{"type":40,"tag":54,"props":367,"children":368},{"__ignoreMap":80},[369,398,407,498,555,577],{"type":40,"tag":86,"props":370,"children":371},{"class":88,"line":89},[372,378,383,388,393],{"type":40,"tag":86,"props":373,"children":375},{"style":374},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[376],{"type":45,"value":377},"const",{"type":40,"tag":86,"props":379,"children":380},{"style":110},[381],{"type":45,"value":382}," store ",{"type":40,"tag":86,"props":384,"children":385},{"style":116},[386],{"type":45,"value":387},"=",{"type":40,"tag":86,"props":389,"children":390},{"style":104},[391],{"type":45,"value":392}," useStore",{"type":40,"tag":86,"props":394,"children":395},{"style":110},[396],{"type":45,"value":397},"()\n",{"type":40,"tag":86,"props":399,"children":400},{"class":88,"line":122},[401],{"type":40,"tag":86,"props":402,"children":404},{"emptyLinePlaceholder":403},true,[405],{"type":45,"value":406},"\n",{"type":40,"tag":86,"props":408,"children":409},{"class":88,"line":142},[410,414,419,424,428,433,438,443,447,452,456,461,465,471,476,481,485,490,494],{"type":40,"tag":86,"props":411,"children":412},{"style":374},[413],{"type":45,"value":377},{"type":40,"tag":86,"props":415,"children":416},{"style":116},[417],{"type":45,"value":418}," {",{"type":40,"tag":86,"props":420,"children":421},{"style":110},[422],{"type":45,"value":423}," data ",{"type":40,"tag":86,"props":425,"children":426},{"style":116},[427],{"type":45,"value":344},{"type":40,"tag":86,"props":429,"children":430},{"style":116},[431],{"type":45,"value":432}," =",{"type":40,"tag":86,"props":434,"children":435},{"style":93},[436],{"type":45,"value":437}," await",{"type":40,"tag":86,"props":439,"children":440},{"style":110},[441],{"type":45,"value":442}," store",{"type":40,"tag":86,"props":444,"children":445},{"style":116},[446],{"type":45,"value":278},{"type":40,"tag":86,"props":448,"children":449},{"style":110},[450],{"type":45,"value":451},"Todos",{"type":40,"tag":86,"props":453,"children":454},{"style":116},[455],{"type":45,"value":278},{"type":40,"tag":86,"props":457,"children":458},{"style":104},[459],{"type":45,"value":460},"query",{"type":40,"tag":86,"props":462,"children":463},{"style":110},[464],{"type":45,"value":113},{"type":40,"tag":86,"props":466,"children":468},{"style":467},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic",[469],{"type":45,"value":470},"q",{"type":40,"tag":86,"props":472,"children":473},{"style":374},[474],{"type":45,"value":475}," =>",{"type":40,"tag":86,"props":477,"children":478},{"style":110},[479],{"type":45,"value":480}," q",{"type":40,"tag":86,"props":482,"children":483},{"style":116},[484],{"type":45,"value":278},{"type":40,"tag":86,"props":486,"children":487},{"style":104},[488],{"type":45,"value":489},"many",{"type":40,"tag":86,"props":491,"children":492},{"style":110},[493],{"type":45,"value":113},{"type":40,"tag":86,"props":495,"children":496},{"style":116},[497],{"type":45,"value":119},{"type":40,"tag":86,"props":499,"children":500},{"class":88,"line":166},[501,506,510,515,519,524,528,533,537,542,546,551],{"type":40,"tag":86,"props":502,"children":503},{"style":126},[504],{"type":45,"value":505},"  fields",{"type":40,"tag":86,"props":507,"children":508},{"style":116},[509],{"type":45,"value":134},{"type":40,"tag":86,"props":511,"children":512},{"style":110},[513],{"type":45,"value":514}," [",{"type":40,"tag":86,"props":516,"children":517},{"style":116},[518],{"type":45,"value":158},{"type":40,"tag":86,"props":520,"children":521},{"style":151},[522],{"type":45,"value":523},"id",{"type":40,"tag":86,"props":525,"children":526},{"style":116},[527],{"type":45,"value":158},{"type":40,"tag":86,"props":529,"children":530},{"style":116},[531],{"type":45,"value":532},",",{"type":40,"tag":86,"props":534,"children":535},{"style":116},[536],{"type":45,"value":212},{"type":40,"tag":86,"props":538,"children":539},{"style":151},[540],{"type":45,"value":541},"title",{"type":40,"tag":86,"props":543,"children":544},{"style":116},[545],{"type":45,"value":158},{"type":40,"tag":86,"props":547,"children":548},{"style":110},[549],{"type":45,"value":550},"]",{"type":40,"tag":86,"props":552,"children":553},{"style":116},[554],{"type":45,"value":163},{"type":40,"tag":86,"props":556,"children":557},{"class":88,"line":179},[558,563,567,573],{"type":40,"tag":86,"props":559,"children":560},{"style":126},[561],{"type":45,"value":562},"  limit",{"type":40,"tag":86,"props":564,"children":565},{"style":116},[566],{"type":45,"value":134},{"type":40,"tag":86,"props":568,"children":570},{"style":569},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[571],{"type":45,"value":572}," 20",{"type":40,"tag":86,"props":574,"children":575},{"style":116},[576],{"type":45,"value":163},{"type":40,"tag":86,"props":578,"children":579},{"class":88,"line":197},[580,584],{"type":40,"tag":86,"props":581,"children":582},{"style":116},[583],{"type":45,"value":344},{"type":40,"tag":86,"props":585,"children":586},{"style":110},[587],{"type":45,"value":588},"))\n",{"type":40,"tag":48,"props":590,"children":591},{},[592],{"type":45,"value":593},"Use the auto-imported REST client when direct Monospace access is intentional:",{"type":40,"tag":75,"props":595,"children":597},{"className":77,"code":596,"language":79,"meta":80,"style":80},"const monospace = useMonospace()\nconst todos = await monospace.readMany('Todos', { limit: 10 })\n",[598],{"type":40,"tag":54,"props":599,"children":600},{"__ignoreMap":80},[601,626],{"type":40,"tag":86,"props":602,"children":603},{"class":88,"line":89},[604,608,613,617,622],{"type":40,"tag":86,"props":605,"children":606},{"style":374},[607],{"type":45,"value":377},{"type":40,"tag":86,"props":609,"children":610},{"style":110},[611],{"type":45,"value":612}," monospace ",{"type":40,"tag":86,"props":614,"children":615},{"style":116},[616],{"type":45,"value":387},{"type":40,"tag":86,"props":618,"children":619},{"style":104},[620],{"type":45,"value":621}," useMonospace",{"type":40,"tag":86,"props":623,"children":624},{"style":110},[625],{"type":45,"value":397},{"type":40,"tag":86,"props":627,"children":628},{"class":88,"line":122},[629,633,638,642,646,651,655,660,664,668,672,676,680,684,689,693,698,703],{"type":40,"tag":86,"props":630,"children":631},{"style":374},[632],{"type":45,"value":377},{"type":40,"tag":86,"props":634,"children":635},{"style":110},[636],{"type":45,"value":637}," todos ",{"type":40,"tag":86,"props":639,"children":640},{"style":116},[641],{"type":45,"value":387},{"type":40,"tag":86,"props":643,"children":644},{"style":93},[645],{"type":45,"value":437},{"type":40,"tag":86,"props":647,"children":648},{"style":110},[649],{"type":45,"value":650}," monospace",{"type":40,"tag":86,"props":652,"children":653},{"style":116},[654],{"type":45,"value":278},{"type":40,"tag":86,"props":656,"children":657},{"style":104},[658],{"type":45,"value":659},"readMany",{"type":40,"tag":86,"props":661,"children":662},{"style":110},[663],{"type":45,"value":113},{"type":40,"tag":86,"props":665,"children":666},{"style":116},[667],{"type":45,"value":158},{"type":40,"tag":86,"props":669,"children":670},{"style":151},[671],{"type":45,"value":451},{"type":40,"tag":86,"props":673,"children":674},{"style":116},[675],{"type":45,"value":158},{"type":40,"tag":86,"props":677,"children":678},{"style":116},[679],{"type":45,"value":532},{"type":40,"tag":86,"props":681,"children":682},{"style":116},[683],{"type":45,"value":418},{"type":40,"tag":86,"props":685,"children":686},{"style":126},[687],{"type":45,"value":688}," limit",{"type":40,"tag":86,"props":690,"children":691},{"style":116},[692],{"type":45,"value":134},{"type":40,"tag":86,"props":694,"children":695},{"style":569},[696],{"type":45,"value":697}," 10",{"type":40,"tag":86,"props":699,"children":700},{"style":116},[701],{"type":45,"value":702}," }",{"type":40,"tag":86,"props":704,"children":705},{"style":110},[706],{"type":45,"value":349},{"type":40,"tag":63,"props":708,"children":710},{"id":709},"options",[711],{"type":45,"value":712},"Options",{"type":40,"tag":714,"props":715,"children":716},"table",{},[717,736],{"type":40,"tag":718,"props":719,"children":720},"thead",{},[721],{"type":40,"tag":722,"props":723,"children":724},"tr",{},[725,731],{"type":40,"tag":726,"props":727,"children":728},"th",{},[729],{"type":45,"value":730},"Option",{"type":40,"tag":726,"props":732,"children":733},{},[734],{"type":45,"value":735},"Purpose",{"type":40,"tag":737,"props":738,"children":739},"tbody",{},[740,758,775,808,825,842,859,881],{"type":40,"tag":722,"props":741,"children":742},{},[743,753],{"type":40,"tag":744,"props":745,"children":746},"td",{},[747],{"type":40,"tag":54,"props":748,"children":750},{"className":749},[],[751],{"type":45,"value":752},"url",{"type":40,"tag":744,"props":754,"children":755},{},[756],{"type":45,"value":757},"Monospace API URL",{"type":40,"tag":722,"props":759,"children":760},{},[761,770],{"type":40,"tag":744,"props":762,"children":763},{},[764],{"type":40,"tag":54,"props":765,"children":767},{"className":766},[],[768],{"type":45,"value":769},"project",{"type":40,"tag":744,"props":771,"children":772},{},[773],{"type":45,"value":774},"Monospace project identifier",{"type":40,"tag":722,"props":776,"children":777},{},[778,787],{"type":40,"tag":744,"props":779,"children":780},{},[781],{"type":40,"tag":54,"props":782,"children":784},{"className":783},[],[785],{"type":45,"value":786},"schemaApiKey",{"type":40,"tag":744,"props":788,"children":789},{},[790,792,798,800,806],{"type":45,"value":791},"Build-time key for remote schema loading (needs ",{"type":40,"tag":54,"props":793,"children":795},{"className":794},[],[796],{"type":45,"value":797},"openApiSchema:read",{"type":45,"value":799}," + ",{"type":40,"tag":54,"props":801,"children":803},{"className":802},[],[804],{"type":45,"value":805},"dataModel:read",{"type":45,"value":807},")",{"type":40,"tag":722,"props":809,"children":810},{},[811,820],{"type":40,"tag":744,"props":812,"children":813},{},[814],{"type":40,"tag":54,"props":815,"children":817},{"className":816},[],[818],{"type":45,"value":819},"input",{"type":40,"tag":744,"props":821,"children":822},{},[823],{"type":45,"value":824},"Local OpenAPI JSON path, resolved from Nuxt root",{"type":40,"tag":722,"props":826,"children":827},{},[828,837],{"type":40,"tag":744,"props":829,"children":830},{},[831],{"type":40,"tag":54,"props":832,"children":834},{"className":833},[],[835],{"type":45,"value":836},"metadataInput",{"type":40,"tag":744,"props":838,"children":839},{},[840],{"type":45,"value":841},"Local schema metadata snapshot JSON path, resolved from Nuxt root",{"type":40,"tag":722,"props":843,"children":844},{},[845,854],{"type":40,"tag":744,"props":846,"children":847},{},[848],{"type":40,"tag":54,"props":849,"children":851},{"className":850},[],[852],{"type":45,"value":853},"runtimeApiKey",{"type":40,"tag":744,"props":855,"children":856},{},[857],{"type":45,"value":858},"Runtime API key emitted into generated config",{"type":40,"tag":722,"props":860,"children":861},{},[862,871],{"type":40,"tag":744,"props":863,"children":864},{},[865],{"type":40,"tag":54,"props":866,"children":868},{"className":867},[],[869],{"type":45,"value":870},"scopeId",{"type":40,"tag":744,"props":872,"children":873},{},[874,876],{"type":45,"value":875},"rstore plugin scope id, defaulting to ",{"type":40,"tag":54,"props":877,"children":879},{"className":878},[],[880],{"type":45,"value":318},{"type":40,"tag":722,"props":882,"children":883},{},[884,893],{"type":40,"tag":744,"props":885,"children":886},{},[887],{"type":40,"tag":54,"props":888,"children":890},{"className":889},[],[891],{"type":45,"value":892},"primaryKeys",{"type":40,"tag":744,"props":894,"children":895},{},[896],{"type":45,"value":897},"Explicit primary key overrides by collection name",{"type":40,"tag":63,"props":899,"children":901},{"id":900},"generated-nuxt-templates",[902],{"type":45,"value":903},"Generated Nuxt Templates",{"type":40,"tag":905,"props":906,"children":907},"ul",{},[908,920,931,942],{"type":40,"tag":909,"props":910,"children":911},"li",{},[912,918],{"type":40,"tag":54,"props":913,"children":915},{"className":914},[],[916],{"type":45,"value":917},"$rstore-monospace-collections.js",{"type":45,"value":919}," contains runtime collection definitions.",{"type":40,"tag":909,"props":921,"children":922},{},[923,929],{"type":40,"tag":54,"props":924,"children":926},{"className":925},[],[927],{"type":45,"value":928},"$rstore-monospace-items.d.ts",{"type":45,"value":930}," contains generated item interfaces.",{"type":40,"tag":909,"props":932,"children":933},{},[934,940],{"type":40,"tag":54,"props":935,"children":937},{"className":936},[],[938],{"type":45,"value":939},"$rstore-monospace-collections.d.ts",{"type":45,"value":941}," contains typed collection declarations.",{"type":40,"tag":909,"props":943,"children":944},{},[945,951],{"type":40,"tag":54,"props":946,"children":948},{"className":947},[],[949],{"type":45,"value":950},"$rstore-monospace-config.js",{"type":45,"value":952}," contains runtime URL, project, optional API key, and scope id.",{"type":40,"tag":63,"props":954,"children":956},{"id":955},"module-behavior",[957],{"type":45,"value":958},"Module Behavior",{"type":40,"tag":905,"props":960,"children":961},{},[962,974,986,998,1010],{"type":40,"tag":909,"props":963,"children":964},{},[965,967,973],{"type":45,"value":966},"The module depends on ",{"type":40,"tag":54,"props":968,"children":970},{"className":969},[],[971],{"type":45,"value":972},"@rstore\u002Fnuxt",{"type":45,"value":278},{"type":40,"tag":909,"props":975,"children":976},{},[977,979,985],{"type":45,"value":978},"It adds generated collections through ",{"type":40,"tag":54,"props":980,"children":982},{"className":981},[],[983],{"type":45,"value":984},"addCollectionImport",{"type":45,"value":278},{"type":40,"tag":909,"props":987,"children":988},{},[989,991,997],{"type":45,"value":990},"It adds the runtime plugin through ",{"type":40,"tag":54,"props":992,"children":994},{"className":993},[],[995],{"type":45,"value":996},"addPluginImport",{"type":45,"value":278},{"type":40,"tag":909,"props":999,"children":1000},{},[1001,1003,1009],{"type":45,"value":1002},"It registers runtime type references and auto-imports ",{"type":40,"tag":54,"props":1004,"children":1006},{"className":1005},[],[1007],{"type":45,"value":1008},"useMonospace()",{"type":45,"value":278},{"type":40,"tag":909,"props":1011,"children":1012},{},[1013,1015,1020,1022,1027],{"type":45,"value":1014},"Missing ",{"type":40,"tag":54,"props":1016,"children":1018},{"className":1017},[],[1019],{"type":45,"value":752},{"type":45,"value":1021}," or ",{"type":40,"tag":54,"props":1023,"children":1025},{"className":1024},[],[1026],{"type":45,"value":769},{"type":45,"value":1028}," skips collection generation with a warning.",{"type":40,"tag":63,"props":1030,"children":1032},{"id":1031},"guardrails",[1033],{"type":45,"value":1034},"Guardrails",{"type":40,"tag":1036,"props":1037,"children":1038},"ol",{},[1039,1051,1063,1081,1086,1097],{"type":40,"tag":909,"props":1040,"children":1041},{},[1042,1044,1049],{"type":45,"value":1043},"Keep ",{"type":40,"tag":54,"props":1045,"children":1047},{"className":1046},[],[1048],{"type":45,"value":786},{"type":45,"value":1050}," server-side\u002Fbuild-time.",{"type":40,"tag":909,"props":1052,"children":1053},{},[1054,1056,1061],{"type":45,"value":1055},"Configure ",{"type":40,"tag":54,"props":1057,"children":1059},{"className":1058},[],[1060],{"type":45,"value":853},{"type":45,"value":1062}," only when the value is safe to expose through generated runtime config.",{"type":40,"tag":909,"props":1064,"children":1065},{},[1066,1067,1072,1074,1079],{"type":45,"value":52},{"type":40,"tag":54,"props":1068,"children":1070},{"className":1069},[],[1071],{"type":45,"value":819},{"type":45,"value":1073}," plus ",{"type":40,"tag":54,"props":1075,"children":1077},{"className":1076},[],[1078],{"type":45,"value":836},{"type":45,"value":1080}," for checked-in or separately generated schemas; generation needs both the OpenAPI document and the schema metadata.",{"type":40,"tag":909,"props":1082,"children":1083},{},[1084],{"type":45,"value":1085},"Prefer generated rstore collections and plugin wiring over custom Nuxt API routes for generated collections.",{"type":40,"tag":909,"props":1087,"children":1088},{},[1089,1090,1095],{"type":45,"value":52},{"type":40,"tag":54,"props":1091,"children":1093},{"className":1092},[],[1094],{"type":45,"value":318},{"type":45,"value":1096}," for shared OpenAPI, REST, query, and mutation behavior.",{"type":40,"tag":909,"props":1098,"children":1099},{},[1100,1101,1107,1109,1115],{"type":45,"value":52},{"type":40,"tag":54,"props":1102,"children":1104},{"className":1103},[],[1105],{"type":45,"value":1106},"rstore-nuxt",{"type":45,"value":1108}," for base Nuxt rstore module behavior and ",{"type":40,"tag":54,"props":1110,"children":1112},{"className":1111},[],[1113],{"type":45,"value":1114},"rstore-vue",{"type":45,"value":1116}," for query\u002Fform\u002Fcache semantics.",{"type":40,"tag":1118,"props":1119,"children":1120},"style",{},[1121],{"type":45,"value":1122},"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);}",{"items":1124,"total":299},[1125,1137,1149,1160,1173,1180,1193,1204,1215],{"slug":1126,"name":1126,"fn":1127,"description":1128,"org":1129,"tags":1130,"stars":23,"repoUrl":24,"updatedAt":1136},"rstore-directus","integrate rstore with Directus","Use when integrating rstore with Directus runtime\u002Fschema helpers, generated Directus collections, Directus REST query options, cache-side Directus filtering, singleton handling, primary key stripping, and Directus-backed create\u002Fupdate\u002Fdelete behavior; also use before writing custom Directus fetch or mutation code around rstore collections. Pair with rstore-vue for collection\u002Fquery\u002Fform semantics and with framework-specific Directus skills for Vite or Nuxt wiring.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1131,1132,1135],{"name":21,"slug":22,"type":15},{"name":1133,"slug":1134,"type":15},"Database","database",{"name":9,"slug":8,"type":15},"2026-07-12T07:51:07.357988",{"slug":318,"name":318,"fn":1138,"description":1139,"org":1140,"tags":1141,"stars":23,"repoUrl":24,"updatedAt":1148},"integrate rstore with Monospace REST APIs","Use when integrating rstore with Monospace REST and OpenAPI helpers, generated Monospace collections, Monospace REST query options, primary key overrides, createMonospaceRestClient, createMonospaceRstorePlugin, createMonospaceQuery, and schema generation from remote or local OpenAPI documents; also use before writing custom Monospace REST CRUD around rstore collections.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1142,1145],{"name":1143,"slug":1144,"type":15},"OpenAPI","openapi",{"name":1146,"slug":1147,"type":15},"REST API","rest-api","2026-07-12T07:51:08.612664",{"slug":1106,"name":1106,"fn":1150,"description":1151,"org":1152,"tags":1153,"stars":23,"repoUrl":24,"updatedAt":1159},"integrate rstore into Nuxt applications","Use when wiring rstore into a Nuxt app end-to-end — module setup, auto-registered collections\u002Fplugins, SSR cache hydration, generated template\u002Fauto-import issues, and cross-module extension; also use before adding a custom `server\u002Fapi` route, Nitro handler, or ad hoc `useFetch`\u002F`$fetch` composable for collection data in an rstore-powered Nuxt app — prefer rstore collection APIs (`find*`, `query`, `liveQuery`) and plugin hooks over hand-rolled endpoints or fetch refs; pair with the `rstore-vue` skill for collection\u002Fquery\u002Fform behavior.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1154,1157,1158],{"name":1155,"slug":1156,"type":15},"Frontend","frontend",{"name":13,"slug":14,"type":15},{"name":17,"slug":18,"type":15},"2026-07-12T07:51:06.114663",{"slug":1161,"name":1161,"fn":1162,"description":1163,"org":1164,"tags":1165,"stars":23,"repoUrl":24,"updatedAt":1172},"rstore-nuxt-drizzle","expose Drizzle data in Nuxt applications","Use when exposing Drizzle-backed data in Nuxt, OR before writing a custom `server\u002Fapi` route, Nitro `defineEventHandler`, H3 handler, or REST\u002FCRUD endpoint that reads or writes a Drizzle table — prefer the module's generated endpoints, `allowTables`, `hooksForTable`, and `publishRstoreDrizzleRealtimeUpdate` over hand-rolled routes; also covers generating collections\u002FAPI routes from schema, adding a new Drizzle table to the rstore API, fixing `Collection \"\u003Cname>\" is not allowed` errors, fetch\u002Ffilter\u002Fpaginate, create\u002Fupdate\u002Fdelete, realtime, offline, and table-level access control; pair with `rstore-nuxt` for Nuxt integration and `rstore-vue` for collection\u002Fquery\u002Fform behavior.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1166,1167,1168,1171],{"name":21,"slug":22,"type":15},{"name":1133,"slug":1134,"type":15},{"name":1169,"slug":1170,"type":15},"Drizzle","drizzle",{"name":13,"slug":14,"type":15},"2026-07-12T07:51:10.079641",{"slug":4,"name":4,"fn":5,"description":6,"org":1174,"tags":1175,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1176,1177,1178,1179],{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":13,"slug":14,"type":15},{"name":17,"slug":18,"type":15},{"slug":1181,"name":1181,"fn":1182,"description":1183,"org":1184,"tags":1185,"stars":23,"repoUrl":24,"updatedAt":1192},"rstore-vite-directus","integrate Directus into Vite applications","Use when wiring Directus into a plain Vite\u002FVue app with @rstore\u002Fvite-directus, including rstoreDirectus config, virtual:rstore-directus modules, generated rstore-directus.d.ts declarations, build-time Directus introspection, and store setup with the generated schema and directusPlugin. Pair with rstore-directus for shared Directus adapter behavior and rstore-vue for collection\u002Fquery\u002Fform usage.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1186,1187,1188,1191],{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":1189,"slug":1190,"type":15},"Vite","vite",{"name":17,"slug":18,"type":15},"2026-07-12T07:51:11.475964",{"slug":1194,"name":1194,"fn":1195,"description":1196,"org":1197,"tags":1198,"stars":23,"repoUrl":24,"updatedAt":1203},"rstore-vite-monospace","integrate Monospace into Vite applications","Use when wiring Monospace into a plain Vite\u002FVue app with @rstore\u002Fvite-monospace, including rstoreMonospace config, remote or local OpenAPI generation, virtual:rstore-monospace modules, generated rstore-monospace.d.ts declarations, runtimeApiKey handling, primaryKeys, and store setup with the generated schema and monospacePlugin.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1199,1200,1201,1202],{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":1189,"slug":1190,"type":15},{"name":17,"slug":18,"type":15},"2026-07-12T07:51:14.078949",{"slug":1114,"name":1114,"fn":1205,"description":1206,"org":1207,"tags":1208,"stars":23,"repoUrl":24,"updatedAt":1214},"manage application data with rstore in Vue","Use when handling app data in Vue with `@rstore\u002Fvue` — fetch items\u002Flists, keep queries reactive or live, create\u002Fupdate\u002Fdelete records with forms, manage cache consistency, and debug store\u002Fquery\u002Fsubscription behavior across collections; also use before writing a custom fetch composable, ad hoc fetch ref, or bespoke cache layer for collection data — prefer `find*`, `query`, `liveQuery`, `createForm`, and `definePlugin` hooks over hand-rolled fetching\u002Fcaching.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1209,1212,1213],{"name":1210,"slug":1211,"type":15},"Debugging","debugging",{"name":1155,"slug":1156,"type":15},{"name":17,"slug":18,"type":15},"2026-07-12T07:51:04.87426",{"slug":1216,"name":1216,"fn":1217,"description":1218,"org":1219,"tags":1220,"stars":1225,"repoUrl":1226,"updatedAt":1227},"monospace","perform data operations on Monospace instances","Use when doing ANY task against a Monospace instance. Triggers: reading, creating, updating, deleting, querying, filtering, sorting, or paginating data via the Monospace REST API or the @monospace\u002Fsdk (createClient, readMany, createOne, updateOne); generating a typed SDK client (`npx @monospace\u002Fsdk generate`, monospace.config.ts); connecting to or using the Monospace MCP server; minting API keys or authenticating; inspecting collections, fields, relations, or schema. Do NOT use for legacy Directus v9 \u002F @directus\u002Fsdk — Monospace is a different product with a different API and SDK.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1221,1222],{"name":1146,"slug":1147,"type":15},{"name":1223,"slug":1224,"type":15},"SDK","sdk",0,"https:\u002F\u002Fgithub.com\u002Fdirectus\u002Fmonospace-agent-skills","2026-07-12T07:51:15.348897",{"items":1229,"total":258},[1230,1236,1241,1247,1254,1261,1268],{"slug":1126,"name":1126,"fn":1127,"description":1128,"org":1231,"tags":1232,"stars":23,"repoUrl":24,"updatedAt":1136},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1233,1234,1235],{"name":21,"slug":22,"type":15},{"name":1133,"slug":1134,"type":15},{"name":9,"slug":8,"type":15},{"slug":318,"name":318,"fn":1138,"description":1139,"org":1237,"tags":1238,"stars":23,"repoUrl":24,"updatedAt":1148},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1239,1240],{"name":1143,"slug":1144,"type":15},{"name":1146,"slug":1147,"type":15},{"slug":1106,"name":1106,"fn":1150,"description":1151,"org":1242,"tags":1243,"stars":23,"repoUrl":24,"updatedAt":1159},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1244,1245,1246],{"name":1155,"slug":1156,"type":15},{"name":13,"slug":14,"type":15},{"name":17,"slug":18,"type":15},{"slug":1161,"name":1161,"fn":1162,"description":1163,"org":1248,"tags":1249,"stars":23,"repoUrl":24,"updatedAt":1172},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1250,1251,1252,1253],{"name":21,"slug":22,"type":15},{"name":1133,"slug":1134,"type":15},{"name":1169,"slug":1170,"type":15},{"name":13,"slug":14,"type":15},{"slug":4,"name":4,"fn":5,"description":6,"org":1255,"tags":1256,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1257,1258,1259,1260],{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":13,"slug":14,"type":15},{"name":17,"slug":18,"type":15},{"slug":1181,"name":1181,"fn":1182,"description":1183,"org":1262,"tags":1263,"stars":23,"repoUrl":24,"updatedAt":1192},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1264,1265,1266,1267],{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":1189,"slug":1190,"type":15},{"name":17,"slug":18,"type":15},{"slug":1194,"name":1194,"fn":1195,"description":1196,"org":1269,"tags":1270,"stars":23,"repoUrl":24,"updatedAt":1203},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1271,1272,1273,1274],{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":1189,"slug":1190,"type":15},{"name":17,"slug":18,"type":15}]