
Skill
rstore-vite-monospace
integrate Monospace into Vite applications
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.
SKILL.md
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:
import { rstoreMonospace } from '@rstore/vite-monospace'
import { defineConfig } from 'vite'
export default defineConfig({
plugins: [
rstoreMonospace({
url: 'https://your-monospace-instance.com',
project: 'your-project',
schemaApiKey: process.env.MONOSPACE_API_KEY,
scopeId: 'rstore-monospace',
}),
],
})
Then create the store from the generated virtual module:
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
| Option | Purpose |
|---|---|
url | Monospace API URL used for remote schema loading and runtime client code |
project | Monospace project identifier |
schemaApiKey | Build-time key for remote schema loading (needs openApiSchema:read + dataModel:read) |
input | Local OpenAPI JSON path, resolved from the Vite root |
metadataInput | Local schema metadata snapshot JSON path, resolved from the Vite root |
runtimeApiKey | Runtime API key emitted into generated client code |
scopeId | rstore plugin scope id, defaulting to rstore-monospace |
primaryKeys | Explicit primary key overrides by collection name |
dts | Declaration output path, true/omitted for rstore-monospace.d.ts, or false to disable |
Virtual Modules
virtual:rstore-monospacere-exportsschema,monospace, andmonospacePlugin.virtual:rstore-monospace/schemaexports the generated rstore schema.virtual:rstore-monospace/pluginexports 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 raw items of the Monospace system schema meta collections keyed by collection name:
rstoreMonospace({
input: './openapi.json',
metadataInput: './schema-metadata.json',
})
With only one local file, the other schema source is loaded remotely and url/project are required.
Guardrails
- Keep
schemaApiKeybuild-time only; it must not appear in generated virtual modules. - Configure
runtimeApiKeyonly when the key is safe to emit into runtime/client code. - Do not hand-write replacement schema or plugin virtual modules; fix generator input/config instead.
- Use the generated
schemaandmonospacePlugintogether in the same store. - Use
rstore-monospacefor OpenAPI, REST, query, and mutation behavior. - Use
rstore-vuefor component query/form/cache patterns.
More skills from the rstore repository
View all 8 skillsrstore-directus
integrate rstore with Directus
Jul 12API DevelopmentDatabaseDirectusrstore-monospace
integrate rstore with Monospace REST APIs
Jul 12OpenAPIREST APIrstore-nuxt
integrate rstore into Nuxt applications
Jul 12FrontendNuxtVuerstore-nuxt-drizzle
expose Drizzle data in Nuxt applications
Jul 12API DevelopmentDatabaseDrizzleNuxtrstore-nuxt-monospace
integrate Monospace into Nuxt applications
Jul 12API DevelopmentDirectusNuxtVuerstore-vite-directus
integrate Directus into Vite applications
Jul 12API DevelopmentDirectusViteVue