<< All versions

Skill v1.0.1

currentAutomated scan96/100
directus/rstore/rstore-vite-monospace

+3 new

──Details
PublishedOctober 23, 2026 at 03:22 AM
Content Hashsha256:fc9e9fc524d55154...
Git SHAde7269945e57
Bump Typepatch
Compare with v1.0.0
──Files
Files (1 file, 3.4 KB)
SKILL.md3.4 KBactive
SKILL.md · 87 lines · 3.4 KB

version: "1.0.1" name: rstore-vite-monospace description: "Use when wiring Monospace into a plain Vite/Vue app with @rstore/vite-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."


Rstore Vite Monospace

Use @rstore/vite-monospace to generate Monospace-backed rstore schema and plugin modules in a non-Nuxt Vite app.

Setup

Register the Vite plugin in vite.config.ts:

ts
import { rstoreMonospace } from '@rstore/vite-monospace'
import { defineConfig } from 'vite'
export default defineConfig({
plugins: [
rstoreMonospace({
url: 'https://your-monospace-instance.com',
workspace: 'your-workspace',
schemaApiKey: process.env.MONOSPACE_API_KEY,
scopeId: 'rstore-monospace',
}),
],
})

Then create the store from the generated virtual module:

ts
import { createStore, RstorePlugin } from '@rstore/vue'
import { monospacePlugin, schema } from 'virtual:rstore-monospace'
const store = await createStore({
schema,
plugins: [monospacePlugin],
})
app.use(RstorePlugin, { store })

Options

OptionPurpose
urlMonospace API URL used for remote schema loading and runtime client code
workspaceMonospace workspace identifier (project is a deprecated alias)
schemaApiKeyBuild-time key for remote schema loading (needs openApiSchema:read + dataModel:read)
inputLocal OpenAPI JSON path, resolved from the Vite root
metadataInputLocal schema metadata snapshot JSON path, resolved from the Vite root
runtimeApiKeyRuntime API key emitted into generated client code
cacheControlCache-Control header ('no-cache' or 'no-store') sent by the generated runtime client
scopeIdrstore plugin scope id, defaulting to rstore-monospace
primaryKeysExplicit primary key overrides by collection name
dtsDeclaration output path, true/omitted for rstore-monospace.d.ts, or false to disable

Virtual Modules

  • virtual:rstore-monospace re-exports schema, monospace, and monospacePlugin.
  • virtual:rstore-monospace/schema exports the generated rstore schema.
  • virtual:rstore-monospace/plugin exports the Monospace REST client and rstore plugin.

Local Schema Mode

Use input plus metadataInput when the schema is checked into the project or generated separately. The metadata snapshot holds the Monospace schema meta collection items keyed by collection name; write it from loadRemoteSchemaMetadata (@rstore/monospace/schema):

ts
rstoreMonospace({
input: './openapi.json',
metadataInput: './schema-metadata.json',
})

With only one local file, the other schema source is loaded remotely and url/workspace are required.

Guardrails

  1. Keep schemaApiKey build-time only; it must not appear in generated virtual modules.
  2. Configure runtimeApiKey only when the key is safe to emit into runtime/client code.
  3. Do not hand-write replacement schema or plugin virtual modules; fix generator input/config instead.
  4. Use the generated schema and monospacePlugin together in the same store.
  5. Use rstore-monospace for OpenAPI, REST, query, and mutation behavior.
  6. Use rstore-vue for component query/form/cache patterns.
← v1.0.0All versions