[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-directus-rstore-vite-directus":3,"mdc--qvvt5i-key":34,"related-org-directus-rstore-vite-directus":958,"related-repo-directus-rstore-vite-directus":1064},{"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-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},"directus","Directus","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fdirectus.png",[12,16,17,20],{"name":13,"slug":14,"type":15},"Vue","vue","tag",{"name":9,"slug":8,"type":15},{"name":18,"slug":19,"type":15},"API Development","api-development",{"name":21,"slug":22,"type":15},"Vite","vite",425,"https:\u002F\u002Fgithub.com\u002Fdirectus\u002Frstore","2026-07-12T07:51:11.475964",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\u002Fvite-directus\u002Fskills\u002Frstore-vite-directus","---\nname: rstore-vite-directus\ndescription: \"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.\"\n---\n\n# Rstore Vite Directus\n\nUse `@rstore\u002Fvite-directus` to generate Directus-backed rstore schema and plugin modules in a non-Nuxt Vite app.\n\n## Setup\n\nRegister the Vite plugin in `vite.config.ts`:\n\n```ts\nimport { rstoreDirectus } from '@rstore\u002Fvite-directus'\nimport { defineConfig } from 'vite'\n\nexport default defineConfig({\n  plugins: [\n    rstoreDirectus({\n      url: 'https:\u002F\u002Fyour-directus-instance.com',\n      adminToken: process.env.DIRECTUS_TOKEN,\n      scopeId: 'rstore-directus',\n    }),\n  ],\n})\n```\n\nThen create the store from the generated virtual module:\n\n```ts\nimport { createStore, RstorePlugin } from '@rstore\u002Fvue'\nimport { directusPlugin, schema } from 'virtual:rstore-directus'\n\nconst store = await createStore({\n  schema,\n  plugins: [directusPlugin],\n})\n\napp.use(RstorePlugin, { store })\n```\n\n## Options\n\n| Option | Purpose |\n| --- | --- |\n| `url` | Directus API URL used for schema loading and runtime client code |\n| `adminToken` | Build-time Directus admin token for introspection |\n| `scopeId` | rstore plugin scope id, defaulting to `rstore-directus` |\n| `dts` | Declaration output path, `true`\u002Fomitted for `rstore-directus.d.ts`, or `false` to disable |\n\n## Virtual Modules\n\n- `virtual:rstore-directus` re-exports `schema`, `directus`, and `directusPlugin`.\n- `virtual:rstore-directus\u002Fschema` exports the generated rstore schema.\n- `virtual:rstore-directus\u002Fplugin` exports the Directus SDK client and rstore plugin.\n\n## Generated Declarations\n\n- The plugin writes `rstore-directus.d.ts` in the Vite root by default.\n- Use `dts: 'src\u002Frstore-directus.d.ts'` to choose another output.\n- Use `dts: false` only when the app provides compatible virtual module declarations another way.\n\n## Guardrails\n\n1. Keep `adminToken` server-side\u002Fbuild-time. The Vite plugin should not emit it into generated modules.\n2. Do not hand-write replacement schema or plugin virtual modules; fix generator input\u002Fconfig instead.\n3. Use the generated `schema` and `directusPlugin` together in the same store.\n4. Use `rstore-directus` for Directus query, schema, singleton, and mutation behavior.\n5. Use `rstore-vue` for component query\u002Fform\u002Fcache patterns.\n",{"data":35,"body":36},{"name":4,"description":6},{"type":37,"children":38},"root",[39,47,62,69,82,402,407,642,648,773,779,838,844,883,889,952],{"type":40,"tag":41,"props":42,"children":43},"element","h1",{"id":4},[44],{"type":45,"value":46},"text","Rstore Vite Directus",{"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\u002Fvite-directus",{"type":45,"value":61}," to generate Directus-backed rstore schema and plugin modules in a non-Nuxt Vite app.",{"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,74,80],{"type":45,"value":73},"Register the Vite plugin in ",{"type":40,"tag":54,"props":75,"children":77},{"className":76},[],[78],{"type":45,"value":79},"vite.config.ts",{"type":45,"value":81},":",{"type":40,"tag":83,"props":84,"children":89},"pre",{"className":85,"code":86,"language":87,"meta":88,"style":88},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { rstoreDirectus } from '@rstore\u002Fvite-directus'\nimport { defineConfig } from 'vite'\n\nexport default defineConfig({\n  plugins: [\n    rstoreDirectus({\n      url: 'https:\u002F\u002Fyour-directus-instance.com',\n      adminToken: process.env.DIRECTUS_TOKEN,\n      scopeId: 'rstore-directus',\n    }),\n  ],\n})\n","ts","",[90],{"type":40,"tag":54,"props":91,"children":92},{"__ignoreMap":88},[93,142,179,189,218,237,254,286,327,357,375,388],{"type":40,"tag":94,"props":95,"children":98},"span",{"class":96,"line":97},"line",1,[99,105,111,117,122,127,132,137],{"type":40,"tag":94,"props":100,"children":102},{"style":101},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[103],{"type":45,"value":104},"import",{"type":40,"tag":94,"props":106,"children":108},{"style":107},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[109],{"type":45,"value":110}," {",{"type":40,"tag":94,"props":112,"children":114},{"style":113},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[115],{"type":45,"value":116}," rstoreDirectus",{"type":40,"tag":94,"props":118,"children":119},{"style":107},[120],{"type":45,"value":121}," }",{"type":40,"tag":94,"props":123,"children":124},{"style":101},[125],{"type":45,"value":126}," from",{"type":40,"tag":94,"props":128,"children":129},{"style":107},[130],{"type":45,"value":131}," '",{"type":40,"tag":94,"props":133,"children":135},{"style":134},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[136],{"type":45,"value":59},{"type":40,"tag":94,"props":138,"children":139},{"style":107},[140],{"type":45,"value":141},"'\n",{"type":40,"tag":94,"props":143,"children":145},{"class":96,"line":144},2,[146,150,154,159,163,167,171,175],{"type":40,"tag":94,"props":147,"children":148},{"style":101},[149],{"type":45,"value":104},{"type":40,"tag":94,"props":151,"children":152},{"style":107},[153],{"type":45,"value":110},{"type":40,"tag":94,"props":155,"children":156},{"style":113},[157],{"type":45,"value":158}," defineConfig",{"type":40,"tag":94,"props":160,"children":161},{"style":107},[162],{"type":45,"value":121},{"type":40,"tag":94,"props":164,"children":165},{"style":101},[166],{"type":45,"value":126},{"type":40,"tag":94,"props":168,"children":169},{"style":107},[170],{"type":45,"value":131},{"type":40,"tag":94,"props":172,"children":173},{"style":134},[174],{"type":45,"value":22},{"type":40,"tag":94,"props":176,"children":177},{"style":107},[178],{"type":45,"value":141},{"type":40,"tag":94,"props":180,"children":182},{"class":96,"line":181},3,[183],{"type":40,"tag":94,"props":184,"children":186},{"emptyLinePlaceholder":185},true,[187],{"type":45,"value":188},"\n",{"type":40,"tag":94,"props":190,"children":192},{"class":96,"line":191},4,[193,198,203,208,213],{"type":40,"tag":94,"props":194,"children":195},{"style":101},[196],{"type":45,"value":197},"export",{"type":40,"tag":94,"props":199,"children":200},{"style":101},[201],{"type":45,"value":202}," default",{"type":40,"tag":94,"props":204,"children":206},{"style":205},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[207],{"type":45,"value":158},{"type":40,"tag":94,"props":209,"children":210},{"style":113},[211],{"type":45,"value":212},"(",{"type":40,"tag":94,"props":214,"children":215},{"style":107},[216],{"type":45,"value":217},"{\n",{"type":40,"tag":94,"props":219,"children":221},{"class":96,"line":220},5,[222,228,232],{"type":40,"tag":94,"props":223,"children":225},{"style":224},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[226],{"type":45,"value":227},"  plugins",{"type":40,"tag":94,"props":229,"children":230},{"style":107},[231],{"type":45,"value":81},{"type":40,"tag":94,"props":233,"children":234},{"style":113},[235],{"type":45,"value":236}," [\n",{"type":40,"tag":94,"props":238,"children":240},{"class":96,"line":239},6,[241,246,250],{"type":40,"tag":94,"props":242,"children":243},{"style":205},[244],{"type":45,"value":245},"    rstoreDirectus",{"type":40,"tag":94,"props":247,"children":248},{"style":113},[249],{"type":45,"value":212},{"type":40,"tag":94,"props":251,"children":252},{"style":107},[253],{"type":45,"value":217},{"type":40,"tag":94,"props":255,"children":257},{"class":96,"line":256},7,[258,263,267,271,276,281],{"type":40,"tag":94,"props":259,"children":260},{"style":224},[261],{"type":45,"value":262},"      url",{"type":40,"tag":94,"props":264,"children":265},{"style":107},[266],{"type":45,"value":81},{"type":40,"tag":94,"props":268,"children":269},{"style":107},[270],{"type":45,"value":131},{"type":40,"tag":94,"props":272,"children":273},{"style":134},[274],{"type":45,"value":275},"https:\u002F\u002Fyour-directus-instance.com",{"type":40,"tag":94,"props":277,"children":278},{"style":107},[279],{"type":45,"value":280},"'",{"type":40,"tag":94,"props":282,"children":283},{"style":107},[284],{"type":45,"value":285},",\n",{"type":40,"tag":94,"props":287,"children":289},{"class":96,"line":288},8,[290,295,299,304,309,314,318,323],{"type":40,"tag":94,"props":291,"children":292},{"style":224},[293],{"type":45,"value":294},"      adminToken",{"type":40,"tag":94,"props":296,"children":297},{"style":107},[298],{"type":45,"value":81},{"type":40,"tag":94,"props":300,"children":301},{"style":113},[302],{"type":45,"value":303}," process",{"type":40,"tag":94,"props":305,"children":306},{"style":107},[307],{"type":45,"value":308},".",{"type":40,"tag":94,"props":310,"children":311},{"style":113},[312],{"type":45,"value":313},"env",{"type":40,"tag":94,"props":315,"children":316},{"style":107},[317],{"type":45,"value":308},{"type":40,"tag":94,"props":319,"children":320},{"style":113},[321],{"type":45,"value":322},"DIRECTUS_TOKEN",{"type":40,"tag":94,"props":324,"children":325},{"style":107},[326],{"type":45,"value":285},{"type":40,"tag":94,"props":328,"children":330},{"class":96,"line":329},9,[331,336,340,344,349,353],{"type":40,"tag":94,"props":332,"children":333},{"style":224},[334],{"type":45,"value":335},"      scopeId",{"type":40,"tag":94,"props":337,"children":338},{"style":107},[339],{"type":45,"value":81},{"type":40,"tag":94,"props":341,"children":342},{"style":107},[343],{"type":45,"value":131},{"type":40,"tag":94,"props":345,"children":346},{"style":134},[347],{"type":45,"value":348},"rstore-directus",{"type":40,"tag":94,"props":350,"children":351},{"style":107},[352],{"type":45,"value":280},{"type":40,"tag":94,"props":354,"children":355},{"style":107},[356],{"type":45,"value":285},{"type":40,"tag":94,"props":358,"children":360},{"class":96,"line":359},10,[361,366,371],{"type":40,"tag":94,"props":362,"children":363},{"style":107},[364],{"type":45,"value":365},"    }",{"type":40,"tag":94,"props":367,"children":368},{"style":113},[369],{"type":45,"value":370},")",{"type":40,"tag":94,"props":372,"children":373},{"style":107},[374],{"type":45,"value":285},{"type":40,"tag":94,"props":376,"children":378},{"class":96,"line":377},11,[379,384],{"type":40,"tag":94,"props":380,"children":381},{"style":113},[382],{"type":45,"value":383},"  ]",{"type":40,"tag":94,"props":385,"children":386},{"style":107},[387],{"type":45,"value":285},{"type":40,"tag":94,"props":389,"children":391},{"class":96,"line":390},12,[392,397],{"type":40,"tag":94,"props":393,"children":394},{"style":107},[395],{"type":45,"value":396},"}",{"type":40,"tag":94,"props":398,"children":399},{"style":113},[400],{"type":45,"value":401},")\n",{"type":40,"tag":48,"props":403,"children":404},{},[405],{"type":45,"value":406},"Then create the store from the generated virtual module:",{"type":40,"tag":83,"props":408,"children":410},{"className":85,"code":409,"language":87,"meta":88,"style":88},"import { createStore, RstorePlugin } from '@rstore\u002Fvue'\nimport { directusPlugin, schema } from 'virtual:rstore-directus'\n\nconst store = await createStore({\n  schema,\n  plugins: [directusPlugin],\n})\n\napp.use(RstorePlugin, { store })\n",[411],{"type":40,"tag":54,"props":412,"children":413},{"__ignoreMap":88},[414,461,507,514,550,562,582,593,600],{"type":40,"tag":94,"props":415,"children":416},{"class":96,"line":97},[417,421,425,430,435,440,444,448,452,457],{"type":40,"tag":94,"props":418,"children":419},{"style":101},[420],{"type":45,"value":104},{"type":40,"tag":94,"props":422,"children":423},{"style":107},[424],{"type":45,"value":110},{"type":40,"tag":94,"props":426,"children":427},{"style":113},[428],{"type":45,"value":429}," createStore",{"type":40,"tag":94,"props":431,"children":432},{"style":107},[433],{"type":45,"value":434},",",{"type":40,"tag":94,"props":436,"children":437},{"style":113},[438],{"type":45,"value":439}," RstorePlugin",{"type":40,"tag":94,"props":441,"children":442},{"style":107},[443],{"type":45,"value":121},{"type":40,"tag":94,"props":445,"children":446},{"style":101},[447],{"type":45,"value":126},{"type":40,"tag":94,"props":449,"children":450},{"style":107},[451],{"type":45,"value":131},{"type":40,"tag":94,"props":453,"children":454},{"style":134},[455],{"type":45,"value":456},"@rstore\u002Fvue",{"type":40,"tag":94,"props":458,"children":459},{"style":107},[460],{"type":45,"value":141},{"type":40,"tag":94,"props":462,"children":463},{"class":96,"line":144},[464,468,472,477,481,486,490,494,498,503],{"type":40,"tag":94,"props":465,"children":466},{"style":101},[467],{"type":45,"value":104},{"type":40,"tag":94,"props":469,"children":470},{"style":107},[471],{"type":45,"value":110},{"type":40,"tag":94,"props":473,"children":474},{"style":113},[475],{"type":45,"value":476}," directusPlugin",{"type":40,"tag":94,"props":478,"children":479},{"style":107},[480],{"type":45,"value":434},{"type":40,"tag":94,"props":482,"children":483},{"style":113},[484],{"type":45,"value":485}," schema",{"type":40,"tag":94,"props":487,"children":488},{"style":107},[489],{"type":45,"value":121},{"type":40,"tag":94,"props":491,"children":492},{"style":101},[493],{"type":45,"value":126},{"type":40,"tag":94,"props":495,"children":496},{"style":107},[497],{"type":45,"value":131},{"type":40,"tag":94,"props":499,"children":500},{"style":134},[501],{"type":45,"value":502},"virtual:rstore-directus",{"type":40,"tag":94,"props":504,"children":505},{"style":107},[506],{"type":45,"value":141},{"type":40,"tag":94,"props":508,"children":509},{"class":96,"line":181},[510],{"type":40,"tag":94,"props":511,"children":512},{"emptyLinePlaceholder":185},[513],{"type":45,"value":188},{"type":40,"tag":94,"props":515,"children":516},{"class":96,"line":191},[517,523,528,533,538,542,546],{"type":40,"tag":94,"props":518,"children":520},{"style":519},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[521],{"type":45,"value":522},"const",{"type":40,"tag":94,"props":524,"children":525},{"style":113},[526],{"type":45,"value":527}," store ",{"type":40,"tag":94,"props":529,"children":530},{"style":107},[531],{"type":45,"value":532},"=",{"type":40,"tag":94,"props":534,"children":535},{"style":101},[536],{"type":45,"value":537}," await",{"type":40,"tag":94,"props":539,"children":540},{"style":205},[541],{"type":45,"value":429},{"type":40,"tag":94,"props":543,"children":544},{"style":113},[545],{"type":45,"value":212},{"type":40,"tag":94,"props":547,"children":548},{"style":107},[549],{"type":45,"value":217},{"type":40,"tag":94,"props":551,"children":552},{"class":96,"line":220},[553,558],{"type":40,"tag":94,"props":554,"children":555},{"style":113},[556],{"type":45,"value":557},"  schema",{"type":40,"tag":94,"props":559,"children":560},{"style":107},[561],{"type":45,"value":285},{"type":40,"tag":94,"props":563,"children":564},{"class":96,"line":239},[565,569,573,578],{"type":40,"tag":94,"props":566,"children":567},{"style":224},[568],{"type":45,"value":227},{"type":40,"tag":94,"props":570,"children":571},{"style":107},[572],{"type":45,"value":81},{"type":40,"tag":94,"props":574,"children":575},{"style":113},[576],{"type":45,"value":577}," [directusPlugin]",{"type":40,"tag":94,"props":579,"children":580},{"style":107},[581],{"type":45,"value":285},{"type":40,"tag":94,"props":583,"children":584},{"class":96,"line":256},[585,589],{"type":40,"tag":94,"props":586,"children":587},{"style":107},[588],{"type":45,"value":396},{"type":40,"tag":94,"props":590,"children":591},{"style":113},[592],{"type":45,"value":401},{"type":40,"tag":94,"props":594,"children":595},{"class":96,"line":288},[596],{"type":40,"tag":94,"props":597,"children":598},{"emptyLinePlaceholder":185},[599],{"type":45,"value":188},{"type":40,"tag":94,"props":601,"children":602},{"class":96,"line":329},[603,608,612,617,622,626,630,634,638],{"type":40,"tag":94,"props":604,"children":605},{"style":113},[606],{"type":45,"value":607},"app",{"type":40,"tag":94,"props":609,"children":610},{"style":107},[611],{"type":45,"value":308},{"type":40,"tag":94,"props":613,"children":614},{"style":205},[615],{"type":45,"value":616},"use",{"type":40,"tag":94,"props":618,"children":619},{"style":113},[620],{"type":45,"value":621},"(RstorePlugin",{"type":40,"tag":94,"props":623,"children":624},{"style":107},[625],{"type":45,"value":434},{"type":40,"tag":94,"props":627,"children":628},{"style":107},[629],{"type":45,"value":110},{"type":40,"tag":94,"props":631,"children":632},{"style":113},[633],{"type":45,"value":527},{"type":40,"tag":94,"props":635,"children":636},{"style":107},[637],{"type":45,"value":396},{"type":40,"tag":94,"props":639,"children":640},{"style":113},[641],{"type":45,"value":401},{"type":40,"tag":63,"props":643,"children":645},{"id":644},"options",[646],{"type":45,"value":647},"Options",{"type":40,"tag":649,"props":650,"children":651},"table",{},[652,671],{"type":40,"tag":653,"props":654,"children":655},"thead",{},[656],{"type":40,"tag":657,"props":658,"children":659},"tr",{},[660,666],{"type":40,"tag":661,"props":662,"children":663},"th",{},[664],{"type":45,"value":665},"Option",{"type":40,"tag":661,"props":667,"children":668},{},[669],{"type":45,"value":670},"Purpose",{"type":40,"tag":672,"props":673,"children":674},"tbody",{},[675,693,710,732],{"type":40,"tag":657,"props":676,"children":677},{},[678,688],{"type":40,"tag":679,"props":680,"children":681},"td",{},[682],{"type":40,"tag":54,"props":683,"children":685},{"className":684},[],[686],{"type":45,"value":687},"url",{"type":40,"tag":679,"props":689,"children":690},{},[691],{"type":45,"value":692},"Directus API URL used for schema loading and runtime client code",{"type":40,"tag":657,"props":694,"children":695},{},[696,705],{"type":40,"tag":679,"props":697,"children":698},{},[699],{"type":40,"tag":54,"props":700,"children":702},{"className":701},[],[703],{"type":45,"value":704},"adminToken",{"type":40,"tag":679,"props":706,"children":707},{},[708],{"type":45,"value":709},"Build-time Directus admin token for introspection",{"type":40,"tag":657,"props":711,"children":712},{},[713,722],{"type":40,"tag":679,"props":714,"children":715},{},[716],{"type":40,"tag":54,"props":717,"children":719},{"className":718},[],[720],{"type":45,"value":721},"scopeId",{"type":40,"tag":679,"props":723,"children":724},{},[725,727],{"type":45,"value":726},"rstore plugin scope id, defaulting to ",{"type":40,"tag":54,"props":728,"children":730},{"className":729},[],[731],{"type":45,"value":348},{"type":40,"tag":657,"props":733,"children":734},{},[735,744],{"type":40,"tag":679,"props":736,"children":737},{},[738],{"type":40,"tag":54,"props":739,"children":741},{"className":740},[],[742],{"type":45,"value":743},"dts",{"type":40,"tag":679,"props":745,"children":746},{},[747,749,755,757,763,765,771],{"type":45,"value":748},"Declaration output path, ",{"type":40,"tag":54,"props":750,"children":752},{"className":751},[],[753],{"type":45,"value":754},"true",{"type":45,"value":756},"\u002Fomitted for ",{"type":40,"tag":54,"props":758,"children":760},{"className":759},[],[761],{"type":45,"value":762},"rstore-directus.d.ts",{"type":45,"value":764},", or ",{"type":40,"tag":54,"props":766,"children":768},{"className":767},[],[769],{"type":45,"value":770},"false",{"type":45,"value":772}," to disable",{"type":40,"tag":63,"props":774,"children":776},{"id":775},"virtual-modules",[777],{"type":45,"value":778},"Virtual Modules",{"type":40,"tag":780,"props":781,"children":782},"ul",{},[783,816,827],{"type":40,"tag":784,"props":785,"children":786},"li",{},[787,792,794,800,802,807,809,815],{"type":40,"tag":54,"props":788,"children":790},{"className":789},[],[791],{"type":45,"value":502},{"type":45,"value":793}," re-exports ",{"type":40,"tag":54,"props":795,"children":797},{"className":796},[],[798],{"type":45,"value":799},"schema",{"type":45,"value":801},", ",{"type":40,"tag":54,"props":803,"children":805},{"className":804},[],[806],{"type":45,"value":8},{"type":45,"value":808},", and ",{"type":40,"tag":54,"props":810,"children":812},{"className":811},[],[813],{"type":45,"value":814},"directusPlugin",{"type":45,"value":308},{"type":40,"tag":784,"props":817,"children":818},{},[819,825],{"type":40,"tag":54,"props":820,"children":822},{"className":821},[],[823],{"type":45,"value":824},"virtual:rstore-directus\u002Fschema",{"type":45,"value":826}," exports the generated rstore schema.",{"type":40,"tag":784,"props":828,"children":829},{},[830,836],{"type":40,"tag":54,"props":831,"children":833},{"className":832},[],[834],{"type":45,"value":835},"virtual:rstore-directus\u002Fplugin",{"type":45,"value":837}," exports the Directus SDK client and rstore plugin.",{"type":40,"tag":63,"props":839,"children":841},{"id":840},"generated-declarations",[842],{"type":45,"value":843},"Generated Declarations",{"type":40,"tag":780,"props":845,"children":846},{},[847,859,871],{"type":40,"tag":784,"props":848,"children":849},{},[850,852,857],{"type":45,"value":851},"The plugin writes ",{"type":40,"tag":54,"props":853,"children":855},{"className":854},[],[856],{"type":45,"value":762},{"type":45,"value":858}," in the Vite root by default.",{"type":40,"tag":784,"props":860,"children":861},{},[862,863,869],{"type":45,"value":52},{"type":40,"tag":54,"props":864,"children":866},{"className":865},[],[867],{"type":45,"value":868},"dts: 'src\u002Frstore-directus.d.ts'",{"type":45,"value":870}," to choose another output.",{"type":40,"tag":784,"props":872,"children":873},{},[874,875,881],{"type":45,"value":52},{"type":40,"tag":54,"props":876,"children":878},{"className":877},[],[879],{"type":45,"value":880},"dts: false",{"type":45,"value":882}," only when the app provides compatible virtual module declarations another way.",{"type":40,"tag":63,"props":884,"children":886},{"id":885},"guardrails",[887],{"type":45,"value":888},"Guardrails",{"type":40,"tag":890,"props":891,"children":892},"ol",{},[893,905,910,929,940],{"type":40,"tag":784,"props":894,"children":895},{},[896,898,903],{"type":45,"value":897},"Keep ",{"type":40,"tag":54,"props":899,"children":901},{"className":900},[],[902],{"type":45,"value":704},{"type":45,"value":904}," server-side\u002Fbuild-time. The Vite plugin should not emit it into generated modules.",{"type":40,"tag":784,"props":906,"children":907},{},[908],{"type":45,"value":909},"Do not hand-write replacement schema or plugin virtual modules; fix generator input\u002Fconfig instead.",{"type":40,"tag":784,"props":911,"children":912},{},[913,915,920,922,927],{"type":45,"value":914},"Use the generated ",{"type":40,"tag":54,"props":916,"children":918},{"className":917},[],[919],{"type":45,"value":799},{"type":45,"value":921}," and ",{"type":40,"tag":54,"props":923,"children":925},{"className":924},[],[926],{"type":45,"value":814},{"type":45,"value":928}," together in the same store.",{"type":40,"tag":784,"props":930,"children":931},{},[932,933,938],{"type":45,"value":52},{"type":40,"tag":54,"props":934,"children":936},{"className":935},[],[937],{"type":45,"value":348},{"type":45,"value":939}," for Directus query, schema, singleton, and mutation behavior.",{"type":40,"tag":784,"props":941,"children":942},{},[943,944,950],{"type":45,"value":52},{"type":40,"tag":54,"props":945,"children":947},{"className":946},[],[948],{"type":45,"value":949},"rstore-vue",{"type":45,"value":951}," for component query\u002Fform\u002Fcache patterns.",{"type":40,"tag":953,"props":954,"children":955},"style",{},[956],{"type":45,"value":957},"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":959,"total":329},[960,971,984,998,1011,1022,1029,1040,1051],{"slug":348,"name":348,"fn":961,"description":962,"org":963,"tags":964,"stars":23,"repoUrl":24,"updatedAt":970},"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},[965,966,969],{"name":18,"slug":19,"type":15},{"name":967,"slug":968,"type":15},"Database","database",{"name":9,"slug":8,"type":15},"2026-07-12T07:51:07.357988",{"slug":972,"name":972,"fn":973,"description":974,"org":975,"tags":976,"stars":23,"repoUrl":24,"updatedAt":983},"rstore-monospace","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},[977,980],{"name":978,"slug":979,"type":15},"OpenAPI","openapi",{"name":981,"slug":982,"type":15},"REST API","rest-api","2026-07-12T07:51:08.612664",{"slug":985,"name":985,"fn":986,"description":987,"org":988,"tags":989,"stars":23,"repoUrl":24,"updatedAt":997},"rstore-nuxt","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},[990,993,996],{"name":991,"slug":992,"type":15},"Frontend","frontend",{"name":994,"slug":995,"type":15},"Nuxt","nuxt",{"name":13,"slug":14,"type":15},"2026-07-12T07:51:06.114663",{"slug":999,"name":999,"fn":1000,"description":1001,"org":1002,"tags":1003,"stars":23,"repoUrl":24,"updatedAt":1010},"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},[1004,1005,1006,1009],{"name":18,"slug":19,"type":15},{"name":967,"slug":968,"type":15},{"name":1007,"slug":1008,"type":15},"Drizzle","drizzle",{"name":994,"slug":995,"type":15},"2026-07-12T07:51:10.079641",{"slug":1012,"name":1012,"fn":1013,"description":1014,"org":1015,"tags":1016,"stars":23,"repoUrl":24,"updatedAt":1021},"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},[1017,1018,1019,1020],{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"name":994,"slug":995,"type":15},{"name":13,"slug":14,"type":15},"2026-07-12T07:51:12.752798",{"slug":4,"name":4,"fn":5,"description":6,"org":1023,"tags":1024,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1025,1026,1027,1028],{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"name":21,"slug":22,"type":15},{"name":13,"slug":14,"type":15},{"slug":1030,"name":1030,"fn":1031,"description":1032,"org":1033,"tags":1034,"stars":23,"repoUrl":24,"updatedAt":1039},"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},[1035,1036,1037,1038],{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"name":21,"slug":22,"type":15},{"name":13,"slug":14,"type":15},"2026-07-12T07:51:14.078949",{"slug":949,"name":949,"fn":1041,"description":1042,"org":1043,"tags":1044,"stars":23,"repoUrl":24,"updatedAt":1050},"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},[1045,1048,1049],{"name":1046,"slug":1047,"type":15},"Debugging","debugging",{"name":991,"slug":992,"type":15},{"name":13,"slug":14,"type":15},"2026-07-12T07:51:04.87426",{"slug":1052,"name":1052,"fn":1053,"description":1054,"org":1055,"tags":1056,"stars":1061,"repoUrl":1062,"updatedAt":1063},"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},[1057,1058],{"name":981,"slug":982,"type":15},{"name":1059,"slug":1060,"type":15},"SDK","sdk",0,"https:\u002F\u002Fgithub.com\u002Fdirectus\u002Fmonospace-agent-skills","2026-07-12T07:51:15.348897",{"items":1065,"total":288},[1066,1072,1077,1083,1090,1097,1104],{"slug":348,"name":348,"fn":961,"description":962,"org":1067,"tags":1068,"stars":23,"repoUrl":24,"updatedAt":970},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1069,1070,1071],{"name":18,"slug":19,"type":15},{"name":967,"slug":968,"type":15},{"name":9,"slug":8,"type":15},{"slug":972,"name":972,"fn":973,"description":974,"org":1073,"tags":1074,"stars":23,"repoUrl":24,"updatedAt":983},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1075,1076],{"name":978,"slug":979,"type":15},{"name":981,"slug":982,"type":15},{"slug":985,"name":985,"fn":986,"description":987,"org":1078,"tags":1079,"stars":23,"repoUrl":24,"updatedAt":997},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1080,1081,1082],{"name":991,"slug":992,"type":15},{"name":994,"slug":995,"type":15},{"name":13,"slug":14,"type":15},{"slug":999,"name":999,"fn":1000,"description":1001,"org":1084,"tags":1085,"stars":23,"repoUrl":24,"updatedAt":1010},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1086,1087,1088,1089],{"name":18,"slug":19,"type":15},{"name":967,"slug":968,"type":15},{"name":1007,"slug":1008,"type":15},{"name":994,"slug":995,"type":15},{"slug":1012,"name":1012,"fn":1013,"description":1014,"org":1091,"tags":1092,"stars":23,"repoUrl":24,"updatedAt":1021},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1093,1094,1095,1096],{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"name":994,"slug":995,"type":15},{"name":13,"slug":14,"type":15},{"slug":4,"name":4,"fn":5,"description":6,"org":1098,"tags":1099,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1100,1101,1102,1103],{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"name":21,"slug":22,"type":15},{"name":13,"slug":14,"type":15},{"slug":1030,"name":1030,"fn":1031,"description":1032,"org":1105,"tags":1106,"stars":23,"repoUrl":24,"updatedAt":1039},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1107,1108,1109,1110],{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"name":21,"slug":22,"type":15},{"name":13,"slug":14,"type":15}]