diff --git a/apps/daemon/src/cli.ts b/apps/daemon/src/cli.ts index 358afa3ae..ed2e332b2 100644 --- a/apps/daemon/src/cli.ts +++ b/apps/daemon/src/cli.ts @@ -1218,7 +1218,7 @@ Common options: return; } for (const m of rows) { - console.log(`${m.id} trust=${m.trust} url=${m.url}`); + console.log(`${m.id} version=${m.version ?? 'unknown'} spec=${m.specVersion ?? 'unknown'} trust=${m.trust} url=${m.url}`); } return; } @@ -1249,7 +1249,9 @@ Common options: matches.push({ marketplaceId: mp.id, marketplaceUrl: mp.url, + marketplaceVersion: mp.version, name: p.name, + version: p.version, source: p.source, description: p.description ?? '', tags: p.tags ?? [], @@ -1265,7 +1267,7 @@ Common options: return; } for (const m of matches) { - console.log(`${m.name}\t${m.source}\t${m.marketplaceId}\t${m.description}`); + console.log(`${m.name}@${m.version}\t${m.source}\t${m.marketplaceId}@${m.marketplaceVersion}\t${m.description}`); } return; } diff --git a/apps/daemon/src/plugins/apply.ts b/apps/daemon/src/plugins/apply.ts index 70beea24c..337f2e3ea 100644 --- a/apps/daemon/src/plugins/apply.ts +++ b/apps/daemon/src/plugins/apply.ts @@ -164,6 +164,7 @@ export function applyPlugin(input: ApplyInput): ApplyComputed { const snapshot: AppliedPluginSnapshot = { snapshotId: '', pluginId: input.plugin.id, + pluginSpecVersion: manifest.specVersion, pluginVersion: input.plugin.version, manifestSourceDigest: digest, sourceMarketplaceId: input.plugin.sourceMarketplaceId, diff --git a/apps/daemon/src/plugins/export.ts b/apps/daemon/src/plugins/export.ts index 57a5e6a4e..4454fef79 100644 --- a/apps/daemon/src/plugins/export.ts +++ b/apps/daemon/src/plugins/export.ts @@ -177,6 +177,7 @@ async function readSkillBody( function buildPortableManifest(snapshot: AppliedPluginSnapshot): Record { return { $schema: 'https://open-design.ai/schemas/plugin.v1.json', + specVersion: snapshot.pluginSpecVersion ?? '1.0.0', name: snapshot.pluginId, title: snapshot.pluginTitle ?? snapshot.pluginId, version: snapshot.pluginVersion, diff --git a/apps/daemon/src/plugins/marketplaces.ts b/apps/daemon/src/plugins/marketplaces.ts index d7f93b8d5..767f5096a 100644 --- a/apps/daemon/src/plugins/marketplaces.ts +++ b/apps/daemon/src/plugins/marketplaces.ts @@ -19,7 +19,10 @@ import { parseMarketplace, type MarketplaceParseResult, } from '@open-design/plugin-runtime'; -import type { MarketplaceManifest } from '@open-design/contracts'; +import { + OPEN_DESIGN_PLUGIN_SPEC_VERSION, + type MarketplaceManifest, +} from '@open-design/contracts'; type SqliteDb = Database.Database; @@ -28,6 +31,8 @@ export type MarketplaceTrustTier = 'official' | 'trusted' | 'restricted'; export interface MarketplaceRow { id: string; url: string; + specVersion: string; + version: string; trust: MarketplaceTrustTier; manifest: MarketplaceManifest; addedAt: number; @@ -100,56 +105,77 @@ export async function addMarketplace( const now = Date.now(); const trust = input.trust ?? 'restricted'; db.prepare( - `INSERT INTO plugin_marketplaces (id, url, trust, manifest_json, added_at, refreshed_at) - VALUES (?, ?, ?, ?, ?, ?)`, - ).run(id, input.url, trust, text, now, now); + `INSERT INTO plugin_marketplaces (id, url, spec_version, version, trust, manifest_json, added_at, refreshed_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?)`, + ).run(id, input.url, parsed.manifest.specVersion, parsed.manifest.version, trust, text, now, now); return { ok: true, - row: { id, url: input.url, trust, manifest: parsed.manifest, addedAt: now, refreshedAt: now }, + row: { + id, + url: input.url, + specVersion: parsed.manifest.specVersion, + version: parsed.manifest.version, + trust, + manifest: parsed.manifest, + addedAt: now, + refreshedAt: now, + }, warnings: [], }; } export function listMarketplaces(db: SqliteDb): MarketplaceRow[] { const rows = db - .prepare(`SELECT id, url, trust, manifest_json, added_at, refreshed_at FROM plugin_marketplaces ORDER BY added_at ASC`) + .prepare(`SELECT id, url, spec_version, version, trust, manifest_json, added_at, refreshed_at FROM plugin_marketplaces ORDER BY added_at ASC`) .all() as Array<{ id: string; url: string; + spec_version: string; + version: string; trust: MarketplaceTrustTier; manifest_json: string; added_at: number; refreshed_at: number; }>; - return rows.map((r) => ({ - id: r.id, - url: r.url, - trust: r.trust, - manifest: safeParseManifest(r.manifest_json), - addedAt: r.added_at, - refreshedAt: r.refreshed_at, - })); + return rows.map((r) => { + const manifest = safeParseManifest(r.manifest_json); + return { + id: r.id, + url: r.url, + specVersion: r.spec_version || manifest.specVersion, + version: r.version === '0.0.0' ? manifest.version : r.version, + trust: r.trust, + manifest, + addedAt: r.added_at, + refreshedAt: r.refreshed_at, + }; + }); } export function getMarketplace(db: SqliteDb, id: string): MarketplaceRow | null { const row = db - .prepare(`SELECT id, url, trust, manifest_json, added_at, refreshed_at FROM plugin_marketplaces WHERE id = ?`) + .prepare(`SELECT id, url, spec_version, version, trust, manifest_json, added_at, refreshed_at FROM plugin_marketplaces WHERE id = ?`) .get(id) as | undefined | { id: string; url: string; + spec_version: string; + version: string; trust: MarketplaceTrustTier; manifest_json: string; added_at: number; refreshed_at: number; }; if (!row) return null; + const manifest = safeParseManifest(row.manifest_json); return { id: row.id, url: row.url, + specVersion: row.spec_version || manifest.specVersion, + version: row.version === '0.0.0' ? manifest.version : row.version, trust: row.trust, - manifest: safeParseManifest(row.manifest_json), + manifest, addedAt: row.added_at, refreshedAt: row.refreshed_at, }; @@ -198,11 +224,17 @@ export async function refreshMarketplace( return { ok: false, status: 422, message: 'marketplace manifest failed validation', errors: parsed.errors }; } const now = Date.now(); - db.prepare(`UPDATE plugin_marketplaces SET manifest_json = ?, refreshed_at = ? WHERE id = ?`) - .run(text, now, id); + db.prepare(`UPDATE plugin_marketplaces SET spec_version = ?, version = ?, manifest_json = ?, refreshed_at = ? WHERE id = ?`) + .run(parsed.manifest.specVersion, parsed.manifest.version, text, now, id); return { ok: true, - row: { ...existing, manifest: parsed.manifest, refreshedAt: now }, + row: { + ...existing, + specVersion: parsed.manifest.specVersion, + version: parsed.manifest.version, + manifest: parsed.manifest, + refreshedAt: now, + }, }; } @@ -222,10 +254,54 @@ function safeParseManifest(raw: string): MarketplaceManifest { } catch { // fall through } + try { + const parsed = JSON.parse(raw); + if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) { + throw new Error('legacy marketplace manifest is not an object'); + } + const legacy = parsed as Record; + const metadata = typeof legacy['metadata'] === 'object' && legacy['metadata'] !== null + ? legacy['metadata'] as Record + : {}; + const plugins = Array.isArray(legacy?.['plugins']) + ? (legacy['plugins'] as unknown[]).flatMap((entry) => { + if (!entry || typeof entry !== 'object' || Array.isArray(entry)) return []; + const obj = entry as Record; + const name = typeof obj['name'] === 'string' ? obj['name'] : ''; + const source = typeof obj['source'] === 'string' ? obj['source'] : ''; + if (!name || !source) return []; + return [{ + ...obj, + name, + source, + version: typeof obj['version'] === 'string' && obj['version'].length > 0 + ? obj['version'] + : '0.0.0', + }]; + }) + : []; + return { + ...legacy, + specVersion: typeof legacy['specVersion'] === 'string' + ? legacy['specVersion'] as string + : OPEN_DESIGN_PLUGIN_SPEC_VERSION, + name: typeof legacy['name'] === 'string' ? legacy['name'] as string : 'unknown', + version: typeof legacy['version'] === 'string' && (legacy['version'] as string).length > 0 + ? legacy['version'] as string + : typeof metadata['version'] === 'string' && metadata['version'].length > 0 + ? metadata['version'] + : '0.0.0', + plugins, + } as MarketplaceManifest; + } catch { + // fall through + } // Last-resort fallback: return a minimal shape so the caller doesn't // explode if a database row was stored before a schema patch. return { + specVersion: OPEN_DESIGN_PLUGIN_SPEC_VERSION, name: 'unknown', + version: '0.0.0', plugins: [], } as MarketplaceManifest; } @@ -245,7 +321,10 @@ export interface ResolvedPluginEntry { marketplaceId: string; marketplaceUrl: string; marketplaceTrust: MarketplaceTrustTier; + marketplaceSpecVersion: string; + marketplaceVersion: string; pluginName: string; + pluginVersion: string; source: string; description?: string; } @@ -265,7 +344,10 @@ export function resolvePluginInMarketplaces( marketplaceId: row.id, marketplaceUrl: row.url, marketplaceTrust: row.trust, + marketplaceSpecVersion: row.specVersion, + marketplaceVersion: row.version, pluginName: entry.name, + pluginVersion: entry.version, source: entry.source, }; if (entry.description) result.description = entry.description; diff --git a/apps/daemon/src/plugins/persistence.ts b/apps/daemon/src/plugins/persistence.ts index 37ca6fa9a..0a5088ac6 100644 --- a/apps/daemon/src/plugins/persistence.ts +++ b/apps/daemon/src/plugins/persistence.ts @@ -39,6 +39,8 @@ export function migratePlugins(db: SqliteDb): void { CREATE TABLE IF NOT EXISTS plugin_marketplaces ( id TEXT PRIMARY KEY, url TEXT NOT NULL, + spec_version TEXT NOT NULL DEFAULT '1.0.0', + version TEXT NOT NULL DEFAULT '0.0.0', trust TEXT NOT NULL, manifest_json TEXT NOT NULL, added_at INTEGER NOT NULL, @@ -51,6 +53,7 @@ export function migratePlugins(db: SqliteDb): void { conversation_id TEXT, run_id TEXT, plugin_id TEXT NOT NULL, + plugin_spec_version TEXT NOT NULL DEFAULT '1.0.0', plugin_version TEXT NOT NULL, manifest_source_digest TEXT NOT NULL, source_marketplace_id TEXT, @@ -128,6 +131,20 @@ export function migratePlugins(db: SqliteDb): void { CREATE INDEX IF NOT EXISTS idx_genui_run ON genui_surfaces(run_id); `); + const marketplaceCols = db.prepare(`PRAGMA table_info(plugin_marketplaces)`).all() as DbRow[]; + if (!marketplaceCols.some((c) => c['name'] === 'spec_version')) { + db.exec(`ALTER TABLE plugin_marketplaces ADD COLUMN spec_version TEXT NOT NULL DEFAULT '1.0.0'`); + } + if (!marketplaceCols.some((c) => c['name'] === 'version')) { + db.exec(`ALTER TABLE plugin_marketplaces ADD COLUMN version TEXT NOT NULL DEFAULT '0.0.0'`); + } + db.exec(`CREATE INDEX IF NOT EXISTS idx_marketplaces_version ON plugin_marketplaces(version)`); + + const snapshotCols = db.prepare(`PRAGMA table_info(applied_plugin_snapshots)`).all() as DbRow[]; + if (!snapshotCols.some((c) => c['name'] === 'plugin_spec_version')) { + db.exec(`ALTER TABLE applied_plugin_snapshots ADD COLUMN plugin_spec_version TEXT NOT NULL DEFAULT '1.0.0'`); + } + // Back-reference columns. SQLite has no IF NOT EXISTS for ALTER; check // pragma_table_info first. Mirrors the upstream pattern in db.ts. const projectCols = db.prepare(`PRAGMA table_info(projects)`).all() as DbRow[]; diff --git a/apps/daemon/src/plugins/resolve-snapshot.ts b/apps/daemon/src/plugins/resolve-snapshot.ts index 4b988285e..79b55746c 100644 --- a/apps/daemon/src/plugins/resolve-snapshot.ts +++ b/apps/daemon/src/plugins/resolve-snapshot.ts @@ -258,6 +258,7 @@ export function resolvePluginSnapshot(input: ResolveSnapshotInput): ResolveSnaps conversationId: input.conversationId ?? null, runId: input.runId ?? null, pluginId: result.appliedPlugin.pluginId, + pluginSpecVersion: result.appliedPlugin.pluginSpecVersion ?? plugin.manifest.specVersion, pluginVersion: result.appliedPlugin.pluginVersion, pluginTitle: result.appliedPlugin.pluginTitle, pluginDescription: result.appliedPlugin.pluginDescription, diff --git a/apps/daemon/src/plugins/scaffold.ts b/apps/daemon/src/plugins/scaffold.ts index 194f3cff5..18fe49a25 100644 --- a/apps/daemon/src/plugins/scaffold.ts +++ b/apps/daemon/src/plugins/scaffold.ts @@ -100,6 +100,7 @@ export async function scaffoldPlugin(input: ScaffoldInput): Promise = { $schema: 'https://open-design.ai/schemas/plugin.v1.json', + specVersion: '1.0.0', name: input.id, title, version: '0.1.0', @@ -142,7 +143,7 @@ export async function scaffoldPlugin(input: ScaffoldInput): Promise { throw new Error(`expected ok: ${JSON.stringify(result)}`); } expect(result.row.url).toBe('https://example.com/marketplace.json'); + expect(result.row.specVersion).toBe('1.0.0'); + expect(result.row.version).toBe('1.0.0'); expect(result.row.trust).toBe('restricted'); expect(result.row.manifest.plugins).toHaveLength(1); expect(listMarketplaces(db)).toHaveLength(1); @@ -103,13 +107,16 @@ describe('marketplaces', () => { updatedManifest.plugins.push({ name: 'new-plugin', source: 'github:open-design/new-plugin', + version: '0.2.0', }); + updatedManifest.version = '1.0.1'; const refreshed = await refreshMarketplace( db, added.row.id, fixtureFetcher(JSON.stringify(updatedManifest)), ); if (!refreshed.ok) throw new Error('refresh failed'); + expect(refreshed.row.version).toBe('1.0.1'); expect(refreshed.row.manifest.plugins).toHaveLength(2); expect(refreshed.row.refreshedAt).toBeGreaterThanOrEqual(added.row.refreshedAt); }); @@ -136,6 +143,8 @@ describe('resolvePluginInMarketplaces', () => { const resolved = resolvePluginInMarketplaces(db, 'sample-plugin'); expect(resolved).not.toBeNull(); expect(resolved!.source).toBe('github:open-design/sample-plugin'); + expect(resolved!.pluginVersion).toBe('0.1.0'); + expect(resolved!.marketplaceVersion).toBe('1.0.0'); expect(resolved!.marketplaceTrust).toBe('restricted'); }); @@ -159,8 +168,10 @@ describe('resolvePluginInMarketplaces', () => { it('walks marketplaces in registration order, first hit wins', async () => { const otherManifest = JSON.stringify({ + specVersion: '1.0.0', name: 'other', - plugins: [{ name: 'sample-plugin', source: 'github:other/sample' }], + version: '1.0.0', + plugins: [{ name: 'sample-plugin', source: 'github:other/sample', version: '0.9.0' }], }); const first = await addMarketplace(db, { url: 'https://first.example/marketplace.json', diff --git a/apps/web/src/components/plugin-details/PluginMetaSections.tsx b/apps/web/src/components/plugin-details/PluginMetaSections.tsx index f6e6d9595..5ef9b040d 100644 --- a/apps/web/src/components/plugin-details/PluginMetaSections.tsx +++ b/apps/web/src/components/plugin-details/PluginMetaSections.tsx @@ -72,6 +72,7 @@ export function PluginMetaSections({ record, omit, compact, heading }: Props) { const [copied, setCopied] = useState(false); const manifest: PluginManifest = record.manifest ?? ({} as PluginManifest); + const specVersion = typeof manifest.specVersion === 'string' ? manifest.specVersion : ''; const od = manifest.od ?? {}; const description = manifest.description ?? ''; const query = resolvePluginQueryFallback(od.useCase?.query); @@ -514,6 +515,14 @@ export function PluginMetaSections({ record, omit, compact, heading }: Props) { v{record.version} + {specVersion ? ( +
+
Spec
+
+ v{specVersion} +
+
+ ) : null}
Trust
diff --git a/docs/plugins-spec.md b/docs/plugins-spec.md index e9d2a5ce6..025a5ca3a 100644 --- a/docs/plugins-spec.md +++ b/docs/plugins-spec.md @@ -222,6 +222,7 @@ Rules of authorship: ```json { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "make-a-deck", "title": "Make a deck", "version": "1.0.0", @@ -346,6 +347,8 @@ Rules of authorship: ### 5.1 Field reference - `compat.*` — relative paths to inherited files. The loader concatenates their content into the OD prompt stack assembled by [`composeSystemPrompt()`](../apps/daemon/src/prompts/system.ts). +- `specVersion` — the Open Design plugin spec version used to interpret the manifest. This is distinct from plugin `version` and is frozen into apply snapshots for replay. +- `version` — the plugin package version. Bump it whenever behavior, metadata, pipeline, inputs, or bundled assets change in a way users may need to audit. - `od.kind` — registry classification (`skill` / `scenario` / `atom` / `bundle`). - `od.taskKind` — one of the four product scenarios (`new-generation` / `code-migration` / `figma-migration` / `tune-collab`, see §1 "Four product scenarios"). Drives marketplace filters, default input templates, and the recommended pipeline starting point. - `od.preview` — drives the marketplace card and detail page. `entry` is served sandboxed via the daemon (the existing `/api/skills/:id/example` plumbing extended to plugins). @@ -422,16 +425,21 @@ Mirrors [`anthropics/skills/.claude-plugin/marketplace.json`](https://raw.github ```json { + "$schema": "https://open-design.ai/schemas/marketplace.v1.json", + "specVersion": "1.0.0", "name": "open-design-official", + "version": "1.0.0", "owner": { "name": "Open Design", "url": "https://open-design.ai" }, "metadata": { "description": "First-party plugins", "version": "1.0.0" }, "plugins": [ - { "name": "make-a-deck", "source": "github:open-design/plugins/make-a-deck", "tags": ["deck"] }, - { "name": "tweet-card", "source": "https://files.../tweet-card-1.0.0.tgz", "tags": ["marketing"] } + { "name": "make-a-deck", "version": "1.0.0", "source": "github:open-design/plugins/make-a-deck", "tags": ["deck"] }, + { "name": "tweet-card", "version": "1.0.0", "source": "https://files.../tweet-card-1.0.0.tgz", "tags": ["marketing"] } ] } ``` +The marketplace top-level `version` is the catalog snapshot version; every `plugins[]` entry also declares the listed plugin version. Installers still verify the target folder's own `open-design.json` after fetching, but registry search, audit logs, and marketplace refresh events can now reason about catalog and plugin versions before install. + Multiple marketplaces coexist — the user runs `od marketplace add ` to register additional indexes (Vercel's, OpenClaw's clawhub, an enterprise team's private catalog). By default, a user-added marketplace is only a discovery source and plugins from it still install as `restricted`; only the built-in official marketplace or a marketplace explicitly trusted through `od marketplace add --trust` / `od marketplace trust ` can pass through default `trusted` status. ## 7. Discovery and install @@ -550,6 +558,7 @@ export interface ApplyResult { export interface AppliedPluginSnapshot { snapshotId: string; pluginId: string; + pluginSpecVersion: string; pluginVersion: string; manifestSourceDigest: string; sourceMarketplaceId?: string; @@ -610,7 +619,7 @@ Lives in `packages/contracts/src/plugins/apply.ts`. Re-exported from [`packages/ The daemon therefore must: -1. **At apply time** — hash the hydrated manifest plus inputs into `manifestSourceDigest`, then write `pluginVersion`, `pinnedRef`, `sourceMarketplaceId`, `resolvedContext`, `capabilitiesGranted`, `assetsStaged`, **`connectorsRequired` / `connectorsResolved` (cross-checked against the connector subsystem's current `status`)**, and **`mcpServers` (the MCP server set active at apply time)** into `appliedPlugin` and return it to the caller. +1. **At apply time** — hash the hydrated manifest plus inputs into `manifestSourceDigest`, then write `pluginSpecVersion`, `pluginVersion`, `pinnedRef`, `sourceMarketplaceId`, `resolvedContext`, `capabilitiesGranted`, `assetsStaged`, **`connectorsRequired` / `connectorsResolved` (cross-checked against the connector subsystem's current `status`)**, and **`mcpServers` (the MCP server set active at apply time)** into `appliedPlugin` and return it to the caller. 2. **At project create / run start** — write the client-supplied `appliedPlugin` (or the daemon's server-side re-resolved snapshot) into the SQLite `applied_plugin_snapshots` table (§11.4) and FK-link it from `runs` / `conversations`. 3. **Replay** — `od run replay ` and `od plugin export ` must reconstruct prompt and assets from the snapshot rather than the live manifest, so old runs remain reproducible after plugin upgrades. 4. **Audit** — UI ProjectView shows snapshot id + version + digest at the top; artifact provenance (§11.5 ArtifactManifest) reverse-resolves plugin source via the snapshot id. @@ -664,6 +673,7 @@ A `restricted` plugin can never reach P3/P4/P5 unless the user grants the capabi Trust records must bind to provenance, not just a name: - `pluginId` +- `specVersion` - `version` or resolved git SHA / archive digest - source marketplace id, if any - granted capabilities diff --git a/docs/plugins-spec.zh-CN.md b/docs/plugins-spec.zh-CN.md index b3319c4f1..35e3c964e 100644 --- a/docs/plugins-spec.zh-CN.md +++ b/docs/plugins-spec.zh-CN.md @@ -222,6 +222,7 @@ my-plugin/ ```json { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "make-a-deck", "title": "Make a deck", "version": "1.0.0", @@ -346,6 +347,8 @@ my-plugin/ ### 5.1 字段说明 - `compat.*`:指向继承格式文件的相对路径。loader 会把它们的内容合并进 [`composeSystemPrompt()`](../apps/daemon/src/prompts/system.ts) 组装出的 OD prompt stack。 +- `specVersion`:解释此 manifest 时使用的 Open Design 插件规范版本。它独立于插件 `version`,并会冻结到 apply snapshot,便于 replay。 +- `version`:插件包自身版本。只要行为、元数据、pipeline、inputs 或随包 assets 出现用户需要审计的变化,就应该 bump。 - `od.kind`:registry 里的分类(`skill` / `scenario` / `atom` / `bundle`)。 - `od.taskKind`:四类产品场景之一(`new-generation` / `code-migration` / `figma-migration` / `tune-collab`,§1「四类产品场景」)。决定 marketplace filter、初始 inputs 模板、推荐 pipeline 起点。 - `od.preview`:驱动 marketplace 卡片和详情页。`entry` 通过 daemon 以 sandboxed 方式服务(扩展现有 `/api/skills/:id/example` plumbing)。 @@ -422,16 +425,21 @@ export type ContextItem = ```json { + "$schema": "https://open-design.ai/schemas/marketplace.v1.json", + "specVersion": "1.0.0", "name": "open-design-official", + "version": "1.0.0", "owner": { "name": "Open Design", "url": "https://open-design.ai" }, "metadata": { "description": "First-party plugins", "version": "1.0.0" }, "plugins": [ - { "name": "make-a-deck", "source": "github:open-design/plugins/make-a-deck", "tags": ["deck"] }, - { "name": "tweet-card", "source": "https://files.../tweet-card-1.0.0.tgz", "tags": ["marketing"] } + { "name": "make-a-deck", "version": "1.0.0", "source": "github:open-design/plugins/make-a-deck", "tags": ["deck"] }, + { "name": "tweet-card", "version": "1.0.0", "source": "https://files.../tweet-card-1.0.0.tgz", "tags": ["marketing"] } ] } ``` +Marketplace 顶层 `version` 是 catalog snapshot 版本;每个 `plugins[]` entry 也声明被列入的插件版本。Installer 抓取后仍会校验目标文件夹自己的 `open-design.json`,但 registry search、审计日志和 marketplace refresh events 可以在安装前就理解 catalog 与插件版本。 + 可以同时存在多个 marketplaces。用户通过 `od marketplace add ` 注册额外 index(Vercel 的、OpenClaw 的 clawhub、企业私有 catalog)。默认情况下,用户添加的 marketplace 只是 discovery source,它里面的插件仍然以 `restricted` 安装;只有官方内置 marketplace 或用户显式执行 `od marketplace add --trust` / `od marketplace trust ` 后,来自该 marketplace 的插件才可以默认继承 `trusted`。 ## 7. 发现与安装 @@ -550,6 +558,7 @@ export interface ApplyResult { export interface AppliedPluginSnapshot { snapshotId: string; pluginId: string; + pluginSpecVersion: string; pluginVersion: string; manifestSourceDigest: string; sourceMarketplaceId?: string; @@ -609,7 +618,7 @@ export interface InputFieldSpec { 因此 daemon 必须: -1. **Apply 时**:把 hydrated manifest 与 inputs 一起 hash 成 `manifestSourceDigest`,连同 `pluginVersion`、`pinnedRef`、`sourceMarketplaceId`、`resolvedContext`、`capabilitiesGranted`、`assetsStaged`、**`connectorsRequired` / `connectorsResolved`(参考 connector 子系统当前 `status`)**、**`mcpServers`(apply 时启用的 MCP server set)** 写入 `appliedPlugin`,返回给 caller。 +1. **Apply 时**:把 hydrated manifest 与 inputs 一起 hash 成 `manifestSourceDigest`,连同 `pluginSpecVersion`、`pluginVersion`、`pinnedRef`、`sourceMarketplaceId`、`resolvedContext`、`capabilitiesGranted`、`assetsStaged`、**`connectorsRequired` / `connectorsResolved`(参考 connector 子系统当前 `status`)**、**`mcpServers`(apply 时启用的 MCP server set)** 写入 `appliedPlugin`,返回给 caller。 2. **Project create / run start 时**:把客户端提交的 `appliedPlugin`(或 daemon 在 server-side 重新解析得到的 snapshot)写入 SQLite `applied_plugin_snapshots` 表(§11.4),并在 `runs` / `conversations` 表中以 FK 指向。 3. **Replay**:`od run replay ` 与 `od plugin export ` 必须从 snapshot 而非 live manifest 还原 prompt 与 assets,使老 run 在插件升级后仍可复现。 4. **Audit**:UI 的 ProjectView 顶端展示 snapshot id + version + digest;artifact provenance(§11.5 ArtifactManifest)通过 snapshot id 反查 plugin source。 @@ -663,6 +672,7 @@ flowchart LR 信任记录必须绑定 provenance,而不是只绑定名称: - `pluginId` +- `specVersion` - `version` 或 resolved git SHA / archive digest - source marketplace id(如果有) - granted capabilities diff --git a/docs/schemas/open-design.marketplace.v1.json b/docs/schemas/open-design.marketplace.v1.json index 66ed9b16c..a56887ef7 100644 --- a/docs/schemas/open-design.marketplace.v1.json +++ b/docs/schemas/open-design.marketplace.v1.json @@ -4,11 +4,13 @@ "title": "Open Design plugin marketplace index (v1)", "description": "Schema for `open-design-marketplace.json` federated catalog files. See docs/plugins-spec.md §6.", "type": "object", - "required": ["name", "plugins"], + "required": ["specVersion", "name", "version", "plugins"], "additionalProperties": true, "properties": { "$schema": { "type": "string", "format": "uri" }, + "specVersion": { "type": "string", "minLength": 1 }, "name": { "type": "string", "minLength": 1 }, + "version": { "type": "string", "minLength": 1 }, "owner": { "type": "object", "properties": { @@ -29,11 +31,11 @@ "type": "array", "items": { "type": "object", - "required": ["name", "source"], + "required": ["name", "source", "version"], "properties": { "name": { "type": "string", "minLength": 1 }, "source": { "type": "string", "minLength": 1 }, - "version": { "type": "string" }, + "version": { "type": "string", "minLength": 1 }, "ref": { "type": "string" }, "tags": { "type": "array", "items": { "type": "string" } }, "title": { "type": "string" }, diff --git a/docs/schemas/open-design.plugin.v1.json b/docs/schemas/open-design.plugin.v1.json index f89283d21..c57ad9e7d 100644 --- a/docs/schemas/open-design.plugin.v1.json +++ b/docs/schemas/open-design.plugin.v1.json @@ -4,10 +4,11 @@ "title": "Open Design plugin manifest (v1)", "description": "Schema for `open-design.json` sidecar files. Companion of `SKILL.md`; never duplicates skill body content. See docs/plugins-spec.md §5.", "type": "object", - "required": ["name", "version"], + "required": ["specVersion", "name", "version"], "additionalProperties": true, "properties": { "$schema": { "type": "string", "format": "uri" }, + "specVersion": { "type": "string", "minLength": 1 }, "name": { "type": "string", "minLength": 1, "pattern": "^[a-z0-9][a-z0-9._-]*$" }, "title": { "type": "string", "minLength": 1 }, "version": { "type": "string", "minLength": 1 }, diff --git a/packages/contracts/src/plugins/apply.ts b/packages/contracts/src/plugins/apply.ts index 9976b5652..97bd905ac 100644 --- a/packages/contracts/src/plugins/apply.ts +++ b/packages/contracts/src/plugins/apply.ts @@ -41,6 +41,7 @@ export type PluginConnectorBinding = z.infer; export const PluginManifestSchema = z.object({ $schema: z.string().optional(), + specVersion: OpenDesignSpecVersionSchema.optional(), name: z.string().min(1).regex(/^[a-z0-9][a-z0-9._-]*$/), title: z.string().optional(), version: z.string().min(1), diff --git a/packages/contracts/src/plugins/marketplace.ts b/packages/contracts/src/plugins/marketplace.ts index 05783e8e8..42c73c0ec 100644 --- a/packages/contracts/src/plugins/marketplace.ts +++ b/packages/contracts/src/plugins/marketplace.ts @@ -1,4 +1,8 @@ import { z } from 'zod'; +import { + OPEN_DESIGN_PLUGIN_SPEC_VERSION, + OpenDesignSpecVersionSchema, +} from './manifest.js'; // `open-design-marketplace.json` schema (v1). Mirrors // `docs/schemas/open-design.marketplace.v1.json`. The federated catalog @@ -7,7 +11,7 @@ import { z } from 'zod'; export const MarketplacePluginEntrySchema = z.object({ name: z.string().min(1), source: z.string().min(1), - version: z.string().optional(), + version: z.string().min(1), ref: z.string().optional(), tags: z.array(z.string()).optional(), title: z.string().optional(), @@ -18,8 +22,10 @@ export const MarketplacePluginEntrySchema = z.object({ export type MarketplacePluginEntry = z.infer; export const MarketplaceManifestSchema = z.object({ - $schema: z.string().optional(), - name: z.string().min(1), + $schema: z.string().optional(), + specVersion: OpenDesignSpecVersionSchema.default(OPEN_DESIGN_PLUGIN_SPEC_VERSION), + name: z.string().min(1), + version: z.string().min(1), owner: z.object({ name: z.string().optional(), url: z.string().optional(), diff --git a/packages/contracts/tests/plugins-manifest.test.ts b/packages/contracts/tests/plugins-manifest.test.ts index a5b0eb0d0..07dce9e9f 100644 --- a/packages/contracts/tests/plugins-manifest.test.ts +++ b/packages/contracts/tests/plugins-manifest.test.ts @@ -1,10 +1,15 @@ import { describe, expect, it } from 'vitest'; import { + OPEN_DESIGN_PLUGIN_SPEC_VERSION, PluginManifestSchema, resolveLocalizedText, } from '../src/plugins/manifest.js'; describe('plugin manifest localized text', () => { + it('exports the current plugin spec version for manifests and registries', () => { + expect(OPEN_DESIGN_PLUGIN_SPEC_VERSION).toBe('1.0.0'); + }); + it('accepts legacy string use-case queries', () => { const manifest = PluginManifestSchema.parse({ name: 'sample-plugin', diff --git a/packages/plugin-runtime/src/adapters/agent-skill.ts b/packages/plugin-runtime/src/adapters/agent-skill.ts index 18b0567ad..8cadba6cf 100644 --- a/packages/plugin-runtime/src/adapters/agent-skill.ts +++ b/packages/plugin-runtime/src/adapters/agent-skill.ts @@ -1,6 +1,7 @@ -import type { - InputField, - PluginManifest, +import { + OPEN_DESIGN_PLUGIN_SPEC_VERSION, + type InputField, + type PluginManifest, } from '@open-design/contracts'; import { parseFrontmatter, type FrontmatterObject, type FrontmatterValue } from '../parsers/frontmatter.js'; @@ -79,6 +80,7 @@ export function adaptAgentSkill( : undefined; const manifest: PluginManifest = { + specVersion: OPEN_DESIGN_PLUGIN_SPEC_VERSION, name, title, version, diff --git a/packages/plugin-runtime/src/adapters/claude-plugin.ts b/packages/plugin-runtime/src/adapters/claude-plugin.ts index b61d594d2..f2e3461d2 100644 --- a/packages/plugin-runtime/src/adapters/claude-plugin.ts +++ b/packages/plugin-runtime/src/adapters/claude-plugin.ts @@ -1,4 +1,7 @@ -import type { PluginManifest } from '@open-design/contracts'; +import { + OPEN_DESIGN_PLUGIN_SPEC_VERSION, + type PluginManifest, +} from '@open-design/contracts'; // Adapter from a `.claude-plugin/plugin.json` file to a synthesized // PluginManifest. Phase 1 keeps the mapping minimal — name / version / @@ -54,6 +57,7 @@ export function adaptClaudePlugin( warnings.push(`claude-plugin declares ${commands} command(s); v1 OD apply does not auto-register hooks. Add them via od.context.claudePlugins[].`); } const manifest: PluginManifest = { + specVersion: OPEN_DESIGN_PLUGIN_SPEC_VERSION, name: safeName, title: typeof obj['title'] === 'string' ? obj['title'] : safeName, version, @@ -69,6 +73,7 @@ export function adaptClaudePlugin( function synthesizeFallback(folderId: string, compatPath: string): PluginManifest { return { + specVersion: OPEN_DESIGN_PLUGIN_SPEC_VERSION, name: folderId, title: folderId, version: '0.0.0', diff --git a/packages/plugin-runtime/src/parsers/manifest.ts b/packages/plugin-runtime/src/parsers/manifest.ts index 4e56fa18c..86f4cf0c0 100644 --- a/packages/plugin-runtime/src/parsers/manifest.ts +++ b/packages/plugin-runtime/src/parsers/manifest.ts @@ -1,4 +1,8 @@ -import { PluginManifestSchema, type PluginManifest } from '@open-design/contracts'; +import { + OPEN_DESIGN_PLUGIN_SPEC_VERSION, + PluginManifestSchema, + type PluginManifest, +} from '@open-design/contracts'; export interface ManifestParseSuccess { ok: true; @@ -41,5 +45,12 @@ export function parseManifestObject(value: unknown): ManifestParseResult { errors: result.error.issues.map((issue) => `${issue.path.join('.') || ''}: ${issue.message}`), }; } - return { ok: true, manifest: result.data, warnings: [] }; + return { + ok: true, + manifest: { + specVersion: OPEN_DESIGN_PLUGIN_SPEC_VERSION, + ...result.data, + }, + warnings: [], + }; } diff --git a/packages/plugin-runtime/tests/parsers.test.ts b/packages/plugin-runtime/tests/parsers.test.ts index fcb9bd1a1..a3f74df24 100644 --- a/packages/plugin-runtime/tests/parsers.test.ts +++ b/packages/plugin-runtime/tests/parsers.test.ts @@ -57,14 +57,33 @@ describe('parseManifest', () => { describe('parseMarketplace', () => { it('accepts a tiny catalog', () => { const result = parseMarketplace(JSON.stringify({ + specVersion: '1.0.0', name: 'open-design-official', - plugins: [{ name: 'make-a-deck', source: 'github:open-design/plugins/make-a-deck' }], + version: '1.0.0', + plugins: [{ name: 'make-a-deck', source: 'github:open-design/plugins/make-a-deck', version: '0.1.0' }], })); expect(result.ok).toBe(true); }); + it('rejects when catalog version is missing', () => { + const result = parseMarketplace(JSON.stringify({ + name: 'no-version', + plugins: [{ name: 'make-a-deck', source: 'github:open-design/plugins/make-a-deck', version: '0.1.0' }], + })); + expect(result.ok).toBe(false); + }); + + it('rejects when plugin entry version is missing', () => { + const result = parseMarketplace(JSON.stringify({ + name: 'missing-plugin-version', + version: '1.0.0', + plugins: [{ name: 'make-a-deck', source: 'github:open-design/plugins/make-a-deck' }], + })); + expect(result.ok).toBe(false); + }); + it('rejects when plugins is missing', () => { - const result = parseMarketplace(JSON.stringify({ name: 'no-plugins' })); + const result = parseMarketplace(JSON.stringify({ name: 'no-plugins', version: '1.0.0' })); expect(result.ok).toBe(false); }); }); diff --git a/plugins/README.md b/plugins/README.md index 38064d22b..bf215f5b5 100644 --- a/plugins/README.md +++ b/plugins/README.md @@ -7,7 +7,7 @@ This directory has two different jobs: - `_official/` - first-party plugins bundled with Open Design. The daemon scans this tree at startup and registers these plugins as official. - `spec/` - the portable plugin specification, templates, examples, and agent handoff kit for building, testing, publishing, or opening a PR back to Open Design. -The common contract is the same everywhere: a plugin is a portable agent skill folder with a `SKILL.md`, plus an optional `open-design.json` sidecar that gives Open Design marketplace metadata, inputs, previews, pipelines, and trust/capability hints. +The common contract is the same everywhere: a plugin is a portable agent skill folder with a `SKILL.md`, plus an optional versioned `open-design.json` sidecar that gives Open Design marketplace metadata, inputs, previews, pipelines, and trust/capability hints. Start here: @@ -17,3 +17,4 @@ Start here: - Registry publishing strategy: [`spec/PUBLISHING-REGISTRIES.md`](spec/PUBLISHING-REGISTRIES.md) - Full product spec: [`../docs/plugins-spec.md`](../docs/plugins-spec.md) - Manifest schema: [`../docs/schemas/open-design.plugin.v1.json`](../docs/schemas/open-design.plugin.v1.json) +- Marketplace schema: [`../docs/schemas/open-design.marketplace.v1.json`](../docs/schemas/open-design.marketplace.v1.json) diff --git a/plugins/README.zh-CN.md b/plugins/README.zh-CN.md index bf64e2bc4..501d008f3 100644 --- a/plugins/README.zh-CN.md +++ b/plugins/README.zh-CN.md @@ -7,7 +7,7 @@ - `_official/` - Open Design 随包发布的一方插件。daemon 启动时会扫描这个目录,并把这些插件注册为 official。 - `spec/` - 可移植插件规范、模板、示例和 agent handoff 包,用于构建、测试、发布插件,或向 Open Design 提交 PR。 -所有插件共享同一个基础契约:插件是一个可移植的 agent skill 文件夹,包含 `SKILL.md`,并可选添加 `open-design.json` sidecar。`open-design.json` 负责 Open Design marketplace 元数据、输入项、预览、pipeline、信任与能力声明。 +所有插件共享同一个基础契约:插件是一个可移植的 agent skill 文件夹,包含 `SKILL.md`,并可选添加带版本的 `open-design.json` sidecar。`open-design.json` 负责 Open Design marketplace 元数据、输入项、预览、pipeline、信任与能力声明。 从这里开始: @@ -17,3 +17,4 @@ - Registry 发布策略:[`spec/PUBLISHING-REGISTRIES.zh-CN.md`](spec/PUBLISHING-REGISTRIES.zh-CN.md) - 完整产品 spec:[`../docs/plugins-spec.zh-CN.md`](../docs/plugins-spec.zh-CN.md) - Manifest schema:[`../docs/schemas/open-design.plugin.v1.json`](../docs/schemas/open-design.plugin.v1.json) +- Marketplace schema:[`../docs/schemas/open-design.marketplace.v1.json`](../docs/schemas/open-design.marketplace.v1.json) diff --git a/plugins/_official/atoms/build-test/open-design.json b/plugins/_official/atoms/build-test/open-design.json index f51aab40a..0fdd367e6 100644 --- a/plugins/_official/atoms/build-test/open-design.json +++ b/plugins/_official/atoms/build-test/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "build-test", "title": "Build test", "version": "0.1.0", diff --git a/plugins/_official/atoms/code-import/open-design.json b/plugins/_official/atoms/code-import/open-design.json index daa388cca..f6de5db58 100644 --- a/plugins/_official/atoms/code-import/open-design.json +++ b/plugins/_official/atoms/code-import/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "code-import", "title": "Code import", "version": "0.1.0", diff --git a/plugins/_official/atoms/critique-theater/open-design.json b/plugins/_official/atoms/critique-theater/open-design.json index eee7310de..8b3b435b6 100644 --- a/plugins/_official/atoms/critique-theater/open-design.json +++ b/plugins/_official/atoms/critique-theater/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "critique-theater", "title": "Critique theater", "version": "0.1.0", diff --git a/plugins/_official/atoms/design-extract/open-design.json b/plugins/_official/atoms/design-extract/open-design.json index b2a981f5c..d982a3f6f 100644 --- a/plugins/_official/atoms/design-extract/open-design.json +++ b/plugins/_official/atoms/design-extract/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-extract", "title": "Design extract", "version": "0.1.0", diff --git a/plugins/_official/atoms/diff-review/open-design.json b/plugins/_official/atoms/diff-review/open-design.json index 049810246..5ca766bc7 100644 --- a/plugins/_official/atoms/diff-review/open-design.json +++ b/plugins/_official/atoms/diff-review/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "diff-review", "title": "Diff review", "version": "0.1.0", diff --git a/plugins/_official/atoms/direction-picker/open-design.json b/plugins/_official/atoms/direction-picker/open-design.json index 9d50080ba..cc926b400 100644 --- a/plugins/_official/atoms/direction-picker/open-design.json +++ b/plugins/_official/atoms/direction-picker/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "direction-picker", "title": "Direction picker", "version": "0.1.0", diff --git a/plugins/_official/atoms/discovery-question-form/open-design.json b/plugins/_official/atoms/discovery-question-form/open-design.json index 90e23a5a7..11af080d9 100644 --- a/plugins/_official/atoms/discovery-question-form/open-design.json +++ b/plugins/_official/atoms/discovery-question-form/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "discovery-question-form", "title": "Discovery question form", "version": "0.1.0", diff --git a/plugins/_official/atoms/figma-extract/open-design.json b/plugins/_official/atoms/figma-extract/open-design.json index d556b4121..4ccbdd876 100644 --- a/plugins/_official/atoms/figma-extract/open-design.json +++ b/plugins/_official/atoms/figma-extract/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "figma-extract", "title": "Figma extract", "version": "0.1.0", diff --git a/plugins/_official/atoms/handoff/open-design.json b/plugins/_official/atoms/handoff/open-design.json index c42afec83..f129002a5 100644 --- a/plugins/_official/atoms/handoff/open-design.json +++ b/plugins/_official/atoms/handoff/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "handoff", "title": "Handoff", "version": "0.1.0", diff --git a/plugins/_official/atoms/patch-edit/open-design.json b/plugins/_official/atoms/patch-edit/open-design.json index c16f84ad3..344029020 100644 --- a/plugins/_official/atoms/patch-edit/open-design.json +++ b/plugins/_official/atoms/patch-edit/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "patch-edit", "title": "Patch edit", "version": "0.1.0", diff --git a/plugins/_official/atoms/rewrite-plan/open-design.json b/plugins/_official/atoms/rewrite-plan/open-design.json index 5a9c20b9f..e7cbd5972 100644 --- a/plugins/_official/atoms/rewrite-plan/open-design.json +++ b/plugins/_official/atoms/rewrite-plan/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "rewrite-plan", "title": "Rewrite plan", "version": "0.1.0", diff --git a/plugins/_official/atoms/todo-write/open-design.json b/plugins/_official/atoms/todo-write/open-design.json index 022b40131..e046b37e8 100644 --- a/plugins/_official/atoms/todo-write/open-design.json +++ b/plugins/_official/atoms/todo-write/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "todo-write", "title": "Todo write", "version": "0.1.0", diff --git a/plugins/_official/atoms/token-map/open-design.json b/plugins/_official/atoms/token-map/open-design.json index 82787f14e..4e5105f0c 100644 --- a/plugins/_official/atoms/token-map/open-design.json +++ b/plugins/_official/atoms/token-map/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "token-map", "title": "Token map", "version": "0.1.0", diff --git a/plugins/_official/design-systems/agentic/open-design.json b/plugins/_official/design-systems/agentic/open-design.json index 9daf38817..103a158c8 100644 --- a/plugins/_official/design-systems/agentic/open-design.json +++ b/plugins/_official/design-systems/agentic/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-agentic", "title": "Agentic", "version": "0.1.0", diff --git a/plugins/_official/design-systems/airbnb/open-design.json b/plugins/_official/design-systems/airbnb/open-design.json index 7fa86c5b0..f1765f707 100644 --- a/plugins/_official/design-systems/airbnb/open-design.json +++ b/plugins/_official/design-systems/airbnb/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-airbnb", "title": "Airbnb", "version": "0.1.0", diff --git a/plugins/_official/design-systems/airtable/open-design.json b/plugins/_official/design-systems/airtable/open-design.json index dc68aa64e..d923ffabd 100644 --- a/plugins/_official/design-systems/airtable/open-design.json +++ b/plugins/_official/design-systems/airtable/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-airtable", "title": "Airtable", "version": "0.1.0", diff --git a/plugins/_official/design-systems/ant/open-design.json b/plugins/_official/design-systems/ant/open-design.json index d94ca6c13..49ec6e9e3 100644 --- a/plugins/_official/design-systems/ant/open-design.json +++ b/plugins/_official/design-systems/ant/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-ant", "title": "Ant", "version": "0.1.0", diff --git a/plugins/_official/design-systems/apple/open-design.json b/plugins/_official/design-systems/apple/open-design.json index 7ee2a8309..a772062e0 100644 --- a/plugins/_official/design-systems/apple/open-design.json +++ b/plugins/_official/design-systems/apple/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-apple", "title": "Apple", "version": "0.1.0", diff --git a/plugins/_official/design-systems/application/open-design.json b/plugins/_official/design-systems/application/open-design.json index c1f8fa2cf..35cf7781d 100644 --- a/plugins/_official/design-systems/application/open-design.json +++ b/plugins/_official/design-systems/application/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-application", "title": "Application", "version": "0.1.0", diff --git a/plugins/_official/design-systems/arc/open-design.json b/plugins/_official/design-systems/arc/open-design.json index 5dacec559..f9d149c3d 100644 --- a/plugins/_official/design-systems/arc/open-design.json +++ b/plugins/_official/design-systems/arc/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-arc", "title": "Arc Browser", "version": "0.1.0", diff --git a/plugins/_official/design-systems/artistic/open-design.json b/plugins/_official/design-systems/artistic/open-design.json index e5c78c3b7..cdc6aeb9a 100644 --- a/plugins/_official/design-systems/artistic/open-design.json +++ b/plugins/_official/design-systems/artistic/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-artistic", "title": "Artistic", "version": "0.1.0", diff --git a/plugins/_official/design-systems/atelier-zero/open-design.json b/plugins/_official/design-systems/atelier-zero/open-design.json index 1a4416cc1..bd192dd17 100644 --- a/plugins/_official/design-systems/atelier-zero/open-design.json +++ b/plugins/_official/design-systems/atelier-zero/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-atelier-zero", "title": "Atelier Zero", "version": "0.1.0", diff --git a/plugins/_official/design-systems/bento/open-design.json b/plugins/_official/design-systems/bento/open-design.json index 1343f4d6d..5aea6e70c 100644 --- a/plugins/_official/design-systems/bento/open-design.json +++ b/plugins/_official/design-systems/bento/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-bento", "title": "Bento", "version": "0.1.0", diff --git a/plugins/_official/design-systems/binance/open-design.json b/plugins/_official/design-systems/binance/open-design.json index 88ecd9757..76954b605 100644 --- a/plugins/_official/design-systems/binance/open-design.json +++ b/plugins/_official/design-systems/binance/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-binance", "title": "Binance.US", "version": "0.1.0", diff --git a/plugins/_official/design-systems/bmw-m/open-design.json b/plugins/_official/design-systems/bmw-m/open-design.json index 47bae8a5c..9d3b8e82c 100644 --- a/plugins/_official/design-systems/bmw-m/open-design.json +++ b/plugins/_official/design-systems/bmw-m/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-bmw-m", "title": "BMW M", "version": "0.1.0", diff --git a/plugins/_official/design-systems/bmw/open-design.json b/plugins/_official/design-systems/bmw/open-design.json index 65f40e130..3138b2a90 100644 --- a/plugins/_official/design-systems/bmw/open-design.json +++ b/plugins/_official/design-systems/bmw/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-bmw", "title": "BMW", "version": "0.1.0", diff --git a/plugins/_official/design-systems/bold/open-design.json b/plugins/_official/design-systems/bold/open-design.json index bb5d3fa69..62c6a7aa4 100644 --- a/plugins/_official/design-systems/bold/open-design.json +++ b/plugins/_official/design-systems/bold/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-bold", "title": "Bold", "version": "0.1.0", diff --git a/plugins/_official/design-systems/brutalism/open-design.json b/plugins/_official/design-systems/brutalism/open-design.json index daf0a4e27..28f95de31 100644 --- a/plugins/_official/design-systems/brutalism/open-design.json +++ b/plugins/_official/design-systems/brutalism/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-brutalism", "title": "Brutalism", "version": "0.1.0", diff --git a/plugins/_official/design-systems/bugatti/open-design.json b/plugins/_official/design-systems/bugatti/open-design.json index fd3eed5c9..a57c681e8 100644 --- a/plugins/_official/design-systems/bugatti/open-design.json +++ b/plugins/_official/design-systems/bugatti/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-bugatti", "title": "Bugatti", "version": "0.1.0", diff --git a/plugins/_official/design-systems/cafe/open-design.json b/plugins/_official/design-systems/cafe/open-design.json index 85bf3858f..7cf1b000a 100644 --- a/plugins/_official/design-systems/cafe/open-design.json +++ b/plugins/_official/design-systems/cafe/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-cafe", "title": "Cafe", "version": "0.1.0", diff --git a/plugins/_official/design-systems/cal/open-design.json b/plugins/_official/design-systems/cal/open-design.json index 7d20966f5..202437a39 100644 --- a/plugins/_official/design-systems/cal/open-design.json +++ b/plugins/_official/design-systems/cal/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-cal", "title": "Cal.com", "version": "0.1.0", diff --git a/plugins/_official/design-systems/canva/open-design.json b/plugins/_official/design-systems/canva/open-design.json index 6d39cf400..581419eed 100644 --- a/plugins/_official/design-systems/canva/open-design.json +++ b/plugins/_official/design-systems/canva/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-canva", "title": "Canva", "version": "0.1.0", diff --git a/plugins/_official/design-systems/claude/open-design.json b/plugins/_official/design-systems/claude/open-design.json index 913de5ef4..89aa9899b 100644 --- a/plugins/_official/design-systems/claude/open-design.json +++ b/plugins/_official/design-systems/claude/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-claude", "title": "Claude (Anthropic)", "version": "0.1.0", diff --git a/plugins/_official/design-systems/clay/open-design.json b/plugins/_official/design-systems/clay/open-design.json index b14a377c2..eaeb5f207 100644 --- a/plugins/_official/design-systems/clay/open-design.json +++ b/plugins/_official/design-systems/clay/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-clay", "title": "Clay", "version": "0.1.0", diff --git a/plugins/_official/design-systems/claymorphism/open-design.json b/plugins/_official/design-systems/claymorphism/open-design.json index 8b22fd1d3..567c8ddc0 100644 --- a/plugins/_official/design-systems/claymorphism/open-design.json +++ b/plugins/_official/design-systems/claymorphism/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-claymorphism", "title": "Claymorphism", "version": "0.1.0", diff --git a/plugins/_official/design-systems/clean/open-design.json b/plugins/_official/design-systems/clean/open-design.json index 2dcc4db15..2c17636ac 100644 --- a/plugins/_official/design-systems/clean/open-design.json +++ b/plugins/_official/design-systems/clean/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-clean", "title": "Clean", "version": "0.1.0", diff --git a/plugins/_official/design-systems/clickhouse/open-design.json b/plugins/_official/design-systems/clickhouse/open-design.json index 1cbd75f2a..d0214871e 100644 --- a/plugins/_official/design-systems/clickhouse/open-design.json +++ b/plugins/_official/design-systems/clickhouse/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-clickhouse", "title": "ClickHouse", "version": "0.1.0", diff --git a/plugins/_official/design-systems/cohere/open-design.json b/plugins/_official/design-systems/cohere/open-design.json index 8d1fa5f81..0ec1beb37 100644 --- a/plugins/_official/design-systems/cohere/open-design.json +++ b/plugins/_official/design-systems/cohere/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-cohere", "title": "Cohere", "version": "0.1.0", diff --git a/plugins/_official/design-systems/coinbase/open-design.json b/plugins/_official/design-systems/coinbase/open-design.json index bc4f83f68..23e7d966d 100644 --- a/plugins/_official/design-systems/coinbase/open-design.json +++ b/plugins/_official/design-systems/coinbase/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-coinbase", "title": "Coinbase", "version": "0.1.0", diff --git a/plugins/_official/design-systems/colorful/open-design.json b/plugins/_official/design-systems/colorful/open-design.json index 555c65989..51dcb6d69 100644 --- a/plugins/_official/design-systems/colorful/open-design.json +++ b/plugins/_official/design-systems/colorful/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-colorful", "title": "Colorful", "version": "0.1.0", diff --git a/plugins/_official/design-systems/composio/open-design.json b/plugins/_official/design-systems/composio/open-design.json index 2de545881..d74d030f7 100644 --- a/plugins/_official/design-systems/composio/open-design.json +++ b/plugins/_official/design-systems/composio/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-composio", "title": "Composio", "version": "0.1.0", diff --git a/plugins/_official/design-systems/contemporary/open-design.json b/plugins/_official/design-systems/contemporary/open-design.json index 9878be055..47074b608 100644 --- a/plugins/_official/design-systems/contemporary/open-design.json +++ b/plugins/_official/design-systems/contemporary/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-contemporary", "title": "Contemporary", "version": "0.1.0", diff --git a/plugins/_official/design-systems/corporate/open-design.json b/plugins/_official/design-systems/corporate/open-design.json index eba02c520..3bb0928b6 100644 --- a/plugins/_official/design-systems/corporate/open-design.json +++ b/plugins/_official/design-systems/corporate/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-corporate", "title": "Corporate", "version": "0.1.0", diff --git a/plugins/_official/design-systems/cosmic/open-design.json b/plugins/_official/design-systems/cosmic/open-design.json index 6c0ff51b4..bacd83ef2 100644 --- a/plugins/_official/design-systems/cosmic/open-design.json +++ b/plugins/_official/design-systems/cosmic/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-cosmic", "title": "Cosmic", "version": "0.1.0", diff --git a/plugins/_official/design-systems/creative/open-design.json b/plugins/_official/design-systems/creative/open-design.json index fb07b1b91..d50bad0c5 100644 --- a/plugins/_official/design-systems/creative/open-design.json +++ b/plugins/_official/design-systems/creative/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-creative", "title": "Creative", "version": "0.1.0", diff --git a/plugins/_official/design-systems/cursor/open-design.json b/plugins/_official/design-systems/cursor/open-design.json index f185091dd..2b04a990e 100644 --- a/plugins/_official/design-systems/cursor/open-design.json +++ b/plugins/_official/design-systems/cursor/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-cursor", "title": "Cursor", "version": "0.1.0", diff --git a/plugins/_official/design-systems/dashboard/open-design.json b/plugins/_official/design-systems/dashboard/open-design.json index 4cc04b3c1..6f6de3aae 100644 --- a/plugins/_official/design-systems/dashboard/open-design.json +++ b/plugins/_official/design-systems/dashboard/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-dashboard", "title": "Dashboard", "version": "0.1.0", diff --git a/plugins/_official/design-systems/default/open-design.json b/plugins/_official/design-systems/default/open-design.json index c07662a1e..d385a6d25 100644 --- a/plugins/_official/design-systems/default/open-design.json +++ b/plugins/_official/design-systems/default/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-default", "title": "Neutral Modern", "version": "0.1.0", diff --git a/plugins/_official/design-systems/discord/open-design.json b/plugins/_official/design-systems/discord/open-design.json index 0e7011493..73a73d78c 100644 --- a/plugins/_official/design-systems/discord/open-design.json +++ b/plugins/_official/design-systems/discord/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-discord", "title": "Discord", "version": "0.1.0", diff --git a/plugins/_official/design-systems/dithered/open-design.json b/plugins/_official/design-systems/dithered/open-design.json index 8773869ae..919e7a32b 100644 --- a/plugins/_official/design-systems/dithered/open-design.json +++ b/plugins/_official/design-systems/dithered/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-dithered", "title": "Dithered", "version": "0.1.0", diff --git a/plugins/_official/design-systems/doodle/open-design.json b/plugins/_official/design-systems/doodle/open-design.json index 84de11769..1c97dd12f 100644 --- a/plugins/_official/design-systems/doodle/open-design.json +++ b/plugins/_official/design-systems/doodle/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-doodle", "title": "Doodle", "version": "0.1.0", diff --git a/plugins/_official/design-systems/dramatic/open-design.json b/plugins/_official/design-systems/dramatic/open-design.json index 25277c8c1..bc8a9a220 100644 --- a/plugins/_official/design-systems/dramatic/open-design.json +++ b/plugins/_official/design-systems/dramatic/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-dramatic", "title": "Dramatic", "version": "0.1.0", diff --git a/plugins/_official/design-systems/duolingo/open-design.json b/plugins/_official/design-systems/duolingo/open-design.json index 8c9226783..413a25285 100644 --- a/plugins/_official/design-systems/duolingo/open-design.json +++ b/plugins/_official/design-systems/duolingo/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-duolingo", "title": "Duolingo", "version": "0.1.0", diff --git a/plugins/_official/design-systems/editorial/open-design.json b/plugins/_official/design-systems/editorial/open-design.json index b3407a1cc..e6ee70843 100644 --- a/plugins/_official/design-systems/editorial/open-design.json +++ b/plugins/_official/design-systems/editorial/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-editorial", "title": "Editorial", "version": "0.1.0", diff --git a/plugins/_official/design-systems/elegant/open-design.json b/plugins/_official/design-systems/elegant/open-design.json index af98ce8a4..9e8bba68c 100644 --- a/plugins/_official/design-systems/elegant/open-design.json +++ b/plugins/_official/design-systems/elegant/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-elegant", "title": "Elegant", "version": "0.1.0", diff --git a/plugins/_official/design-systems/elevenlabs/open-design.json b/plugins/_official/design-systems/elevenlabs/open-design.json index 19418c866..06670acee 100644 --- a/plugins/_official/design-systems/elevenlabs/open-design.json +++ b/plugins/_official/design-systems/elevenlabs/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-elevenlabs", "title": "ElevenLabs", "version": "0.1.0", diff --git a/plugins/_official/design-systems/energetic/open-design.json b/plugins/_official/design-systems/energetic/open-design.json index 740b05806..5976457ab 100644 --- a/plugins/_official/design-systems/energetic/open-design.json +++ b/plugins/_official/design-systems/energetic/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-energetic", "title": "Energetic", "version": "0.1.0", diff --git a/plugins/_official/design-systems/enterprise/open-design.json b/plugins/_official/design-systems/enterprise/open-design.json index 8fb3e8562..ad1772a72 100644 --- a/plugins/_official/design-systems/enterprise/open-design.json +++ b/plugins/_official/design-systems/enterprise/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-enterprise", "title": "Enterprise", "version": "0.1.0", diff --git a/plugins/_official/design-systems/expo/open-design.json b/plugins/_official/design-systems/expo/open-design.json index 1937a646e..eb5c2c977 100644 --- a/plugins/_official/design-systems/expo/open-design.json +++ b/plugins/_official/design-systems/expo/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-expo", "title": "Expo", "version": "0.1.0", diff --git a/plugins/_official/design-systems/expressive/open-design.json b/plugins/_official/design-systems/expressive/open-design.json index 175baed3d..8c94f7334 100644 --- a/plugins/_official/design-systems/expressive/open-design.json +++ b/plugins/_official/design-systems/expressive/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-expressive", "title": "Expressive", "version": "0.1.0", diff --git a/plugins/_official/design-systems/fantasy/open-design.json b/plugins/_official/design-systems/fantasy/open-design.json index 9f6a0a9f6..1d4bbde96 100644 --- a/plugins/_official/design-systems/fantasy/open-design.json +++ b/plugins/_official/design-systems/fantasy/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-fantasy", "title": "Fantasy", "version": "0.1.0", diff --git a/plugins/_official/design-systems/ferrari/open-design.json b/plugins/_official/design-systems/ferrari/open-design.json index 5106f05ee..72e3a2722 100644 --- a/plugins/_official/design-systems/ferrari/open-design.json +++ b/plugins/_official/design-systems/ferrari/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-ferrari", "title": "Ferrari", "version": "0.1.0", diff --git a/plugins/_official/design-systems/figma/open-design.json b/plugins/_official/design-systems/figma/open-design.json index 1ff621c9a..c142ebf52 100644 --- a/plugins/_official/design-systems/figma/open-design.json +++ b/plugins/_official/design-systems/figma/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-figma", "title": "Figma", "version": "0.1.0", diff --git a/plugins/_official/design-systems/flat/open-design.json b/plugins/_official/design-systems/flat/open-design.json index 830524a9b..655f063fa 100644 --- a/plugins/_official/design-systems/flat/open-design.json +++ b/plugins/_official/design-systems/flat/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-flat", "title": "Flat", "version": "0.1.0", diff --git a/plugins/_official/design-systems/framer/open-design.json b/plugins/_official/design-systems/framer/open-design.json index 26ef12685..e2f7b0181 100644 --- a/plugins/_official/design-systems/framer/open-design.json +++ b/plugins/_official/design-systems/framer/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-framer", "title": "Framer", "version": "0.1.0", diff --git a/plugins/_official/design-systems/friendly/open-design.json b/plugins/_official/design-systems/friendly/open-design.json index a0cf599f1..eede4d6f9 100644 --- a/plugins/_official/design-systems/friendly/open-design.json +++ b/plugins/_official/design-systems/friendly/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-friendly", "title": "Friendly", "version": "0.1.0", diff --git a/plugins/_official/design-systems/futuristic/open-design.json b/plugins/_official/design-systems/futuristic/open-design.json index e18965e93..f7b4e5e3b 100644 --- a/plugins/_official/design-systems/futuristic/open-design.json +++ b/plugins/_official/design-systems/futuristic/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-futuristic", "title": "Futuristic", "version": "0.1.0", diff --git a/plugins/_official/design-systems/github/open-design.json b/plugins/_official/design-systems/github/open-design.json index a62b2e62a..a4f74740a 100644 --- a/plugins/_official/design-systems/github/open-design.json +++ b/plugins/_official/design-systems/github/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-github", "title": "GitHub", "version": "0.1.0", diff --git a/plugins/_official/design-systems/glassmorphism/open-design.json b/plugins/_official/design-systems/glassmorphism/open-design.json index dfe113c2e..bb4af2663 100644 --- a/plugins/_official/design-systems/glassmorphism/open-design.json +++ b/plugins/_official/design-systems/glassmorphism/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-glassmorphism", "title": "Glassmorphism", "version": "0.1.0", diff --git a/plugins/_official/design-systems/gradient/open-design.json b/plugins/_official/design-systems/gradient/open-design.json index 5f0d00c9a..954f56af8 100644 --- a/plugins/_official/design-systems/gradient/open-design.json +++ b/plugins/_official/design-systems/gradient/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-gradient", "title": "Gradient", "version": "0.1.0", diff --git a/plugins/_official/design-systems/hashicorp/open-design.json b/plugins/_official/design-systems/hashicorp/open-design.json index e0b5c6e44..8fae7d946 100644 --- a/plugins/_official/design-systems/hashicorp/open-design.json +++ b/plugins/_official/design-systems/hashicorp/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-hashicorp", "title": "HashiCorp", "version": "0.1.0", diff --git a/plugins/_official/design-systems/huggingface/open-design.json b/plugins/_official/design-systems/huggingface/open-design.json index 553a23040..dec83ee75 100644 --- a/plugins/_official/design-systems/huggingface/open-design.json +++ b/plugins/_official/design-systems/huggingface/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-huggingface", "title": "Hugging Face", "version": "0.1.0", diff --git a/plugins/_official/design-systems/ibm/open-design.json b/plugins/_official/design-systems/ibm/open-design.json index 51d21ddf1..a14062aae 100644 --- a/plugins/_official/design-systems/ibm/open-design.json +++ b/plugins/_official/design-systems/ibm/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-ibm", "title": "IBM", "version": "0.1.0", diff --git a/plugins/_official/design-systems/intercom/open-design.json b/plugins/_official/design-systems/intercom/open-design.json index b08ebabbd..0189a0dac 100644 --- a/plugins/_official/design-systems/intercom/open-design.json +++ b/plugins/_official/design-systems/intercom/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-intercom", "title": "Intercom", "version": "0.1.0", diff --git a/plugins/_official/design-systems/kami/open-design.json b/plugins/_official/design-systems/kami/open-design.json index e14fb54dd..d817da839 100644 --- a/plugins/_official/design-systems/kami/open-design.json +++ b/plugins/_official/design-systems/kami/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-kami", "title": "kami (紙 / 纸)", "version": "0.1.0", diff --git a/plugins/_official/design-systems/kraken/open-design.json b/plugins/_official/design-systems/kraken/open-design.json index 615801c44..09edce9b0 100644 --- a/plugins/_official/design-systems/kraken/open-design.json +++ b/plugins/_official/design-systems/kraken/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-kraken", "title": "Kraken", "version": "0.1.0", diff --git a/plugins/_official/design-systems/lamborghini/open-design.json b/plugins/_official/design-systems/lamborghini/open-design.json index a0a9a66bc..9918a2a52 100644 --- a/plugins/_official/design-systems/lamborghini/open-design.json +++ b/plugins/_official/design-systems/lamborghini/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-lamborghini", "title": "Lamborghini", "version": "0.1.0", diff --git a/plugins/_official/design-systems/levels/open-design.json b/plugins/_official/design-systems/levels/open-design.json index 73b74c61e..14028a4d7 100644 --- a/plugins/_official/design-systems/levels/open-design.json +++ b/plugins/_official/design-systems/levels/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-levels", "title": "Levels", "version": "0.1.0", diff --git a/plugins/_official/design-systems/linear-app/open-design.json b/plugins/_official/design-systems/linear-app/open-design.json index a8e344086..245c01d38 100644 --- a/plugins/_official/design-systems/linear-app/open-design.json +++ b/plugins/_official/design-systems/linear-app/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-linear-app", "title": "Linear", "version": "0.1.0", diff --git a/plugins/_official/design-systems/lingo/open-design.json b/plugins/_official/design-systems/lingo/open-design.json index bbc7c5dac..610fc7a2d 100644 --- a/plugins/_official/design-systems/lingo/open-design.json +++ b/plugins/_official/design-systems/lingo/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-lingo", "title": "Lingo", "version": "0.1.0", diff --git a/plugins/_official/design-systems/lovable/open-design.json b/plugins/_official/design-systems/lovable/open-design.json index aea717b84..ece2ee9da 100644 --- a/plugins/_official/design-systems/lovable/open-design.json +++ b/plugins/_official/design-systems/lovable/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-lovable", "title": "Lovable", "version": "0.1.0", diff --git a/plugins/_official/design-systems/luxury/open-design.json b/plugins/_official/design-systems/luxury/open-design.json index df2d21983..2cece6d59 100644 --- a/plugins/_official/design-systems/luxury/open-design.json +++ b/plugins/_official/design-systems/luxury/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-luxury", "title": "Luxury", "version": "0.1.0", diff --git a/plugins/_official/design-systems/mastercard/open-design.json b/plugins/_official/design-systems/mastercard/open-design.json index a8b0b0027..27854de68 100644 --- a/plugins/_official/design-systems/mastercard/open-design.json +++ b/plugins/_official/design-systems/mastercard/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-mastercard", "title": "Mastercard", "version": "0.1.0", diff --git a/plugins/_official/design-systems/material/open-design.json b/plugins/_official/design-systems/material/open-design.json index 5a5fd6827..0bc173261 100644 --- a/plugins/_official/design-systems/material/open-design.json +++ b/plugins/_official/design-systems/material/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-material", "title": "Material", "version": "0.1.0", diff --git a/plugins/_official/design-systems/meta/open-design.json b/plugins/_official/design-systems/meta/open-design.json index b4a5d7397..6ae8aa9ae 100644 --- a/plugins/_official/design-systems/meta/open-design.json +++ b/plugins/_official/design-systems/meta/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-meta", "title": "Meta (Store)", "version": "0.1.0", diff --git a/plugins/_official/design-systems/minimal/open-design.json b/plugins/_official/design-systems/minimal/open-design.json index bc6161177..9a3343bd5 100644 --- a/plugins/_official/design-systems/minimal/open-design.json +++ b/plugins/_official/design-systems/minimal/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-minimal", "title": "Minimal", "version": "0.1.0", diff --git a/plugins/_official/design-systems/minimax/open-design.json b/plugins/_official/design-systems/minimax/open-design.json index ea7d74eac..56a654bd6 100644 --- a/plugins/_official/design-systems/minimax/open-design.json +++ b/plugins/_official/design-systems/minimax/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-minimax", "title": "MiniMax", "version": "0.1.0", diff --git a/plugins/_official/design-systems/mintlify/open-design.json b/plugins/_official/design-systems/mintlify/open-design.json index e28450fb4..d89821920 100644 --- a/plugins/_official/design-systems/mintlify/open-design.json +++ b/plugins/_official/design-systems/mintlify/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-mintlify", "title": "Mintlify", "version": "0.1.0", diff --git a/plugins/_official/design-systems/miro/open-design.json b/plugins/_official/design-systems/miro/open-design.json index 8a7fb8b4b..f0fc0c211 100644 --- a/plugins/_official/design-systems/miro/open-design.json +++ b/plugins/_official/design-systems/miro/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-miro", "title": "Miro", "version": "0.1.0", diff --git a/plugins/_official/design-systems/mission-control/open-design.json b/plugins/_official/design-systems/mission-control/open-design.json index d4f894494..a8bc29b59 100644 --- a/plugins/_official/design-systems/mission-control/open-design.json +++ b/plugins/_official/design-systems/mission-control/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-mission-control", "title": "Mission Control Design System", "version": "0.1.0", diff --git a/plugins/_official/design-systems/mistral-ai/open-design.json b/plugins/_official/design-systems/mistral-ai/open-design.json index fdb7be630..406ef686d 100644 --- a/plugins/_official/design-systems/mistral-ai/open-design.json +++ b/plugins/_official/design-systems/mistral-ai/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-mistral-ai", "title": "Mistral AI", "version": "0.1.0", diff --git a/plugins/_official/design-systems/modern/open-design.json b/plugins/_official/design-systems/modern/open-design.json index b644c2882..adcffd82d 100644 --- a/plugins/_official/design-systems/modern/open-design.json +++ b/plugins/_official/design-systems/modern/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-modern", "title": "Modern", "version": "0.1.0", diff --git a/plugins/_official/design-systems/mongodb/open-design.json b/plugins/_official/design-systems/mongodb/open-design.json index c16740156..e14bb9ac1 100644 --- a/plugins/_official/design-systems/mongodb/open-design.json +++ b/plugins/_official/design-systems/mongodb/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-mongodb", "title": "MongoDB", "version": "0.1.0", diff --git a/plugins/_official/design-systems/mono/open-design.json b/plugins/_official/design-systems/mono/open-design.json index 57207d096..f8db1bf3c 100644 --- a/plugins/_official/design-systems/mono/open-design.json +++ b/plugins/_official/design-systems/mono/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-mono", "title": "Mono", "version": "0.1.0", diff --git a/plugins/_official/design-systems/neobrutalism/open-design.json b/plugins/_official/design-systems/neobrutalism/open-design.json index 4396e6d2a..ce4796bb2 100644 --- a/plugins/_official/design-systems/neobrutalism/open-design.json +++ b/plugins/_official/design-systems/neobrutalism/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-neobrutalism", "title": "Neobrutalism", "version": "0.1.0", diff --git a/plugins/_official/design-systems/neon/open-design.json b/plugins/_official/design-systems/neon/open-design.json index 3dcea8d22..e9c452126 100644 --- a/plugins/_official/design-systems/neon/open-design.json +++ b/plugins/_official/design-systems/neon/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-neon", "title": "Neon", "version": "0.1.0", diff --git a/plugins/_official/design-systems/neumorphism/open-design.json b/plugins/_official/design-systems/neumorphism/open-design.json index 9af90ce93..fb67fd18e 100644 --- a/plugins/_official/design-systems/neumorphism/open-design.json +++ b/plugins/_official/design-systems/neumorphism/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-neumorphism", "title": "Neumorphism", "version": "0.1.0", diff --git a/plugins/_official/design-systems/nike/open-design.json b/plugins/_official/design-systems/nike/open-design.json index 510bce645..920b42e6d 100644 --- a/plugins/_official/design-systems/nike/open-design.json +++ b/plugins/_official/design-systems/nike/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-nike", "title": "Nike", "version": "0.1.0", diff --git a/plugins/_official/design-systems/notion/open-design.json b/plugins/_official/design-systems/notion/open-design.json index fd1506d8e..642adf2d9 100644 --- a/plugins/_official/design-systems/notion/open-design.json +++ b/plugins/_official/design-systems/notion/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-notion", "title": "Notion", "version": "0.1.0", diff --git a/plugins/_official/design-systems/nvidia/open-design.json b/plugins/_official/design-systems/nvidia/open-design.json index 726daa88d..2c714a4d1 100644 --- a/plugins/_official/design-systems/nvidia/open-design.json +++ b/plugins/_official/design-systems/nvidia/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-nvidia", "title": "NVIDIA", "version": "0.1.0", diff --git a/plugins/_official/design-systems/ollama/open-design.json b/plugins/_official/design-systems/ollama/open-design.json index 7d620e8d0..6c2f88c29 100644 --- a/plugins/_official/design-systems/ollama/open-design.json +++ b/plugins/_official/design-systems/ollama/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-ollama", "title": "Ollama", "version": "0.1.0", diff --git a/plugins/_official/design-systems/openai/open-design.json b/plugins/_official/design-systems/openai/open-design.json index 25f089829..12913b635 100644 --- a/plugins/_official/design-systems/openai/open-design.json +++ b/plugins/_official/design-systems/openai/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-openai", "title": "OpenAI", "version": "0.1.0", diff --git a/plugins/_official/design-systems/opencode-ai/open-design.json b/plugins/_official/design-systems/opencode-ai/open-design.json index b361729a4..abdcf5c20 100644 --- a/plugins/_official/design-systems/opencode-ai/open-design.json +++ b/plugins/_official/design-systems/opencode-ai/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-opencode-ai", "title": "OpenCode", "version": "0.1.0", diff --git a/plugins/_official/design-systems/pacman/open-design.json b/plugins/_official/design-systems/pacman/open-design.json index f590975f6..58002382a 100644 --- a/plugins/_official/design-systems/pacman/open-design.json +++ b/plugins/_official/design-systems/pacman/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-pacman", "title": "Pacman", "version": "0.1.0", diff --git a/plugins/_official/design-systems/paper/open-design.json b/plugins/_official/design-systems/paper/open-design.json index b397b4eb1..2bba5e772 100644 --- a/plugins/_official/design-systems/paper/open-design.json +++ b/plugins/_official/design-systems/paper/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-paper", "title": "Paper", "version": "0.1.0", diff --git a/plugins/_official/design-systems/perspective/open-design.json b/plugins/_official/design-systems/perspective/open-design.json index 3cd8b3b66..da0ae85e7 100644 --- a/plugins/_official/design-systems/perspective/open-design.json +++ b/plugins/_official/design-systems/perspective/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-perspective", "title": "Perspective", "version": "0.1.0", diff --git a/plugins/_official/design-systems/pinterest/open-design.json b/plugins/_official/design-systems/pinterest/open-design.json index a1d476e73..a370b05dc 100644 --- a/plugins/_official/design-systems/pinterest/open-design.json +++ b/plugins/_official/design-systems/pinterest/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-pinterest", "title": "Pinterest", "version": "0.1.0", diff --git a/plugins/_official/design-systems/playstation/open-design.json b/plugins/_official/design-systems/playstation/open-design.json index 933cb1e39..b2e1277c0 100644 --- a/plugins/_official/design-systems/playstation/open-design.json +++ b/plugins/_official/design-systems/playstation/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-playstation", "title": "PlayStation", "version": "0.1.0", diff --git a/plugins/_official/design-systems/posthog/open-design.json b/plugins/_official/design-systems/posthog/open-design.json index ae4a6a4e2..dcca73c8c 100644 --- a/plugins/_official/design-systems/posthog/open-design.json +++ b/plugins/_official/design-systems/posthog/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-posthog", "title": "PostHog", "version": "0.1.0", diff --git a/plugins/_official/design-systems/premium/open-design.json b/plugins/_official/design-systems/premium/open-design.json index f34e51058..f6e9484f5 100644 --- a/plugins/_official/design-systems/premium/open-design.json +++ b/plugins/_official/design-systems/premium/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-premium", "title": "Premium", "version": "0.1.0", diff --git a/plugins/_official/design-systems/professional/open-design.json b/plugins/_official/design-systems/professional/open-design.json index 2484dec66..767e68896 100644 --- a/plugins/_official/design-systems/professional/open-design.json +++ b/plugins/_official/design-systems/professional/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-professional", "title": "Professional", "version": "0.1.0", diff --git a/plugins/_official/design-systems/publication/open-design.json b/plugins/_official/design-systems/publication/open-design.json index d0ecfc505..dde00a961 100644 --- a/plugins/_official/design-systems/publication/open-design.json +++ b/plugins/_official/design-systems/publication/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-publication", "title": "Publication", "version": "0.1.0", diff --git a/plugins/_official/design-systems/raycast/open-design.json b/plugins/_official/design-systems/raycast/open-design.json index e4f4cb973..102369e66 100644 --- a/plugins/_official/design-systems/raycast/open-design.json +++ b/plugins/_official/design-systems/raycast/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-raycast", "title": "Raycast", "version": "0.1.0", diff --git a/plugins/_official/design-systems/refined/open-design.json b/plugins/_official/design-systems/refined/open-design.json index fade0c9ef..551ab77b9 100644 --- a/plugins/_official/design-systems/refined/open-design.json +++ b/plugins/_official/design-systems/refined/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-refined", "title": "Refined", "version": "0.1.0", diff --git a/plugins/_official/design-systems/renault/open-design.json b/plugins/_official/design-systems/renault/open-design.json index 626f945d1..507b6d6dd 100644 --- a/plugins/_official/design-systems/renault/open-design.json +++ b/plugins/_official/design-systems/renault/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-renault", "title": "Renault", "version": "0.1.0", diff --git a/plugins/_official/design-systems/replicate/open-design.json b/plugins/_official/design-systems/replicate/open-design.json index 85181fcfb..a1398a967 100644 --- a/plugins/_official/design-systems/replicate/open-design.json +++ b/plugins/_official/design-systems/replicate/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-replicate", "title": "Replicate", "version": "0.1.0", diff --git a/plugins/_official/design-systems/resend/open-design.json b/plugins/_official/design-systems/resend/open-design.json index e2c0bfec3..4052b7248 100644 --- a/plugins/_official/design-systems/resend/open-design.json +++ b/plugins/_official/design-systems/resend/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-resend", "title": "Resend", "version": "0.1.0", diff --git a/plugins/_official/design-systems/retro/open-design.json b/plugins/_official/design-systems/retro/open-design.json index 6a40f61f0..74ca2cf8f 100644 --- a/plugins/_official/design-systems/retro/open-design.json +++ b/plugins/_official/design-systems/retro/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-retro", "title": "Retro", "version": "0.1.0", diff --git a/plugins/_official/design-systems/revolut/open-design.json b/plugins/_official/design-systems/revolut/open-design.json index 1791af53b..21123fee5 100644 --- a/plugins/_official/design-systems/revolut/open-design.json +++ b/plugins/_official/design-systems/revolut/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-revolut", "title": "Revolut", "version": "0.1.0", diff --git a/plugins/_official/design-systems/runwayml/open-design.json b/plugins/_official/design-systems/runwayml/open-design.json index 6bab679af..bd290a1c2 100644 --- a/plugins/_official/design-systems/runwayml/open-design.json +++ b/plugins/_official/design-systems/runwayml/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-runwayml", "title": "Runway", "version": "0.1.0", diff --git a/plugins/_official/design-systems/sanity/open-design.json b/plugins/_official/design-systems/sanity/open-design.json index 5a64ff998..76e218722 100644 --- a/plugins/_official/design-systems/sanity/open-design.json +++ b/plugins/_official/design-systems/sanity/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-sanity", "title": "Sanity", "version": "0.1.0", diff --git a/plugins/_official/design-systems/sentry/open-design.json b/plugins/_official/design-systems/sentry/open-design.json index 41dca8237..6d6ef2bae 100644 --- a/plugins/_official/design-systems/sentry/open-design.json +++ b/plugins/_official/design-systems/sentry/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-sentry", "title": "Sentry", "version": "0.1.0", diff --git a/plugins/_official/design-systems/shadcn/open-design.json b/plugins/_official/design-systems/shadcn/open-design.json index af9d66107..7e302c9f4 100644 --- a/plugins/_official/design-systems/shadcn/open-design.json +++ b/plugins/_official/design-systems/shadcn/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-shadcn", "title": "Shadcn", "version": "0.1.0", diff --git a/plugins/_official/design-systems/shopify/open-design.json b/plugins/_official/design-systems/shopify/open-design.json index 00b946ae3..004ed3f8a 100644 --- a/plugins/_official/design-systems/shopify/open-design.json +++ b/plugins/_official/design-systems/shopify/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-shopify", "title": "Shopify", "version": "0.1.0", diff --git a/plugins/_official/design-systems/simple/open-design.json b/plugins/_official/design-systems/simple/open-design.json index 142afb447..67ce0cd75 100644 --- a/plugins/_official/design-systems/simple/open-design.json +++ b/plugins/_official/design-systems/simple/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-simple", "title": "Simple", "version": "0.1.0", diff --git a/plugins/_official/design-systems/skeumorphism/open-design.json b/plugins/_official/design-systems/skeumorphism/open-design.json index 8db563384..63d9cc7e6 100644 --- a/plugins/_official/design-systems/skeumorphism/open-design.json +++ b/plugins/_official/design-systems/skeumorphism/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-skeumorphism", "title": "Skeumorphism", "version": "0.1.0", diff --git a/plugins/_official/design-systems/sleek/open-design.json b/plugins/_official/design-systems/sleek/open-design.json index 9d9357611..4e7222c29 100644 --- a/plugins/_official/design-systems/sleek/open-design.json +++ b/plugins/_official/design-systems/sleek/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-sleek", "title": "Sleek", "version": "0.1.0", diff --git a/plugins/_official/design-systems/spacex/open-design.json b/plugins/_official/design-systems/spacex/open-design.json index 7c058c25f..5078ae2af 100644 --- a/plugins/_official/design-systems/spacex/open-design.json +++ b/plugins/_official/design-systems/spacex/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-spacex", "title": "SpaceX", "version": "0.1.0", diff --git a/plugins/_official/design-systems/spacious/open-design.json b/plugins/_official/design-systems/spacious/open-design.json index 9c96f2dfb..caf0b8d80 100644 --- a/plugins/_official/design-systems/spacious/open-design.json +++ b/plugins/_official/design-systems/spacious/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-spacious", "title": "Spacious", "version": "0.1.0", diff --git a/plugins/_official/design-systems/spotify/open-design.json b/plugins/_official/design-systems/spotify/open-design.json index f3d99a161..f690ef736 100644 --- a/plugins/_official/design-systems/spotify/open-design.json +++ b/plugins/_official/design-systems/spotify/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-spotify", "title": "Spotify", "version": "0.1.0", diff --git a/plugins/_official/design-systems/starbucks/open-design.json b/plugins/_official/design-systems/starbucks/open-design.json index 62da4a85f..715e55aee 100644 --- a/plugins/_official/design-systems/starbucks/open-design.json +++ b/plugins/_official/design-systems/starbucks/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-starbucks", "title": "Starbucks", "version": "0.1.0", diff --git a/plugins/_official/design-systems/storytelling/open-design.json b/plugins/_official/design-systems/storytelling/open-design.json index 6d62eca17..85484a9c3 100644 --- a/plugins/_official/design-systems/storytelling/open-design.json +++ b/plugins/_official/design-systems/storytelling/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-storytelling", "title": "Storytelling", "version": "0.1.0", diff --git a/plugins/_official/design-systems/stripe/open-design.json b/plugins/_official/design-systems/stripe/open-design.json index 87d494099..a0b561e95 100644 --- a/plugins/_official/design-systems/stripe/open-design.json +++ b/plugins/_official/design-systems/stripe/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-stripe", "title": "Stripe", "version": "0.1.0", diff --git a/plugins/_official/design-systems/supabase/open-design.json b/plugins/_official/design-systems/supabase/open-design.json index 006266adf..32cf2e3be 100644 --- a/plugins/_official/design-systems/supabase/open-design.json +++ b/plugins/_official/design-systems/supabase/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-supabase", "title": "Supabase", "version": "0.1.0", diff --git a/plugins/_official/design-systems/superhuman/open-design.json b/plugins/_official/design-systems/superhuman/open-design.json index 309334e19..4de4fb8d6 100644 --- a/plugins/_official/design-systems/superhuman/open-design.json +++ b/plugins/_official/design-systems/superhuman/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-superhuman", "title": "Superhuman", "version": "0.1.0", diff --git a/plugins/_official/design-systems/tesla/open-design.json b/plugins/_official/design-systems/tesla/open-design.json index 6d2e384fe..98aa7ac6c 100644 --- a/plugins/_official/design-systems/tesla/open-design.json +++ b/plugins/_official/design-systems/tesla/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-tesla", "title": "Tesla", "version": "0.1.0", diff --git a/plugins/_official/design-systems/tetris/open-design.json b/plugins/_official/design-systems/tetris/open-design.json index 8cd25b3b1..a7267aff6 100644 --- a/plugins/_official/design-systems/tetris/open-design.json +++ b/plugins/_official/design-systems/tetris/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-tetris", "title": "Tetris", "version": "0.1.0", diff --git a/plugins/_official/design-systems/theverge/open-design.json b/plugins/_official/design-systems/theverge/open-design.json index ed4e24792..738311ff4 100644 --- a/plugins/_official/design-systems/theverge/open-design.json +++ b/plugins/_official/design-systems/theverge/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-theverge", "title": "The Verge", "version": "0.1.0", diff --git a/plugins/_official/design-systems/together-ai/open-design.json b/plugins/_official/design-systems/together-ai/open-design.json index 56366226a..aaa886fdd 100644 --- a/plugins/_official/design-systems/together-ai/open-design.json +++ b/plugins/_official/design-systems/together-ai/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-together-ai", "title": "Together AI", "version": "0.1.0", diff --git a/plugins/_official/design-systems/totality-festival/open-design.json b/plugins/_official/design-systems/totality-festival/open-design.json index 60dfb5a06..eae33ac88 100644 --- a/plugins/_official/design-systems/totality-festival/open-design.json +++ b/plugins/_official/design-systems/totality-festival/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-totality-festival", "title": "Totality Festival", "version": "0.1.0", diff --git a/plugins/_official/design-systems/uber/open-design.json b/plugins/_official/design-systems/uber/open-design.json index fbb1091ad..6cfdf9501 100644 --- a/plugins/_official/design-systems/uber/open-design.json +++ b/plugins/_official/design-systems/uber/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-uber", "title": "Uber", "version": "0.1.0", diff --git a/plugins/_official/design-systems/urdu/open-design.json b/plugins/_official/design-systems/urdu/open-design.json index 4af2708bd..db6e733ef 100644 --- a/plugins/_official/design-systems/urdu/open-design.json +++ b/plugins/_official/design-systems/urdu/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-urdu", "title": "Urdu Modern (Indus Script System)", "version": "0.1.0", diff --git a/plugins/_official/design-systems/vercel/open-design.json b/plugins/_official/design-systems/vercel/open-design.json index d28586854..1b64ded89 100644 --- a/plugins/_official/design-systems/vercel/open-design.json +++ b/plugins/_official/design-systems/vercel/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-vercel", "title": "Vercel", "version": "0.1.0", diff --git a/plugins/_official/design-systems/vibrant/open-design.json b/plugins/_official/design-systems/vibrant/open-design.json index cad882277..7cd66f823 100644 --- a/plugins/_official/design-systems/vibrant/open-design.json +++ b/plugins/_official/design-systems/vibrant/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-vibrant", "title": "Vibrant", "version": "0.1.0", diff --git a/plugins/_official/design-systems/vintage/open-design.json b/plugins/_official/design-systems/vintage/open-design.json index 01a5f6a6b..2a7918716 100644 --- a/plugins/_official/design-systems/vintage/open-design.json +++ b/plugins/_official/design-systems/vintage/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-vintage", "title": "Vintage", "version": "0.1.0", diff --git a/plugins/_official/design-systems/vodafone/open-design.json b/plugins/_official/design-systems/vodafone/open-design.json index 3bd656f7d..fc88c5f14 100644 --- a/plugins/_official/design-systems/vodafone/open-design.json +++ b/plugins/_official/design-systems/vodafone/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-vodafone", "title": "Vodafone", "version": "0.1.0", diff --git a/plugins/_official/design-systems/voltagent/open-design.json b/plugins/_official/design-systems/voltagent/open-design.json index 1a948be70..fa328d3c5 100644 --- a/plugins/_official/design-systems/voltagent/open-design.json +++ b/plugins/_official/design-systems/voltagent/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-voltagent", "title": "VoltAgent", "version": "0.1.0", diff --git a/plugins/_official/design-systems/warm-editorial/open-design.json b/plugins/_official/design-systems/warm-editorial/open-design.json index f9f83aa5b..8f9a86226 100644 --- a/plugins/_official/design-systems/warm-editorial/open-design.json +++ b/plugins/_official/design-systems/warm-editorial/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-warm-editorial", "title": "Warm Editorial", "version": "0.1.0", diff --git a/plugins/_official/design-systems/warp/open-design.json b/plugins/_official/design-systems/warp/open-design.json index 3deca1c72..760956751 100644 --- a/plugins/_official/design-systems/warp/open-design.json +++ b/plugins/_official/design-systems/warp/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-warp", "title": "Warp", "version": "0.1.0", diff --git a/plugins/_official/design-systems/webflow/open-design.json b/plugins/_official/design-systems/webflow/open-design.json index 6a9204a67..e3bb5ecf6 100644 --- a/plugins/_official/design-systems/webflow/open-design.json +++ b/plugins/_official/design-systems/webflow/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-webflow", "title": "Webflow", "version": "0.1.0", diff --git a/plugins/_official/design-systems/wired/open-design.json b/plugins/_official/design-systems/wired/open-design.json index 349baea77..3763f24bf 100644 --- a/plugins/_official/design-systems/wired/open-design.json +++ b/plugins/_official/design-systems/wired/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-wired", "title": "WIRED", "version": "0.1.0", diff --git a/plugins/_official/design-systems/wise/open-design.json b/plugins/_official/design-systems/wise/open-design.json index a4a228b9a..9d21238ec 100644 --- a/plugins/_official/design-systems/wise/open-design.json +++ b/plugins/_official/design-systems/wise/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-wise", "title": "Wise", "version": "0.1.0", diff --git a/plugins/_official/design-systems/x-ai/open-design.json b/plugins/_official/design-systems/x-ai/open-design.json index cbd50eba9..25425825c 100644 --- a/plugins/_official/design-systems/x-ai/open-design.json +++ b/plugins/_official/design-systems/x-ai/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-x-ai", "title": "xAI", "version": "0.1.0", diff --git a/plugins/_official/design-systems/xiaohongshu/open-design.json b/plugins/_official/design-systems/xiaohongshu/open-design.json index 8b034d707..32db7d16f 100644 --- a/plugins/_official/design-systems/xiaohongshu/open-design.json +++ b/plugins/_official/design-systems/xiaohongshu/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-xiaohongshu", "title": "Xiaohongshu", "version": "0.1.0", diff --git a/plugins/_official/design-systems/zapier/open-design.json b/plugins/_official/design-systems/zapier/open-design.json index e9cc3a6a0..a7326d9e5 100644 --- a/plugins/_official/design-systems/zapier/open-design.json +++ b/plugins/_official/design-systems/zapier/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "design-system-zapier", "title": "Zapier", "version": "0.1.0", diff --git a/plugins/_official/examples/article-magazine/open-design.json b/plugins/_official/examples/article-magazine/open-design.json index 464efab89..379ee359a 100644 --- a/plugins/_official/examples/article-magazine/open-design.json +++ b/plugins/_official/examples/article-magazine/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-article-magazine", "title": "杂志文章", "version": "0.1.0", diff --git a/plugins/_official/examples/audio-jingle/open-design.json b/plugins/_official/examples/audio-jingle/open-design.json index b777bf38b..bf8de4f86 100644 --- a/plugins/_official/examples/audio-jingle/open-design.json +++ b/plugins/_official/examples/audio-jingle/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-audio-jingle", "title": "Audio Jingle", "version": "0.1.0", diff --git a/plugins/_official/examples/blog-post/open-design.json b/plugins/_official/examples/blog-post/open-design.json index f163ef974..42bf5217a 100644 --- a/plugins/_official/examples/blog-post/open-design.json +++ b/plugins/_official/examples/blog-post/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-blog-post", "title": "Blog Post", "version": "0.1.0", diff --git a/plugins/_official/examples/card-twitter/open-design.json b/plugins/_official/examples/card-twitter/open-design.json index e123b33f9..55b04ac6a 100644 --- a/plugins/_official/examples/card-twitter/open-design.json +++ b/plugins/_official/examples/card-twitter/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-card-twitter", "title": "Twitter 分享卡", "version": "0.1.0", diff --git a/plugins/_official/examples/card-xiaohongshu/open-design.json b/plugins/_official/examples/card-xiaohongshu/open-design.json index 3c3cc9a70..cd66de31c 100644 --- a/plugins/_official/examples/card-xiaohongshu/open-design.json +++ b/plugins/_official/examples/card-xiaohongshu/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-card-xiaohongshu", "title": "小红书图文卡片", "version": "0.1.0", diff --git a/plugins/_official/examples/clinical-case-report/open-design.json b/plugins/_official/examples/clinical-case-report/open-design.json index c5e59c4b3..eb1739713 100644 --- a/plugins/_official/examples/clinical-case-report/open-design.json +++ b/plugins/_official/examples/clinical-case-report/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-clinical-case-report", "title": "Clinical Case Report", "version": "0.1.0", diff --git a/plugins/_official/examples/critique/open-design.json b/plugins/_official/examples/critique/open-design.json index 0cb6b1bfa..56f578204 100644 --- a/plugins/_official/examples/critique/open-design.json +++ b/plugins/_official/examples/critique/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-critique", "title": "Critique", "version": "0.1.0", diff --git a/plugins/_official/examples/dashboard/open-design.json b/plugins/_official/examples/dashboard/open-design.json index c03ab171c..86c0d9a17 100644 --- a/plugins/_official/examples/dashboard/open-design.json +++ b/plugins/_official/examples/dashboard/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-dashboard", "title": "Dashboard", "version": "0.1.0", diff --git a/plugins/_official/examples/data-report/open-design.json b/plugins/_official/examples/data-report/open-design.json index 60f41b1ee..f14207589 100644 --- a/plugins/_official/examples/data-report/open-design.json +++ b/plugins/_official/examples/data-report/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-data-report", "title": "数据可视化报告", "version": "0.1.0", diff --git a/plugins/_official/examples/dating-web/open-design.json b/plugins/_official/examples/dating-web/open-design.json index 5122971b5..b8bda10d2 100644 --- a/plugins/_official/examples/dating-web/open-design.json +++ b/plugins/_official/examples/dating-web/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-dating-web", "title": "Dating Web", "version": "0.1.0", diff --git a/plugins/_official/examples/dcf-valuation/open-design.json b/plugins/_official/examples/dcf-valuation/open-design.json index 2cc4a9696..e6145021b 100644 --- a/plugins/_official/examples/dcf-valuation/open-design.json +++ b/plugins/_official/examples/dcf-valuation/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-dcf-valuation", "title": "Dcf Valuation", "version": "0.1.0", diff --git a/plugins/_official/examples/deck-guizang-editorial/open-design.json b/plugins/_official/examples/deck-guizang-editorial/open-design.json index 9ae2a8f63..56b40f4bb 100644 --- a/plugins/_official/examples/deck-guizang-editorial/open-design.json +++ b/plugins/_official/examples/deck-guizang-editorial/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-deck-guizang-editorial", "title": "归藏编辑墨水 Deck", "version": "0.1.0", diff --git a/plugins/_official/examples/deck-open-slide-canvas/open-design.json b/plugins/_official/examples/deck-open-slide-canvas/open-design.json index 2f0256b42..00216c47c 100644 --- a/plugins/_official/examples/deck-open-slide-canvas/open-design.json +++ b/plugins/_official/examples/deck-open-slide-canvas/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-deck-open-slide-canvas", "title": "1920 画布自由 Deck", "version": "0.1.0", diff --git a/plugins/_official/examples/deck-swiss-international/open-design.json b/plugins/_official/examples/deck-swiss-international/open-design.json index 2b1e56421..15e7ba0b4 100644 --- a/plugins/_official/examples/deck-swiss-international/open-design.json +++ b/plugins/_official/examples/deck-swiss-international/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-deck-swiss-international", "title": "瑞士国际主义 Deck", "version": "0.1.0", diff --git a/plugins/_official/examples/design-brief/open-design.json b/plugins/_official/examples/design-brief/open-design.json index b8eb4e6d5..c62078ea1 100644 --- a/plugins/_official/examples/design-brief/open-design.json +++ b/plugins/_official/examples/design-brief/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-design-brief", "title": "Design Brief", "version": "0.1.0", diff --git a/plugins/_official/examples/digital-eguide/open-design.json b/plugins/_official/examples/digital-eguide/open-design.json index 4f85c5602..f7a29c67d 100644 --- a/plugins/_official/examples/digital-eguide/open-design.json +++ b/plugins/_official/examples/digital-eguide/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-digital-eguide", "title": "Digital Eguide", "version": "0.1.0", diff --git a/plugins/_official/examples/doc-kami-parchment/open-design.json b/plugins/_official/examples/doc-kami-parchment/open-design.json index e7d42fd71..fa4c61b67 100644 --- a/plugins/_official/examples/doc-kami-parchment/open-design.json +++ b/plugins/_official/examples/doc-kami-parchment/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-doc-kami-parchment", "title": "Kami 羊皮纸文档", "version": "0.1.0", diff --git a/plugins/_official/examples/docs-page/open-design.json b/plugins/_official/examples/docs-page/open-design.json index ef8622ebe..57acd7a49 100644 --- a/plugins/_official/examples/docs-page/open-design.json +++ b/plugins/_official/examples/docs-page/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-docs-page", "title": "Docs Page", "version": "0.1.0", diff --git a/plugins/_official/examples/email-marketing/open-design.json b/plugins/_official/examples/email-marketing/open-design.json index eb3a14a91..a25b5404d 100644 --- a/plugins/_official/examples/email-marketing/open-design.json +++ b/plugins/_official/examples/email-marketing/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-email-marketing", "title": "Email Marketing", "version": "0.1.0", diff --git a/plugins/_official/examples/eng-runbook/open-design.json b/plugins/_official/examples/eng-runbook/open-design.json index d626a0cbf..e6bf1ab36 100644 --- a/plugins/_official/examples/eng-runbook/open-design.json +++ b/plugins/_official/examples/eng-runbook/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-eng-runbook", "title": "Eng Runbook", "version": "0.1.0", diff --git a/plugins/_official/examples/finance-report/open-design.json b/plugins/_official/examples/finance-report/open-design.json index 4b7c3edaf..b3c050d9a 100644 --- a/plugins/_official/examples/finance-report/open-design.json +++ b/plugins/_official/examples/finance-report/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-finance-report", "title": "Finance Report", "version": "0.1.0", diff --git a/plugins/_official/examples/flowai-live-dashboard-template/open-design.json b/plugins/_official/examples/flowai-live-dashboard-template/open-design.json index f349bb026..a258bdb6f 100644 --- a/plugins/_official/examples/flowai-live-dashboard-template/open-design.json +++ b/plugins/_official/examples/flowai-live-dashboard-template/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-flowai-live-dashboard-template", "title": "Flowai Live Dashboard Template", "version": "0.1.0", diff --git a/plugins/_official/examples/frame-data-chart-nyt/open-design.json b/plugins/_official/examples/frame-data-chart-nyt/open-design.json index df6b9de46..cbb28394d 100644 --- a/plugins/_official/examples/frame-data-chart-nyt/open-design.json +++ b/plugins/_official/examples/frame-data-chart-nyt/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-frame-data-chart-nyt", "title": "NYT 风数据图表帧", "version": "0.1.0", diff --git a/plugins/_official/examples/frame-flowchart-sticky/open-design.json b/plugins/_official/examples/frame-flowchart-sticky/open-design.json index 5c570331f..933134943 100644 --- a/plugins/_official/examples/frame-flowchart-sticky/open-design.json +++ b/plugins/_official/examples/frame-flowchart-sticky/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-frame-flowchart-sticky", "title": "便利贴流程图帧", "version": "0.1.0", diff --git a/plugins/_official/examples/frame-glitch-title/open-design.json b/plugins/_official/examples/frame-glitch-title/open-design.json index bb8373f76..56d284116 100644 --- a/plugins/_official/examples/frame-glitch-title/open-design.json +++ b/plugins/_official/examples/frame-glitch-title/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-frame-glitch-title", "title": "故障艺术标题帧", "version": "0.1.0", diff --git a/plugins/_official/examples/frame-light-leak-cinema/open-design.json b/plugins/_official/examples/frame-light-leak-cinema/open-design.json index fd6d17695..938291bdc 100644 --- a/plugins/_official/examples/frame-light-leak-cinema/open-design.json +++ b/plugins/_official/examples/frame-light-leak-cinema/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-frame-light-leak-cinema", "title": "胶片漏光电影帧", "version": "0.1.0", diff --git a/plugins/_official/examples/frame-liquid-bg-hero/open-design.json b/plugins/_official/examples/frame-liquid-bg-hero/open-design.json index ce3abf944..f949c40c6 100644 --- a/plugins/_official/examples/frame-liquid-bg-hero/open-design.json +++ b/plugins/_official/examples/frame-liquid-bg-hero/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-frame-liquid-bg-hero", "title": "流体背景 Hero 帧", "version": "0.1.0", diff --git a/plugins/_official/examples/frame-logo-outro/open-design.json b/plugins/_official/examples/frame-logo-outro/open-design.json index 6b7d192b7..d504fbd06 100644 --- a/plugins/_official/examples/frame-logo-outro/open-design.json +++ b/plugins/_official/examples/frame-logo-outro/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-frame-logo-outro", "title": "品牌 Logo 收尾帧", "version": "0.1.0", diff --git a/plugins/_official/examples/frame-macos-notification/open-design.json b/plugins/_official/examples/frame-macos-notification/open-design.json index 755cd1c16..e8aa9afce 100644 --- a/plugins/_official/examples/frame-macos-notification/open-design.json +++ b/plugins/_official/examples/frame-macos-notification/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-frame-macos-notification", "title": "macOS 通知横幅", "version": "0.1.0", diff --git a/plugins/_official/examples/gamified-app/open-design.json b/plugins/_official/examples/gamified-app/open-design.json index b993298a8..22237b0fa 100644 --- a/plugins/_official/examples/gamified-app/open-design.json +++ b/plugins/_official/examples/gamified-app/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-gamified-app", "title": "Gamified App", "version": "0.1.0", diff --git a/plugins/_official/examples/github-dashboard/open-design.json b/plugins/_official/examples/github-dashboard/open-design.json index 970598502..0d8f57fb4 100644 --- a/plugins/_official/examples/github-dashboard/open-design.json +++ b/plugins/_official/examples/github-dashboard/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-github-dashboard", "title": "Github Dashboard", "version": "0.1.0", diff --git a/plugins/_official/examples/guizang-ppt/open-design.json b/plugins/_official/examples/guizang-ppt/open-design.json index 87a97a660..00b7f496c 100644 --- a/plugins/_official/examples/guizang-ppt/open-design.json +++ b/plugins/_official/examples/guizang-ppt/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-guizang-ppt", "title": "Guizang Ppt", "version": "0.1.0", diff --git a/plugins/_official/examples/hatch-pet/open-design.json b/plugins/_official/examples/hatch-pet/open-design.json index e67f1b072..0bf11e141 100644 --- a/plugins/_official/examples/hatch-pet/open-design.json +++ b/plugins/_official/examples/hatch-pet/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-hatch-pet", "title": "Hatch Pet", "version": "0.1.0", diff --git a/plugins/_official/examples/hr-onboarding/open-design.json b/plugins/_official/examples/hr-onboarding/open-design.json index 53be40c52..e5112bda5 100644 --- a/plugins/_official/examples/hr-onboarding/open-design.json +++ b/plugins/_official/examples/hr-onboarding/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-hr-onboarding", "title": "Hr Onboarding", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-course-module/open-design.json b/plugins/_official/examples/html-ppt-course-module/open-design.json index 14c7fab7d..15d5f99af 100644 --- a/plugins/_official/examples/html-ppt-course-module/open-design.json +++ b/plugins/_official/examples/html-ppt-course-module/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-course-module", "title": "Html Ppt Course Module", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-dir-key-nav-minimal/open-design.json b/plugins/_official/examples/html-ppt-dir-key-nav-minimal/open-design.json index 08d8eb989..506db7b8f 100644 --- a/plugins/_official/examples/html-ppt-dir-key-nav-minimal/open-design.json +++ b/plugins/_official/examples/html-ppt-dir-key-nav-minimal/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-dir-key-nav-minimal", "title": "Html Ppt Dir Key Nav Minimal", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-graphify-dark-graph/open-design.json b/plugins/_official/examples/html-ppt-graphify-dark-graph/open-design.json index 3057efe69..3fb05465a 100644 --- a/plugins/_official/examples/html-ppt-graphify-dark-graph/open-design.json +++ b/plugins/_official/examples/html-ppt-graphify-dark-graph/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-graphify-dark-graph", "title": "Html Ppt Graphify Dark Graph", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-hermes-cyber-terminal/open-design.json b/plugins/_official/examples/html-ppt-hermes-cyber-terminal/open-design.json index df27195e4..1f27c5b5c 100644 --- a/plugins/_official/examples/html-ppt-hermes-cyber-terminal/open-design.json +++ b/plugins/_official/examples/html-ppt-hermes-cyber-terminal/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-hermes-cyber-terminal", "title": "Html Ppt Hermes Cyber Terminal", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-knowledge-arch-blueprint/open-design.json b/plugins/_official/examples/html-ppt-knowledge-arch-blueprint/open-design.json index 0fecf3cc8..161cc62f7 100644 --- a/plugins/_official/examples/html-ppt-knowledge-arch-blueprint/open-design.json +++ b/plugins/_official/examples/html-ppt-knowledge-arch-blueprint/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-knowledge-arch-blueprint", "title": "Html Ppt Knowledge Arch Blueprint", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-obsidian-claude-gradient/open-design.json b/plugins/_official/examples/html-ppt-obsidian-claude-gradient/open-design.json index fc3347e07..671e6953b 100644 --- a/plugins/_official/examples/html-ppt-obsidian-claude-gradient/open-design.json +++ b/plugins/_official/examples/html-ppt-obsidian-claude-gradient/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-obsidian-claude-gradient", "title": "Html Ppt Obsidian Claude Gradient", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-pitch-deck/open-design.json b/plugins/_official/examples/html-ppt-pitch-deck/open-design.json index 8b66c9b73..f1b637ae6 100644 --- a/plugins/_official/examples/html-ppt-pitch-deck/open-design.json +++ b/plugins/_official/examples/html-ppt-pitch-deck/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-pitch-deck", "title": "Html Ppt Pitch Deck", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-presenter-mode-reveal/open-design.json b/plugins/_official/examples/html-ppt-presenter-mode-reveal/open-design.json index bc2f8bbb9..5d8183a0b 100644 --- a/plugins/_official/examples/html-ppt-presenter-mode-reveal/open-design.json +++ b/plugins/_official/examples/html-ppt-presenter-mode-reveal/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-presenter-mode-reveal", "title": "Html Ppt Presenter Mode Reveal", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-product-launch/open-design.json b/plugins/_official/examples/html-ppt-product-launch/open-design.json index d40f8a333..93402d35a 100644 --- a/plugins/_official/examples/html-ppt-product-launch/open-design.json +++ b/plugins/_official/examples/html-ppt-product-launch/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-product-launch", "title": "Html Ppt Product Launch", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-taste-brutalist/open-design.json b/plugins/_official/examples/html-ppt-taste-brutalist/open-design.json index 7da08a77f..d53e74301 100644 --- a/plugins/_official/examples/html-ppt-taste-brutalist/open-design.json +++ b/plugins/_official/examples/html-ppt-taste-brutalist/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-taste-brutalist", "title": "Html Ppt Taste Brutalist", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-taste-editorial/open-design.json b/plugins/_official/examples/html-ppt-taste-editorial/open-design.json index 12e8d5578..5a3e61043 100644 --- a/plugins/_official/examples/html-ppt-taste-editorial/open-design.json +++ b/plugins/_official/examples/html-ppt-taste-editorial/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-taste-editorial", "title": "Html Ppt Taste Editorial", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-tech-sharing/open-design.json b/plugins/_official/examples/html-ppt-tech-sharing/open-design.json index 702c54195..a1328dac0 100644 --- a/plugins/_official/examples/html-ppt-tech-sharing/open-design.json +++ b/plugins/_official/examples/html-ppt-tech-sharing/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-tech-sharing", "title": "Html Ppt Tech Sharing", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-testing-safety-alert/open-design.json b/plugins/_official/examples/html-ppt-testing-safety-alert/open-design.json index 2b65bc780..48bd8b06f 100644 --- a/plugins/_official/examples/html-ppt-testing-safety-alert/open-design.json +++ b/plugins/_official/examples/html-ppt-testing-safety-alert/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-testing-safety-alert", "title": "Html Ppt Testing Safety Alert", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-weekly-report/open-design.json b/plugins/_official/examples/html-ppt-weekly-report/open-design.json index 7b2c1f9c0..e303adb2c 100644 --- a/plugins/_official/examples/html-ppt-weekly-report/open-design.json +++ b/plugins/_official/examples/html-ppt-weekly-report/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-weekly-report", "title": "Html Ppt Weekly Report", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-xhs-pastel-card/open-design.json b/plugins/_official/examples/html-ppt-xhs-pastel-card/open-design.json index 2190d47dc..4071d00c2 100644 --- a/plugins/_official/examples/html-ppt-xhs-pastel-card/open-design.json +++ b/plugins/_official/examples/html-ppt-xhs-pastel-card/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-xhs-pastel-card", "title": "Html Ppt Xhs Pastel Card", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-xhs-post/open-design.json b/plugins/_official/examples/html-ppt-xhs-post/open-design.json index 115e4e4f6..0c30ab30e 100644 --- a/plugins/_official/examples/html-ppt-xhs-post/open-design.json +++ b/plugins/_official/examples/html-ppt-xhs-post/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-xhs-post", "title": "Html Ppt Xhs Post", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-xhs-white-editorial/open-design.json b/plugins/_official/examples/html-ppt-xhs-white-editorial/open-design.json index 3d807de8a..5b7bb5f43 100644 --- a/plugins/_official/examples/html-ppt-xhs-white-editorial/open-design.json +++ b/plugins/_official/examples/html-ppt-xhs-white-editorial/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-xhs-white-editorial", "title": "Html Ppt Xhs White Editorial", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-zhangzara-8-bit-orbit/open-design.json b/plugins/_official/examples/html-ppt-zhangzara-8-bit-orbit/open-design.json index 643f59b40..43fa290c2 100644 --- a/plugins/_official/examples/html-ppt-zhangzara-8-bit-orbit/open-design.json +++ b/plugins/_official/examples/html-ppt-zhangzara-8-bit-orbit/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-zhangzara-8-bit-orbit", "title": "Html Ppt Zhangzara 8 Bit Orbit", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-zhangzara-biennale-yellow/open-design.json b/plugins/_official/examples/html-ppt-zhangzara-biennale-yellow/open-design.json index 48e0b2ded..fb33baf18 100644 --- a/plugins/_official/examples/html-ppt-zhangzara-biennale-yellow/open-design.json +++ b/plugins/_official/examples/html-ppt-zhangzara-biennale-yellow/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-zhangzara-biennale-yellow", "title": "Html Ppt Zhangzara Biennale Yellow", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-zhangzara-block-frame/open-design.json b/plugins/_official/examples/html-ppt-zhangzara-block-frame/open-design.json index 5edbb28f0..8870faa44 100644 --- a/plugins/_official/examples/html-ppt-zhangzara-block-frame/open-design.json +++ b/plugins/_official/examples/html-ppt-zhangzara-block-frame/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-zhangzara-block-frame", "title": "Html Ppt Zhangzara Block Frame", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-zhangzara-blue-professional/open-design.json b/plugins/_official/examples/html-ppt-zhangzara-blue-professional/open-design.json index 2356ca9b1..6a796e351 100644 --- a/plugins/_official/examples/html-ppt-zhangzara-blue-professional/open-design.json +++ b/plugins/_official/examples/html-ppt-zhangzara-blue-professional/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-zhangzara-blue-professional", "title": "Html Ppt Zhangzara Blue Professional", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-zhangzara-bold-poster/open-design.json b/plugins/_official/examples/html-ppt-zhangzara-bold-poster/open-design.json index 5d886597e..3bbc8407f 100644 --- a/plugins/_official/examples/html-ppt-zhangzara-bold-poster/open-design.json +++ b/plugins/_official/examples/html-ppt-zhangzara-bold-poster/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-zhangzara-bold-poster", "title": "Html Ppt Zhangzara Bold Poster", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-zhangzara-broadside/open-design.json b/plugins/_official/examples/html-ppt-zhangzara-broadside/open-design.json index baa0767c0..8f66da53e 100644 --- a/plugins/_official/examples/html-ppt-zhangzara-broadside/open-design.json +++ b/plugins/_official/examples/html-ppt-zhangzara-broadside/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-zhangzara-broadside", "title": "Html Ppt Zhangzara Broadside", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-zhangzara-capsule/open-design.json b/plugins/_official/examples/html-ppt-zhangzara-capsule/open-design.json index 57b17c6a6..058d8883a 100644 --- a/plugins/_official/examples/html-ppt-zhangzara-capsule/open-design.json +++ b/plugins/_official/examples/html-ppt-zhangzara-capsule/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-zhangzara-capsule", "title": "Html Ppt Zhangzara Capsule", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-zhangzara-cartesian/open-design.json b/plugins/_official/examples/html-ppt-zhangzara-cartesian/open-design.json index d77a58ae7..66653a0d5 100644 --- a/plugins/_official/examples/html-ppt-zhangzara-cartesian/open-design.json +++ b/plugins/_official/examples/html-ppt-zhangzara-cartesian/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-zhangzara-cartesian", "title": "Html Ppt Zhangzara Cartesian", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-zhangzara-cobalt-grid/open-design.json b/plugins/_official/examples/html-ppt-zhangzara-cobalt-grid/open-design.json index 323966595..6566a5cec 100644 --- a/plugins/_official/examples/html-ppt-zhangzara-cobalt-grid/open-design.json +++ b/plugins/_official/examples/html-ppt-zhangzara-cobalt-grid/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-zhangzara-cobalt-grid", "title": "Html Ppt Zhangzara Cobalt Grid", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-zhangzara-coral/open-design.json b/plugins/_official/examples/html-ppt-zhangzara-coral/open-design.json index dec60a5b0..7834a75af 100644 --- a/plugins/_official/examples/html-ppt-zhangzara-coral/open-design.json +++ b/plugins/_official/examples/html-ppt-zhangzara-coral/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-zhangzara-coral", "title": "Html Ppt Zhangzara Coral", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-zhangzara-creative-mode/open-design.json b/plugins/_official/examples/html-ppt-zhangzara-creative-mode/open-design.json index 43e4a4276..3c68a120c 100644 --- a/plugins/_official/examples/html-ppt-zhangzara-creative-mode/open-design.json +++ b/plugins/_official/examples/html-ppt-zhangzara-creative-mode/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-zhangzara-creative-mode", "title": "Html Ppt Zhangzara Creative Mode", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-zhangzara-daisy-days/open-design.json b/plugins/_official/examples/html-ppt-zhangzara-daisy-days/open-design.json index c9d89049a..134b4d6c8 100644 --- a/plugins/_official/examples/html-ppt-zhangzara-daisy-days/open-design.json +++ b/plugins/_official/examples/html-ppt-zhangzara-daisy-days/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-zhangzara-daisy-days", "title": "Html Ppt Zhangzara Daisy Days", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-zhangzara-editorial-tri-tone/open-design.json b/plugins/_official/examples/html-ppt-zhangzara-editorial-tri-tone/open-design.json index e9b21e4c1..e6694b369 100644 --- a/plugins/_official/examples/html-ppt-zhangzara-editorial-tri-tone/open-design.json +++ b/plugins/_official/examples/html-ppt-zhangzara-editorial-tri-tone/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-zhangzara-editorial-tri-tone", "title": "Html Ppt Zhangzara Editorial Tri Tone", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-zhangzara-grove/open-design.json b/plugins/_official/examples/html-ppt-zhangzara-grove/open-design.json index c70d5e271..c027b42d7 100644 --- a/plugins/_official/examples/html-ppt-zhangzara-grove/open-design.json +++ b/plugins/_official/examples/html-ppt-zhangzara-grove/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-zhangzara-grove", "title": "Html Ppt Zhangzara Grove", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-zhangzara-long-table/open-design.json b/plugins/_official/examples/html-ppt-zhangzara-long-table/open-design.json index 8eb50e144..599bc2b3c 100644 --- a/plugins/_official/examples/html-ppt-zhangzara-long-table/open-design.json +++ b/plugins/_official/examples/html-ppt-zhangzara-long-table/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-zhangzara-long-table", "title": "Html Ppt Zhangzara Long Table", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-zhangzara-mat/open-design.json b/plugins/_official/examples/html-ppt-zhangzara-mat/open-design.json index 0cd210d46..31a943ea7 100644 --- a/plugins/_official/examples/html-ppt-zhangzara-mat/open-design.json +++ b/plugins/_official/examples/html-ppt-zhangzara-mat/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-zhangzara-mat", "title": "Html Ppt Zhangzara Mat", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-zhangzara-monochrome/open-design.json b/plugins/_official/examples/html-ppt-zhangzara-monochrome/open-design.json index 062d5eadd..852e2fa19 100644 --- a/plugins/_official/examples/html-ppt-zhangzara-monochrome/open-design.json +++ b/plugins/_official/examples/html-ppt-zhangzara-monochrome/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-zhangzara-monochrome", "title": "Html Ppt Zhangzara Monochrome", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-zhangzara-neo-grid-bold/open-design.json b/plugins/_official/examples/html-ppt-zhangzara-neo-grid-bold/open-design.json index 9fe9705fc..ac5fa0bec 100644 --- a/plugins/_official/examples/html-ppt-zhangzara-neo-grid-bold/open-design.json +++ b/plugins/_official/examples/html-ppt-zhangzara-neo-grid-bold/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-zhangzara-neo-grid-bold", "title": "Html Ppt Zhangzara Neo Grid Bold", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-zhangzara-peoples-platform/open-design.json b/plugins/_official/examples/html-ppt-zhangzara-peoples-platform/open-design.json index f38bf033b..74ee950c4 100644 --- a/plugins/_official/examples/html-ppt-zhangzara-peoples-platform/open-design.json +++ b/plugins/_official/examples/html-ppt-zhangzara-peoples-platform/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-zhangzara-peoples-platform", "title": "Html Ppt Zhangzara Peoples Platform", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-zhangzara-pin-and-paper/open-design.json b/plugins/_official/examples/html-ppt-zhangzara-pin-and-paper/open-design.json index 38632c8d7..06387db6f 100644 --- a/plugins/_official/examples/html-ppt-zhangzara-pin-and-paper/open-design.json +++ b/plugins/_official/examples/html-ppt-zhangzara-pin-and-paper/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-zhangzara-pin-and-paper", "title": "Html Ppt Zhangzara Pin And Paper", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-zhangzara-pink-script/open-design.json b/plugins/_official/examples/html-ppt-zhangzara-pink-script/open-design.json index 6e1e25f16..54105d687 100644 --- a/plugins/_official/examples/html-ppt-zhangzara-pink-script/open-design.json +++ b/plugins/_official/examples/html-ppt-zhangzara-pink-script/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-zhangzara-pink-script", "title": "Html Ppt Zhangzara Pink Script", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-zhangzara-playful/open-design.json b/plugins/_official/examples/html-ppt-zhangzara-playful/open-design.json index 374d33b86..f6491e862 100644 --- a/plugins/_official/examples/html-ppt-zhangzara-playful/open-design.json +++ b/plugins/_official/examples/html-ppt-zhangzara-playful/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-zhangzara-playful", "title": "Html Ppt Zhangzara Playful", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-zhangzara-raw-grid/open-design.json b/plugins/_official/examples/html-ppt-zhangzara-raw-grid/open-design.json index 90ec5d802..ddb257503 100644 --- a/plugins/_official/examples/html-ppt-zhangzara-raw-grid/open-design.json +++ b/plugins/_official/examples/html-ppt-zhangzara-raw-grid/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-zhangzara-raw-grid", "title": "Html Ppt Zhangzara Raw Grid", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-zhangzara-retro-windows/open-design.json b/plugins/_official/examples/html-ppt-zhangzara-retro-windows/open-design.json index b3b23163d..fbf663523 100644 --- a/plugins/_official/examples/html-ppt-zhangzara-retro-windows/open-design.json +++ b/plugins/_official/examples/html-ppt-zhangzara-retro-windows/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-zhangzara-retro-windows", "title": "Html Ppt Zhangzara Retro Windows", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-zhangzara-retro-zine/open-design.json b/plugins/_official/examples/html-ppt-zhangzara-retro-zine/open-design.json index 994550762..52df8c229 100644 --- a/plugins/_official/examples/html-ppt-zhangzara-retro-zine/open-design.json +++ b/plugins/_official/examples/html-ppt-zhangzara-retro-zine/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-zhangzara-retro-zine", "title": "Html Ppt Zhangzara Retro Zine", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-zhangzara-sakura-chroma/open-design.json b/plugins/_official/examples/html-ppt-zhangzara-sakura-chroma/open-design.json index 9c0fa07d5..3e8c25d13 100644 --- a/plugins/_official/examples/html-ppt-zhangzara-sakura-chroma/open-design.json +++ b/plugins/_official/examples/html-ppt-zhangzara-sakura-chroma/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-zhangzara-sakura-chroma", "title": "Html Ppt Zhangzara Sakura Chroma", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-zhangzara-scatterbrain/open-design.json b/plugins/_official/examples/html-ppt-zhangzara-scatterbrain/open-design.json index 86e8a203f..860d761fd 100644 --- a/plugins/_official/examples/html-ppt-zhangzara-scatterbrain/open-design.json +++ b/plugins/_official/examples/html-ppt-zhangzara-scatterbrain/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-zhangzara-scatterbrain", "title": "Html Ppt Zhangzara Scatterbrain", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-zhangzara-signal/open-design.json b/plugins/_official/examples/html-ppt-zhangzara-signal/open-design.json index 9487a7c0b..0e90b6e8f 100644 --- a/plugins/_official/examples/html-ppt-zhangzara-signal/open-design.json +++ b/plugins/_official/examples/html-ppt-zhangzara-signal/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-zhangzara-signal", "title": "Html Ppt Zhangzara Signal", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-zhangzara-soft-editorial/open-design.json b/plugins/_official/examples/html-ppt-zhangzara-soft-editorial/open-design.json index b2568cac0..647dadb74 100644 --- a/plugins/_official/examples/html-ppt-zhangzara-soft-editorial/open-design.json +++ b/plugins/_official/examples/html-ppt-zhangzara-soft-editorial/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-zhangzara-soft-editorial", "title": "Html Ppt Zhangzara Soft Editorial", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-zhangzara-stencil-tablet/open-design.json b/plugins/_official/examples/html-ppt-zhangzara-stencil-tablet/open-design.json index da665810a..1ae6a19ee 100644 --- a/plugins/_official/examples/html-ppt-zhangzara-stencil-tablet/open-design.json +++ b/plugins/_official/examples/html-ppt-zhangzara-stencil-tablet/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-zhangzara-stencil-tablet", "title": "Html Ppt Zhangzara Stencil Tablet", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-zhangzara-studio/open-design.json b/plugins/_official/examples/html-ppt-zhangzara-studio/open-design.json index 32aedd188..47aaece24 100644 --- a/plugins/_official/examples/html-ppt-zhangzara-studio/open-design.json +++ b/plugins/_official/examples/html-ppt-zhangzara-studio/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-zhangzara-studio", "title": "Html Ppt Zhangzara Studio", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt-zhangzara-vellum/open-design.json b/plugins/_official/examples/html-ppt-zhangzara-vellum/open-design.json index 7029c650d..bcdc86872 100644 --- a/plugins/_official/examples/html-ppt-zhangzara-vellum/open-design.json +++ b/plugins/_official/examples/html-ppt-zhangzara-vellum/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt-zhangzara-vellum", "title": "Html Ppt Zhangzara Vellum", "version": "0.1.0", diff --git a/plugins/_official/examples/html-ppt/open-design.json b/plugins/_official/examples/html-ppt/open-design.json index c30db23d8..385736215 100644 --- a/plugins/_official/examples/html-ppt/open-design.json +++ b/plugins/_official/examples/html-ppt/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-html-ppt", "title": "Html Ppt", "version": "0.1.0", diff --git a/plugins/_official/examples/hyperframes/open-design.json b/plugins/_official/examples/hyperframes/open-design.json index 417c721c3..88c3eaf92 100644 --- a/plugins/_official/examples/hyperframes/open-design.json +++ b/plugins/_official/examples/hyperframes/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-hyperframes", "title": "Hyperframes", "version": "0.1.0", diff --git a/plugins/_official/examples/ib-pitch-book/open-design.json b/plugins/_official/examples/ib-pitch-book/open-design.json index 9c84049b6..f40dc04b0 100644 --- a/plugins/_official/examples/ib-pitch-book/open-design.json +++ b/plugins/_official/examples/ib-pitch-book/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-ib-pitch-book", "title": "Ib Pitch Book", "version": "0.1.0", diff --git a/plugins/_official/examples/image-poster/open-design.json b/plugins/_official/examples/image-poster/open-design.json index e86a252dd..f4a469f5c 100644 --- a/plugins/_official/examples/image-poster/open-design.json +++ b/plugins/_official/examples/image-poster/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-image-poster", "title": "Image Poster", "version": "0.1.0", diff --git a/plugins/_official/examples/invoice/open-design.json b/plugins/_official/examples/invoice/open-design.json index d903ff589..3863ddf78 100644 --- a/plugins/_official/examples/invoice/open-design.json +++ b/plugins/_official/examples/invoice/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-invoice", "title": "Invoice", "version": "0.1.0", diff --git a/plugins/_official/examples/kami-deck/open-design.json b/plugins/_official/examples/kami-deck/open-design.json index 9a44c5ccb..30e8f3c96 100644 --- a/plugins/_official/examples/kami-deck/open-design.json +++ b/plugins/_official/examples/kami-deck/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-kami-deck", "title": "Kami Deck", "version": "0.1.0", diff --git a/plugins/_official/examples/kami-landing/open-design.json b/plugins/_official/examples/kami-landing/open-design.json index 65c99975d..c15e4354c 100644 --- a/plugins/_official/examples/kami-landing/open-design.json +++ b/plugins/_official/examples/kami-landing/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-kami-landing", "title": "Kami Landing", "version": "0.1.0", diff --git a/plugins/_official/examples/kanban-board/open-design.json b/plugins/_official/examples/kanban-board/open-design.json index a7e969585..2e7980433 100644 --- a/plugins/_official/examples/kanban-board/open-design.json +++ b/plugins/_official/examples/kanban-board/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-kanban-board", "title": "Kanban Board", "version": "0.1.0", diff --git a/plugins/_official/examples/last30days/open-design.json b/plugins/_official/examples/last30days/open-design.json index c6d5e5051..449086c64 100644 --- a/plugins/_official/examples/last30days/open-design.json +++ b/plugins/_official/examples/last30days/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-last30days", "title": "Last30days", "version": "0.1.0", diff --git a/plugins/_official/examples/live-artifact/open-design.json b/plugins/_official/examples/live-artifact/open-design.json index f1420cc5a..f2b4b27e8 100644 --- a/plugins/_official/examples/live-artifact/open-design.json +++ b/plugins/_official/examples/live-artifact/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-live-artifact", "title": "Live Artifact", "version": "0.1.0", diff --git a/plugins/_official/examples/live-dashboard/open-design.json b/plugins/_official/examples/live-dashboard/open-design.json index bf077d411..c1e855728 100644 --- a/plugins/_official/examples/live-dashboard/open-design.json +++ b/plugins/_official/examples/live-dashboard/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-live-dashboard", "title": "Live Dashboard", "version": "0.1.0", diff --git a/plugins/_official/examples/magazine-poster/open-design.json b/plugins/_official/examples/magazine-poster/open-design.json index 3573a1ce2..bca194ca2 100644 --- a/plugins/_official/examples/magazine-poster/open-design.json +++ b/plugins/_official/examples/magazine-poster/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-magazine-poster", "title": "Magazine Poster", "version": "0.1.0", diff --git a/plugins/_official/examples/meeting-notes/open-design.json b/plugins/_official/examples/meeting-notes/open-design.json index 142b11aaa..49e882698 100644 --- a/plugins/_official/examples/meeting-notes/open-design.json +++ b/plugins/_official/examples/meeting-notes/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-meeting-notes", "title": "Meeting Notes", "version": "0.1.0", diff --git a/plugins/_official/examples/mobile-app/open-design.json b/plugins/_official/examples/mobile-app/open-design.json index da478d5d1..2139f0ef9 100644 --- a/plugins/_official/examples/mobile-app/open-design.json +++ b/plugins/_official/examples/mobile-app/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-mobile-app", "title": "Mobile App", "version": "0.1.0", diff --git a/plugins/_official/examples/mobile-onboarding/open-design.json b/plugins/_official/examples/mobile-onboarding/open-design.json index a9ab8dcbe..7ed5da5cd 100644 --- a/plugins/_official/examples/mobile-onboarding/open-design.json +++ b/plugins/_official/examples/mobile-onboarding/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-mobile-onboarding", "title": "Mobile Onboarding", "version": "0.1.0", diff --git a/plugins/_official/examples/mockup-device-3d/open-design.json b/plugins/_official/examples/mockup-device-3d/open-design.json index 5a57d515e..2a355b5da 100644 --- a/plugins/_official/examples/mockup-device-3d/open-design.json +++ b/plugins/_official/examples/mockup-device-3d/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-mockup-device-3d", "title": "iPhone × MacBook 立体展架", "version": "0.1.0", diff --git a/plugins/_official/examples/motion-frames/open-design.json b/plugins/_official/examples/motion-frames/open-design.json index a771a0827..2906e920f 100644 --- a/plugins/_official/examples/motion-frames/open-design.json +++ b/plugins/_official/examples/motion-frames/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-motion-frames", "title": "Motion Frames", "version": "0.1.0", diff --git a/plugins/_official/examples/od-plugin-contribute-open-design/open-design.json b/plugins/_official/examples/od-plugin-contribute-open-design/open-design.json index 484909e80..087a865d2 100644 --- a/plugins/_official/examples/od-plugin-contribute-open-design/open-design.json +++ b/plugins/_official/examples/od-plugin-contribute-open-design/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "od-plugin-contribute-open-design", "title": "Contribute Plugin to Open Design", "version": "0.1.0", diff --git a/plugins/_official/examples/od-plugin-publish-github/open-design.json b/plugins/_official/examples/od-plugin-publish-github/open-design.json index 8b3807521..c7ce79f89 100644 --- a/plugins/_official/examples/od-plugin-publish-github/open-design.json +++ b/plugins/_official/examples/od-plugin-publish-github/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "od-plugin-publish-github", "title": "Publish Plugin to GitHub", "version": "0.1.0", diff --git a/plugins/_official/examples/open-design-landing-deck/open-design.json b/plugins/_official/examples/open-design-landing-deck/open-design.json index e9291f50e..c9f6d199d 100644 --- a/plugins/_official/examples/open-design-landing-deck/open-design.json +++ b/plugins/_official/examples/open-design-landing-deck/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-open-design-landing-deck", "title": "Open Design Landing Deck", "version": "0.1.0", diff --git a/plugins/_official/examples/open-design-landing/open-design.json b/plugins/_official/examples/open-design-landing/open-design.json index 48649fcb0..b417b26be 100644 --- a/plugins/_official/examples/open-design-landing/open-design.json +++ b/plugins/_official/examples/open-design-landing/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-open-design-landing", "title": "Open Design Landing", "version": "0.1.0", diff --git a/plugins/_official/examples/orbit-general/open-design.json b/plugins/_official/examples/orbit-general/open-design.json index 704b80baf..2a2e5cf70 100644 --- a/plugins/_official/examples/orbit-general/open-design.json +++ b/plugins/_official/examples/orbit-general/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-orbit-general", "title": "Orbit General", "version": "0.1.0", diff --git a/plugins/_official/examples/orbit-github/open-design.json b/plugins/_official/examples/orbit-github/open-design.json index b94bb755a..14ebeb073 100644 --- a/plugins/_official/examples/orbit-github/open-design.json +++ b/plugins/_official/examples/orbit-github/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-orbit-github", "title": "Orbit Github", "version": "0.1.0", diff --git a/plugins/_official/examples/orbit-gmail/open-design.json b/plugins/_official/examples/orbit-gmail/open-design.json index 0606fc085..72ea47d40 100644 --- a/plugins/_official/examples/orbit-gmail/open-design.json +++ b/plugins/_official/examples/orbit-gmail/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-orbit-gmail", "title": "Orbit Gmail", "version": "0.1.0", diff --git a/plugins/_official/examples/orbit-linear/open-design.json b/plugins/_official/examples/orbit-linear/open-design.json index c749d8170..145c0e8a9 100644 --- a/plugins/_official/examples/orbit-linear/open-design.json +++ b/plugins/_official/examples/orbit-linear/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-orbit-linear", "title": "Orbit Linear", "version": "0.1.0", diff --git a/plugins/_official/examples/orbit-notion/open-design.json b/plugins/_official/examples/orbit-notion/open-design.json index 06249e002..35fef74d3 100644 --- a/plugins/_official/examples/orbit-notion/open-design.json +++ b/plugins/_official/examples/orbit-notion/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-orbit-notion", "title": "Orbit Notion", "version": "0.1.0", diff --git a/plugins/_official/examples/pm-spec/open-design.json b/plugins/_official/examples/pm-spec/open-design.json index 54d24cdb4..150fd05de 100644 --- a/plugins/_official/examples/pm-spec/open-design.json +++ b/plugins/_official/examples/pm-spec/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-pm-spec", "title": "Pm Spec", "version": "0.1.0", diff --git a/plugins/_official/examples/poster-hero/open-design.json b/plugins/_official/examples/poster-hero/open-design.json index 397aa8833..a9a1f36c4 100644 --- a/plugins/_official/examples/poster-hero/open-design.json +++ b/plugins/_official/examples/poster-hero/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-poster-hero", "title": "营销海报", "version": "0.1.0", diff --git a/plugins/_official/examples/ppt-keynote/open-design.json b/plugins/_official/examples/ppt-keynote/open-design.json index c2fd2ecbe..9f27e8a8c 100644 --- a/plugins/_official/examples/ppt-keynote/open-design.json +++ b/plugins/_official/examples/ppt-keynote/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-ppt-keynote", "title": "Keynote 风格 PPT", "version": "0.1.0", diff --git a/plugins/_official/examples/pptx-html-fidelity-audit/open-design.json b/plugins/_official/examples/pptx-html-fidelity-audit/open-design.json index d53fc6cb5..70532664d 100644 --- a/plugins/_official/examples/pptx-html-fidelity-audit/open-design.json +++ b/plugins/_official/examples/pptx-html-fidelity-audit/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-pptx-html-fidelity-audit", "title": "Pptx Html Fidelity Audit", "version": "0.1.0", diff --git a/plugins/_official/examples/pricing-page/open-design.json b/plugins/_official/examples/pricing-page/open-design.json index 0ebb09944..09ea8e342 100644 --- a/plugins/_official/examples/pricing-page/open-design.json +++ b/plugins/_official/examples/pricing-page/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-pricing-page", "title": "Pricing Page", "version": "0.1.0", diff --git a/plugins/_official/examples/replit-deck/open-design.json b/plugins/_official/examples/replit-deck/open-design.json index b07c085c3..059dd4a5c 100644 --- a/plugins/_official/examples/replit-deck/open-design.json +++ b/plugins/_official/examples/replit-deck/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-replit-deck", "title": "Replit Deck", "version": "0.1.0", diff --git a/plugins/_official/examples/resume-modern/open-design.json b/plugins/_official/examples/resume-modern/open-design.json index a7d96fa3d..2018417ba 100644 --- a/plugins/_official/examples/resume-modern/open-design.json +++ b/plugins/_official/examples/resume-modern/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-resume-modern", "title": "极简简历", "version": "0.1.0", diff --git a/plugins/_official/examples/saas-landing/open-design.json b/plugins/_official/examples/saas-landing/open-design.json index 9883729f0..d40070623 100644 --- a/plugins/_official/examples/saas-landing/open-design.json +++ b/plugins/_official/examples/saas-landing/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-saas-landing", "title": "Saas Landing", "version": "0.1.0", diff --git a/plugins/_official/examples/simple-deck/open-design.json b/plugins/_official/examples/simple-deck/open-design.json index 2311689cf..48ff68de9 100644 --- a/plugins/_official/examples/simple-deck/open-design.json +++ b/plugins/_official/examples/simple-deck/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-simple-deck", "title": "Simple Deck", "version": "0.1.0", diff --git a/plugins/_official/examples/social-carousel/open-design.json b/plugins/_official/examples/social-carousel/open-design.json index 97523b370..8483c4df1 100644 --- a/plugins/_official/examples/social-carousel/open-design.json +++ b/plugins/_official/examples/social-carousel/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-social-carousel", "title": "Social Carousel", "version": "0.1.0", diff --git a/plugins/_official/examples/social-media-dashboard/open-design.json b/plugins/_official/examples/social-media-dashboard/open-design.json index 05d88fe28..3a752bc5e 100644 --- a/plugins/_official/examples/social-media-dashboard/open-design.json +++ b/plugins/_official/examples/social-media-dashboard/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-social-media-dashboard", "title": "Social Media Dashboard", "version": "0.1.0", diff --git a/plugins/_official/examples/social-media-matrix-tracker-template/open-design.json b/plugins/_official/examples/social-media-matrix-tracker-template/open-design.json index a39efcc97..383d7130c 100644 --- a/plugins/_official/examples/social-media-matrix-tracker-template/open-design.json +++ b/plugins/_official/examples/social-media-matrix-tracker-template/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-social-media-matrix-tracker-template", "title": "Social Media Matrix Tracker Template", "version": "0.1.0", diff --git a/plugins/_official/examples/social-reddit-card/open-design.json b/plugins/_official/examples/social-reddit-card/open-design.json index 33031ffa3..46aaf9654 100644 --- a/plugins/_official/examples/social-reddit-card/open-design.json +++ b/plugins/_official/examples/social-reddit-card/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-social-reddit-card", "title": "Reddit 帖子卡", "version": "0.1.0", diff --git a/plugins/_official/examples/social-spotify-card/open-design.json b/plugins/_official/examples/social-spotify-card/open-design.json index 2ef083fb4..b38d29005 100644 --- a/plugins/_official/examples/social-spotify-card/open-design.json +++ b/plugins/_official/examples/social-spotify-card/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-social-spotify-card", "title": "Spotify 正在播放卡", "version": "0.1.0", diff --git a/plugins/_official/examples/social-x-post-card/open-design.json b/plugins/_official/examples/social-x-post-card/open-design.json index 010c18464..33fe351c7 100644 --- a/plugins/_official/examples/social-x-post-card/open-design.json +++ b/plugins/_official/examples/social-x-post-card/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-social-x-post-card", "title": "X (Twitter) 帖子卡", "version": "0.1.0", diff --git a/plugins/_official/examples/sprite-animation/open-design.json b/plugins/_official/examples/sprite-animation/open-design.json index 94e8630eb..4c9733beb 100644 --- a/plugins/_official/examples/sprite-animation/open-design.json +++ b/plugins/_official/examples/sprite-animation/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-sprite-animation", "title": "Sprite Animation", "version": "0.1.0", diff --git a/plugins/_official/examples/team-okrs/open-design.json b/plugins/_official/examples/team-okrs/open-design.json index 91d73c7f4..cb182b36d 100644 --- a/plugins/_official/examples/team-okrs/open-design.json +++ b/plugins/_official/examples/team-okrs/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-team-okrs", "title": "Team Okrs", "version": "0.1.0", diff --git a/plugins/_official/examples/trading-analysis-dashboard-template/open-design.json b/plugins/_official/examples/trading-analysis-dashboard-template/open-design.json index c2119aa06..68f15b88c 100644 --- a/plugins/_official/examples/trading-analysis-dashboard-template/open-design.json +++ b/plugins/_official/examples/trading-analysis-dashboard-template/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-trading-analysis-dashboard-template", "title": "Trading Analysis Dashboard Template", "version": "0.1.0", diff --git a/plugins/_official/examples/tweaks/open-design.json b/plugins/_official/examples/tweaks/open-design.json index 662db0012..c0bbad519 100644 --- a/plugins/_official/examples/tweaks/open-design.json +++ b/plugins/_official/examples/tweaks/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-tweaks", "title": "Tweaks", "version": "0.1.0", diff --git a/plugins/_official/examples/vfx-text-cursor/open-design.json b/plugins/_official/examples/vfx-text-cursor/open-design.json index 237744e0f..73bd8088f 100644 --- a/plugins/_official/examples/vfx-text-cursor/open-design.json +++ b/plugins/_official/examples/vfx-text-cursor/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-vfx-text-cursor", "title": "VFX 文字光标", "version": "0.1.0", diff --git a/plugins/_official/examples/video-hyperframes/open-design.json b/plugins/_official/examples/video-hyperframes/open-design.json index 4bfe56b3a..b6ba55790 100644 --- a/plugins/_official/examples/video-hyperframes/open-design.json +++ b/plugins/_official/examples/video-hyperframes/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-video-hyperframes", "title": "Hyperframes 视频脚本", "version": "0.1.0", diff --git a/plugins/_official/examples/video-shortform/open-design.json b/plugins/_official/examples/video-shortform/open-design.json index e4c5b428e..c01dd6d09 100644 --- a/plugins/_official/examples/video-shortform/open-design.json +++ b/plugins/_official/examples/video-shortform/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-video-shortform", "title": "Video Shortform", "version": "0.1.0", diff --git a/plugins/_official/examples/waitlist-page/open-design.json b/plugins/_official/examples/waitlist-page/open-design.json index cc7a0c800..cdc9a771f 100644 --- a/plugins/_official/examples/waitlist-page/open-design.json +++ b/plugins/_official/examples/waitlist-page/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-waitlist-page", "title": "Waitlist Page", "version": "0.1.0", diff --git a/plugins/_official/examples/web-prototype-taste-brutalist/open-design.json b/plugins/_official/examples/web-prototype-taste-brutalist/open-design.json index ba462ee9b..cd1df0dd2 100644 --- a/plugins/_official/examples/web-prototype-taste-brutalist/open-design.json +++ b/plugins/_official/examples/web-prototype-taste-brutalist/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-web-prototype-taste-brutalist", "title": "Web Prototype Taste Brutalist", "version": "0.1.0", diff --git a/plugins/_official/examples/web-prototype-taste-editorial/open-design.json b/plugins/_official/examples/web-prototype-taste-editorial/open-design.json index 5216312ac..fd54657d0 100644 --- a/plugins/_official/examples/web-prototype-taste-editorial/open-design.json +++ b/plugins/_official/examples/web-prototype-taste-editorial/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-web-prototype-taste-editorial", "title": "Web Prototype Taste Editorial", "version": "0.1.0", diff --git a/plugins/_official/examples/web-prototype-taste-soft/open-design.json b/plugins/_official/examples/web-prototype-taste-soft/open-design.json index 65b13445a..1fc0dc0b3 100644 --- a/plugins/_official/examples/web-prototype-taste-soft/open-design.json +++ b/plugins/_official/examples/web-prototype-taste-soft/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-web-prototype-taste-soft", "title": "Web Prototype Taste Soft", "version": "0.1.0", diff --git a/plugins/_official/examples/web-prototype/open-design.json b/plugins/_official/examples/web-prototype/open-design.json index 9fd9730fe..5129e3137 100644 --- a/plugins/_official/examples/web-prototype/open-design.json +++ b/plugins/_official/examples/web-prototype/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-web-prototype", "title": "Web Prototype", "version": "0.1.0", diff --git a/plugins/_official/examples/weekly-update/open-design.json b/plugins/_official/examples/weekly-update/open-design.json index f05b15b4d..3366f5803 100644 --- a/plugins/_official/examples/weekly-update/open-design.json +++ b/plugins/_official/examples/weekly-update/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-weekly-update", "title": "Weekly Update", "version": "0.1.0", diff --git a/plugins/_official/examples/wireframe-sketch/open-design.json b/plugins/_official/examples/wireframe-sketch/open-design.json index 03fde63c1..2f4c7b997 100644 --- a/plugins/_official/examples/wireframe-sketch/open-design.json +++ b/plugins/_official/examples/wireframe-sketch/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-wireframe-sketch", "title": "Wireframe Sketch", "version": "0.1.0", diff --git a/plugins/_official/examples/x-research/open-design.json b/plugins/_official/examples/x-research/open-design.json index 1a389be8c..713b28b79 100644 --- a/plugins/_official/examples/x-research/open-design.json +++ b/plugins/_official/examples/x-research/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "example-x-research", "title": "X Research", "version": "0.1.0", diff --git a/plugins/_official/image-templates/3d-stone-staircase-evolution-infographic/open-design.json b/plugins/_official/image-templates/3d-stone-staircase-evolution-infographic/open-design.json index 8e4b47665..904d770da 100644 --- a/plugins/_official/image-templates/3d-stone-staircase-evolution-infographic/open-design.json +++ b/plugins/_official/image-templates/3d-stone-staircase-evolution-infographic/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-3d-stone-staircase-evolution-infographic", "title": "3D Stone Staircase Evolution Infographic", "version": "0.1.0", diff --git a/plugins/_official/image-templates/anime-martial-arts-battle-illustration/open-design.json b/plugins/_official/image-templates/anime-martial-arts-battle-illustration/open-design.json index dc3e418fa..ba012cb6c 100644 --- a/plugins/_official/image-templates/anime-martial-arts-battle-illustration/open-design.json +++ b/plugins/_official/image-templates/anime-martial-arts-battle-illustration/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-anime-martial-arts-battle-illustration", "title": "Anime Martial Arts Battle Illustration", "version": "0.1.0", diff --git a/plugins/_official/image-templates/e-commerce-live-stream-ui-mockup/open-design.json b/plugins/_official/image-templates/e-commerce-live-stream-ui-mockup/open-design.json index 5b68adaaf..f5b14e1ef 100644 --- a/plugins/_official/image-templates/e-commerce-live-stream-ui-mockup/open-design.json +++ b/plugins/_official/image-templates/e-commerce-live-stream-ui-mockup/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-e-commerce-live-stream-ui-mockup", "title": "E-commerce Live Stream UI Mockup", "version": "0.1.0", diff --git a/plugins/_official/image-templates/game-screenshot-anime-fighting-game-captain-ryuuga-vs-kaze-renshin/open-design.json b/plugins/_official/image-templates/game-screenshot-anime-fighting-game-captain-ryuuga-vs-kaze-renshin/open-design.json index 688c1fc9c..611626988 100644 --- a/plugins/_official/image-templates/game-screenshot-anime-fighting-game-captain-ryuuga-vs-kaze-renshin/open-design.json +++ b/plugins/_official/image-templates/game-screenshot-anime-fighting-game-captain-ryuuga-vs-kaze-renshin/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-game-screenshot-anime-fighting-game-captain-ryuuga-vs-kaze-renshin", "title": "Game Screenshot - Anime Fighting Game: Captain Ryuuga vs Kaze Renshin", "version": "0.1.0", diff --git a/plugins/_official/image-templates/game-screenshot-three-kingdoms-guanyu-slaying-yanliang/open-design.json b/plugins/_official/image-templates/game-screenshot-three-kingdoms-guanyu-slaying-yanliang/open-design.json index 63848a7f7..98abf6699 100644 --- a/plugins/_official/image-templates/game-screenshot-three-kingdoms-guanyu-slaying-yanliang/open-design.json +++ b/plugins/_official/image-templates/game-screenshot-three-kingdoms-guanyu-slaying-yanliang/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-game-screenshot-three-kingdoms-guanyu-slaying-yanliang", "title": "Game Screenshot - Three Kingdoms ARPG: Guan Yu Slaying Yan Liang", "version": "0.1.0", diff --git a/plugins/_official/image-templates/game-screenshot-three-kingdoms-lyubu-yuanmen-archery/open-design.json b/plugins/_official/image-templates/game-screenshot-three-kingdoms-lyubu-yuanmen-archery/open-design.json index 39b44a5a7..a5761ff5f 100644 --- a/plugins/_official/image-templates/game-screenshot-three-kingdoms-lyubu-yuanmen-archery/open-design.json +++ b/plugins/_official/image-templates/game-screenshot-three-kingdoms-lyubu-yuanmen-archery/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-game-screenshot-three-kingdoms-lyubu-yuanmen-archery", "title": "Game Screenshot - Three Kingdoms ARPG: Lü Bu's Yuanmen Archery", "version": "0.1.0", diff --git a/plugins/_official/image-templates/game-screenshot-three-kingdoms-zhaoyun-cradle-escape/open-design.json b/plugins/_official/image-templates/game-screenshot-three-kingdoms-zhaoyun-cradle-escape/open-design.json index 270c93d78..9a5a8e415 100644 --- a/plugins/_official/image-templates/game-screenshot-three-kingdoms-zhaoyun-cradle-escape/open-design.json +++ b/plugins/_official/image-templates/game-screenshot-three-kingdoms-zhaoyun-cradle-escape/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-game-screenshot-three-kingdoms-zhaoyun-cradle-escape", "title": "Game Screenshot - Three Kingdoms ARPG: Zhao Yun's Cradle Escape at Changbanpo", "version": "0.1.0", diff --git a/plugins/_official/image-templates/game-ui-ancient-china-open-world-mmo-hud/open-design.json b/plugins/_official/image-templates/game-ui-ancient-china-open-world-mmo-hud/open-design.json index 5bd98fe39..0a2daf829 100644 --- a/plugins/_official/image-templates/game-ui-ancient-china-open-world-mmo-hud/open-design.json +++ b/plugins/_official/image-templates/game-ui-ancient-china-open-world-mmo-hud/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-game-ui-ancient-china-open-world-mmo-hud", "title": "Game UI - Ancient China Open-World MMO HUD", "version": "0.1.0", diff --git a/plugins/_official/image-templates/illustrated-city-food-map/open-design.json b/plugins/_official/image-templates/illustrated-city-food-map/open-design.json index 97ef3f000..0827b963d 100644 --- a/plugins/_official/image-templates/illustrated-city-food-map/open-design.json +++ b/plugins/_official/image-templates/illustrated-city-food-map/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-illustrated-city-food-map", "title": "Illustrated City Food Map", "version": "0.1.0", diff --git a/plugins/_official/image-templates/illustration-crayon-kid-drawing-rework/open-design.json b/plugins/_official/image-templates/illustration-crayon-kid-drawing-rework/open-design.json index c5ea32dec..43802b069 100644 --- a/plugins/_official/image-templates/illustration-crayon-kid-drawing-rework/open-design.json +++ b/plugins/_official/image-templates/illustration-crayon-kid-drawing-rework/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-illustration-crayon-kid-drawing-rework", "title": "Illustration - Crayon Kid-Drawing Rework", "version": "0.1.0", diff --git a/plugins/_official/image-templates/infographic-otaku-dance-choreography-breakdown-gokurakujodo-16-panels/open-design.json b/plugins/_official/image-templates/infographic-otaku-dance-choreography-breakdown-gokurakujodo-16-panels/open-design.json index 64f347d5f..df1d3b4ca 100644 --- a/plugins/_official/image-templates/infographic-otaku-dance-choreography-breakdown-gokurakujodo-16-panels/open-design.json +++ b/plugins/_official/image-templates/infographic-otaku-dance-choreography-breakdown-gokurakujodo-16-panels/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-infographic-otaku-dance-choreography-breakdown-gokurakujodo-16-panels", "title": "Infographic - Otaku Dance Choreography Breakdown (Gokuraku Jodo, 16 Panels)", "version": "0.1.0", diff --git a/plugins/_official/image-templates/momotaro-explainer-slide-in-hybrid-style/open-design.json b/plugins/_official/image-templates/momotaro-explainer-slide-in-hybrid-style/open-design.json index fa213a32d..94b0454ef 100644 --- a/plugins/_official/image-templates/momotaro-explainer-slide-in-hybrid-style/open-design.json +++ b/plugins/_official/image-templates/momotaro-explainer-slide-in-hybrid-style/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-momotaro-explainer-slide-in-hybrid-style", "title": "Momotaro Explainer Slide in Hybrid Style", "version": "0.1.0", diff --git a/plugins/_official/image-templates/notion-team-dashboard-live-artifact/open-design.json b/plugins/_official/image-templates/notion-team-dashboard-live-artifact/open-design.json index d56b98cdc..ed95739c6 100644 --- a/plugins/_official/image-templates/notion-team-dashboard-live-artifact/open-design.json +++ b/plugins/_official/image-templates/notion-team-dashboard-live-artifact/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-notion-team-dashboard-live-artifact", "title": "Notion-style Team Dashboard (Live Artifact)", "version": "0.1.0", diff --git a/plugins/_official/image-templates/profile-avatar-anime-girl-to-cinematic-photo/open-design.json b/plugins/_official/image-templates/profile-avatar-anime-girl-to-cinematic-photo/open-design.json index 8f126f47c..8d5951080 100644 --- a/plugins/_official/image-templates/profile-avatar-anime-girl-to-cinematic-photo/open-design.json +++ b/plugins/_official/image-templates/profile-avatar-anime-girl-to-cinematic-photo/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-profile-avatar-anime-girl-to-cinematic-photo", "title": "Profile / Avatar - Anime Girl to Cinematic Photo", "version": "0.1.0", diff --git a/plugins/_official/image-templates/profile-avatar-casual-fashion-grid-photoshoot/open-design.json b/plugins/_official/image-templates/profile-avatar-casual-fashion-grid-photoshoot/open-design.json index b2d6b7731..3a33ce07d 100644 --- a/plugins/_official/image-templates/profile-avatar-casual-fashion-grid-photoshoot/open-design.json +++ b/plugins/_official/image-templates/profile-avatar-casual-fashion-grid-photoshoot/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-profile-avatar-casual-fashion-grid-photoshoot", "title": "Profile / Avatar - Casual Fashion Grid Photoshoot", "version": "0.1.0", diff --git a/plugins/_official/image-templates/profile-avatar-cinematic-south-asian-male-portrait-with-vultures/open-design.json b/plugins/_official/image-templates/profile-avatar-cinematic-south-asian-male-portrait-with-vultures/open-design.json index e7387d0ff..971d86965 100644 --- a/plugins/_official/image-templates/profile-avatar-cinematic-south-asian-male-portrait-with-vultures/open-design.json +++ b/plugins/_official/image-templates/profile-avatar-cinematic-south-asian-male-portrait-with-vultures/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-profile-avatar-cinematic-south-asian-male-portrait-with-vultures", "title": "Profile / Avatar - Cinematic South Asian Male Portrait with Vultures", "version": "0.1.0", diff --git a/plugins/_official/image-templates/profile-avatar-cyberpunk-anime-portrait-with-neon-face-text/open-design.json b/plugins/_official/image-templates/profile-avatar-cyberpunk-anime-portrait-with-neon-face-text/open-design.json index bb198b371..ff532bd7c 100644 --- a/plugins/_official/image-templates/profile-avatar-cyberpunk-anime-portrait-with-neon-face-text/open-design.json +++ b/plugins/_official/image-templates/profile-avatar-cyberpunk-anime-portrait-with-neon-face-text/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-profile-avatar-cyberpunk-anime-portrait-with-neon-face-text", "title": "Profile / Avatar - Cyberpunk Anime Portrait with Neon Face Text", "version": "0.1.0", diff --git a/plugins/_official/image-templates/profile-avatar-elegant-fantasy-girl-in-violet-garden/open-design.json b/plugins/_official/image-templates/profile-avatar-elegant-fantasy-girl-in-violet-garden/open-design.json index 8f081dd5b..531a7d39a 100644 --- a/plugins/_official/image-templates/profile-avatar-elegant-fantasy-girl-in-violet-garden/open-design.json +++ b/plugins/_official/image-templates/profile-avatar-elegant-fantasy-girl-in-violet-garden/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-profile-avatar-elegant-fantasy-girl-in-violet-garden", "title": "Profile / Avatar - Elegant Fantasy Girl in Violet Garden", "version": "0.1.0", diff --git a/plugins/_official/image-templates/profile-avatar-ethereal-blue-haired-fantasy-portrait/open-design.json b/plugins/_official/image-templates/profile-avatar-ethereal-blue-haired-fantasy-portrait/open-design.json index 97de09992..5229b32a8 100644 --- a/plugins/_official/image-templates/profile-avatar-ethereal-blue-haired-fantasy-portrait/open-design.json +++ b/plugins/_official/image-templates/profile-avatar-ethereal-blue-haired-fantasy-portrait/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-profile-avatar-ethereal-blue-haired-fantasy-portrait", "title": "Profile / Avatar - Ethereal Blue-Haired Fantasy Portrait", "version": "0.1.0", diff --git a/plugins/_official/image-templates/profile-avatar-glamorous-woman-in-black-portrait/open-design.json b/plugins/_official/image-templates/profile-avatar-glamorous-woman-in-black-portrait/open-design.json index 0a198cd3d..9e8cffcfb 100644 --- a/plugins/_official/image-templates/profile-avatar-glamorous-woman-in-black-portrait/open-design.json +++ b/plugins/_official/image-templates/profile-avatar-glamorous-woman-in-black-portrait/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-profile-avatar-glamorous-woman-in-black-portrait", "title": "Profile / Avatar - Glamorous Woman in Black Portrait", "version": "0.1.0", diff --git a/plugins/_official/image-templates/profile-avatar-hyper-realistic-selfie-texture-prompts/open-design.json b/plugins/_official/image-templates/profile-avatar-hyper-realistic-selfie-texture-prompts/open-design.json index 3a4875b32..77fe296ce 100644 --- a/plugins/_official/image-templates/profile-avatar-hyper-realistic-selfie-texture-prompts/open-design.json +++ b/plugins/_official/image-templates/profile-avatar-hyper-realistic-selfie-texture-prompts/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-profile-avatar-hyper-realistic-selfie-texture-prompts", "title": "Profile / Avatar - Hyper-Realistic Selfie Texture Prompts", "version": "0.1.0", diff --git a/plugins/_official/image-templates/profile-avatar-lavender-fantasy-mage-portrait/open-design.json b/plugins/_official/image-templates/profile-avatar-lavender-fantasy-mage-portrait/open-design.json index 53bc50140..e750b22b6 100644 --- a/plugins/_official/image-templates/profile-avatar-lavender-fantasy-mage-portrait/open-design.json +++ b/plugins/_official/image-templates/profile-avatar-lavender-fantasy-mage-portrait/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-profile-avatar-lavender-fantasy-mage-portrait", "title": "Profile / Avatar - Lavender Fantasy Mage Portrait", "version": "0.1.0", diff --git a/plugins/_official/image-templates/profile-avatar-monochrome-studio-portrait/open-design.json b/plugins/_official/image-templates/profile-avatar-monochrome-studio-portrait/open-design.json index 747e4a35f..add88359e 100644 --- a/plugins/_official/image-templates/profile-avatar-monochrome-studio-portrait/open-design.json +++ b/plugins/_official/image-templates/profile-avatar-monochrome-studio-portrait/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-profile-avatar-monochrome-studio-portrait", "title": "Profile / Avatar - Monochrome Studio Portrait", "version": "0.1.0", diff --git a/plugins/_official/image-templates/profile-avatar-old-photo-restoration-to-dslr-portrait/open-design.json b/plugins/_official/image-templates/profile-avatar-old-photo-restoration-to-dslr-portrait/open-design.json index 030f48006..a49d18337 100644 --- a/plugins/_official/image-templates/profile-avatar-old-photo-restoration-to-dslr-portrait/open-design.json +++ b/plugins/_official/image-templates/profile-avatar-old-photo-restoration-to-dslr-portrait/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-profile-avatar-old-photo-restoration-to-dslr-portrait", "title": "Profile / Avatar - Old Photo Restoration to DSLR Portrait", "version": "0.1.0", diff --git a/plugins/_official/image-templates/profile-avatar-poetic-woman-in-garden-portrait/open-design.json b/plugins/_official/image-templates/profile-avatar-poetic-woman-in-garden-portrait/open-design.json index 9c46fe9ae..d2ea20971 100644 --- a/plugins/_official/image-templates/profile-avatar-poetic-woman-in-garden-portrait/open-design.json +++ b/plugins/_official/image-templates/profile-avatar-poetic-woman-in-garden-portrait/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-profile-avatar-poetic-woman-in-garden-portrait", "title": "Profile / Avatar - Poetic Woman in Garden Portrait", "version": "0.1.0", diff --git a/plugins/_official/image-templates/profile-avatar-professional-identity-portrait-wallpaper/open-design.json b/plugins/_official/image-templates/profile-avatar-professional-identity-portrait-wallpaper/open-design.json index 020cb3f94..77c0a5f7e 100644 --- a/plugins/_official/image-templates/profile-avatar-professional-identity-portrait-wallpaper/open-design.json +++ b/plugins/_official/image-templates/profile-avatar-professional-identity-portrait-wallpaper/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-profile-avatar-professional-identity-portrait-wallpaper", "title": "Profile / Avatar - Professional Identity Portrait Wallpaper", "version": "0.1.0", diff --git a/plugins/_official/image-templates/profile-avatar-realistically-imperfect-ai-selfie/open-design.json b/plugins/_official/image-templates/profile-avatar-realistically-imperfect-ai-selfie/open-design.json index 7076bbac6..eae335441 100644 --- a/plugins/_official/image-templates/profile-avatar-realistically-imperfect-ai-selfie/open-design.json +++ b/plugins/_official/image-templates/profile-avatar-realistically-imperfect-ai-selfie/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-profile-avatar-realistically-imperfect-ai-selfie", "title": "Profile / Avatar - Realistically Imperfect AI Selfie", "version": "0.1.0", diff --git a/plugins/_official/image-templates/profile-avatar-signed-marker-portrait-on-shikishi/open-design.json b/plugins/_official/image-templates/profile-avatar-signed-marker-portrait-on-shikishi/open-design.json index a333367ed..b756b851c 100644 --- a/plugins/_official/image-templates/profile-avatar-signed-marker-portrait-on-shikishi/open-design.json +++ b/plugins/_official/image-templates/profile-avatar-signed-marker-portrait-on-shikishi/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-profile-avatar-signed-marker-portrait-on-shikishi", "title": "Profile / Avatar - Signed Marker Portrait on Shikishi", "version": "0.1.0", diff --git a/plugins/_official/image-templates/profile-avatar-snow-rabbit-empress-portrait/open-design.json b/plugins/_official/image-templates/profile-avatar-snow-rabbit-empress-portrait/open-design.json index ba81a0f55..4f9d178e3 100644 --- a/plugins/_official/image-templates/profile-avatar-snow-rabbit-empress-portrait/open-design.json +++ b/plugins/_official/image-templates/profile-avatar-snow-rabbit-empress-portrait/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-profile-avatar-snow-rabbit-empress-portrait", "title": "Profile / Avatar - Snow Rabbit Empress Portrait", "version": "0.1.0", diff --git a/plugins/_official/image-templates/profile-avatar-snow-rabbit-mask-hanfu-portrait/open-design.json b/plugins/_official/image-templates/profile-avatar-snow-rabbit-mask-hanfu-portrait/open-design.json index de0dd0792..13804099c 100644 --- a/plugins/_official/image-templates/profile-avatar-snow-rabbit-mask-hanfu-portrait/open-design.json +++ b/plugins/_official/image-templates/profile-avatar-snow-rabbit-mask-hanfu-portrait/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-profile-avatar-snow-rabbit-mask-hanfu-portrait", "title": "Profile / Avatar - Snow Rabbit Mask Hanfu Portrait", "version": "0.1.0", diff --git a/plugins/_official/image-templates/profile-avatar-snowy-rabbit-hanfu-portrait/open-design.json b/plugins/_official/image-templates/profile-avatar-snowy-rabbit-hanfu-portrait/open-design.json index b6bf247a6..34029eac9 100644 --- a/plugins/_official/image-templates/profile-avatar-snowy-rabbit-hanfu-portrait/open-design.json +++ b/plugins/_official/image-templates/profile-avatar-snowy-rabbit-hanfu-portrait/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-profile-avatar-snowy-rabbit-hanfu-portrait", "title": "Profile / Avatar - Snowy Rabbit Hanfu Portrait", "version": "0.1.0", diff --git a/plugins/_official/image-templates/profile-avatar-snowy-rabbit-spirit-portrait/open-design.json b/plugins/_official/image-templates/profile-avatar-snowy-rabbit-spirit-portrait/open-design.json index 1edfa27a6..d65d29939 100644 --- a/plugins/_official/image-templates/profile-avatar-snowy-rabbit-spirit-portrait/open-design.json +++ b/plugins/_official/image-templates/profile-avatar-snowy-rabbit-spirit-portrait/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-profile-avatar-snowy-rabbit-spirit-portrait", "title": "Profile / Avatar - Snowy Rabbit Spirit Portrait", "version": "0.1.0", diff --git a/plugins/_official/image-templates/profile-avatar-song-dynasty-hanfu-portrait/open-design.json b/plugins/_official/image-templates/profile-avatar-song-dynasty-hanfu-portrait/open-design.json index 4266c8409..d76f8b98c 100644 --- a/plugins/_official/image-templates/profile-avatar-song-dynasty-hanfu-portrait/open-design.json +++ b/plugins/_official/image-templates/profile-avatar-song-dynasty-hanfu-portrait/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-profile-avatar-song-dynasty-hanfu-portrait", "title": "Profile / Avatar - Song Dynasty Hanfu Portrait", "version": "0.1.0", diff --git a/plugins/_official/image-templates/social-media-post-anime-pokemon-shop-outfit-teaser-poster/open-design.json b/plugins/_official/image-templates/social-media-post-anime-pokemon-shop-outfit-teaser-poster/open-design.json index 1bdb7a839..b666eab45 100644 --- a/plugins/_official/image-templates/social-media-post-anime-pokemon-shop-outfit-teaser-poster/open-design.json +++ b/plugins/_official/image-templates/social-media-post-anime-pokemon-shop-outfit-teaser-poster/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-social-media-post-anime-pokemon-shop-outfit-teaser-poster", "title": "Social Media Post - Anime Pokémon Shop Outfit Teaser Poster", "version": "0.1.0", diff --git a/plugins/_official/image-templates/social-media-post-cinematic-elevator-scene/open-design.json b/plugins/_official/image-templates/social-media-post-cinematic-elevator-scene/open-design.json index 28abd407e..f9fa15d57 100644 --- a/plugins/_official/image-templates/social-media-post-cinematic-elevator-scene/open-design.json +++ b/plugins/_official/image-templates/social-media-post-cinematic-elevator-scene/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-social-media-post-cinematic-elevator-scene", "title": "Social Media Post - Cinematic Elevator Scene", "version": "0.1.0", diff --git a/plugins/_official/image-templates/social-media-post-confused-elf-girl-at-pastel-desk/open-design.json b/plugins/_official/image-templates/social-media-post-confused-elf-girl-at-pastel-desk/open-design.json index cfdb709af..cab9b8d9a 100644 --- a/plugins/_official/image-templates/social-media-post-confused-elf-girl-at-pastel-desk/open-design.json +++ b/plugins/_official/image-templates/social-media-post-confused-elf-girl-at-pastel-desk/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-social-media-post-confused-elf-girl-at-pastel-desk", "title": "Social Media Post - Confused Elf Girl at Pastel Desk", "version": "0.1.0", diff --git a/plugins/_official/image-templates/social-media-post-editorial-fashion-photography/open-design.json b/plugins/_official/image-templates/social-media-post-editorial-fashion-photography/open-design.json index 0d1279cf3..299a26e86 100644 --- a/plugins/_official/image-templates/social-media-post-editorial-fashion-photography/open-design.json +++ b/plugins/_official/image-templates/social-media-post-editorial-fashion-photography/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-social-media-post-editorial-fashion-photography", "title": "Social Media Post - Editorial Fashion Photography", "version": "0.1.0", diff --git a/plugins/_official/image-templates/social-media-post-fashion-editorial-collage/open-design.json b/plugins/_official/image-templates/social-media-post-fashion-editorial-collage/open-design.json index 90b1247be..e49f97458 100644 --- a/plugins/_official/image-templates/social-media-post-fashion-editorial-collage/open-design.json +++ b/plugins/_official/image-templates/social-media-post-fashion-editorial-collage/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-social-media-post-fashion-editorial-collage", "title": "Social Media Post - Fashion Editorial Collage", "version": "0.1.0", diff --git a/plugins/_official/image-templates/social-media-post-psg-transfer-announcement-poster/open-design.json b/plugins/_official/image-templates/social-media-post-psg-transfer-announcement-poster/open-design.json index afd680021..2589aef06 100644 --- a/plugins/_official/image-templates/social-media-post-psg-transfer-announcement-poster/open-design.json +++ b/plugins/_official/image-templates/social-media-post-psg-transfer-announcement-poster/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-social-media-post-psg-transfer-announcement-poster", "title": "Social Media Post - PSG Transfer Announcement Poster", "version": "0.1.0", diff --git a/plugins/_official/image-templates/social-media-post-sensational-girl-dance-storyboard-8-shots/open-design.json b/plugins/_official/image-templates/social-media-post-sensational-girl-dance-storyboard-8-shots/open-design.json index 2476c6c37..385d66e66 100644 --- a/plugins/_official/image-templates/social-media-post-sensational-girl-dance-storyboard-8-shots/open-design.json +++ b/plugins/_official/image-templates/social-media-post-sensational-girl-dance-storyboard-8-shots/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-social-media-post-sensational-girl-dance-storyboard-8-shots", "title": "Social Media Post - Sensational Girl Dance Storyboard (8 Shots)", "version": "0.1.0", diff --git a/plugins/_official/image-templates/social-media-post-showa-day-retro-culture-magazine-cover/open-design.json b/plugins/_official/image-templates/social-media-post-showa-day-retro-culture-magazine-cover/open-design.json index 7db1ec493..6d2fdf91e 100644 --- a/plugins/_official/image-templates/social-media-post-showa-day-retro-culture-magazine-cover/open-design.json +++ b/plugins/_official/image-templates/social-media-post-showa-day-retro-culture-magazine-cover/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-social-media-post-showa-day-retro-culture-magazine-cover", "title": "Social Media Post - Showa Day Retro Culture Magazine Cover", "version": "0.1.0", diff --git a/plugins/_official/image-templates/social-media-post-social-media-fashion-outfit-generation/open-design.json b/plugins/_official/image-templates/social-media-post-social-media-fashion-outfit-generation/open-design.json index edc68df83..1c8ebabc1 100644 --- a/plugins/_official/image-templates/social-media-post-social-media-fashion-outfit-generation/open-design.json +++ b/plugins/_official/image-templates/social-media-post-social-media-fashion-outfit-generation/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-social-media-post-social-media-fashion-outfit-generation", "title": "Social Media Post - Social Media Fashion Outfit Generation", "version": "0.1.0", diff --git a/plugins/_official/image-templates/social-media-post-travel-snapshot-collage-prompt/open-design.json b/plugins/_official/image-templates/social-media-post-travel-snapshot-collage-prompt/open-design.json index 9efb55266..e8295e9dd 100644 --- a/plugins/_official/image-templates/social-media-post-travel-snapshot-collage-prompt/open-design.json +++ b/plugins/_official/image-templates/social-media-post-travel-snapshot-collage-prompt/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-social-media-post-travel-snapshot-collage-prompt", "title": "Social Media Post - Travel Snapshot Collage Prompt", "version": "0.1.0", diff --git a/plugins/_official/image-templates/social-media-post-vintage-sign-painter-sketch/open-design.json b/plugins/_official/image-templates/social-media-post-vintage-sign-painter-sketch/open-design.json index 8add1d99c..5c9be02bd 100644 --- a/plugins/_official/image-templates/social-media-post-vintage-sign-painter-sketch/open-design.json +++ b/plugins/_official/image-templates/social-media-post-vintage-sign-painter-sketch/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-social-media-post-vintage-sign-painter-sketch", "title": "Social Media Post - Vintage Sign-Painter Sketch", "version": "0.1.0", diff --git a/plugins/_official/image-templates/vr-headset-exploded-view-poster/open-design.json b/plugins/_official/image-templates/vr-headset-exploded-view-poster/open-design.json index a630a2aa5..acb0c515f 100644 --- a/plugins/_official/image-templates/vr-headset-exploded-view-poster/open-design.json +++ b/plugins/_official/image-templates/vr-headset-exploded-view-poster/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "image-template-vr-headset-exploded-view-poster", "title": "VR Headset Exploded View Poster", "version": "0.1.0", diff --git a/plugins/_official/scenarios/od-code-migration/open-design.json b/plugins/_official/scenarios/od-code-migration/open-design.json index 59216e86f..427db1d28 100644 --- a/plugins/_official/scenarios/od-code-migration/open-design.json +++ b/plugins/_official/scenarios/od-code-migration/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "od-code-migration", "title": "Code migration (default scenario)", "version": "0.1.0", diff --git a/plugins/_official/scenarios/od-default/open-design.json b/plugins/_official/scenarios/od-default/open-design.json index df5079650..2e3c32312 100644 --- a/plugins/_official/scenarios/od-default/open-design.json +++ b/plugins/_official/scenarios/od-default/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "od-default", "title": "Default design router", "version": "0.1.0", diff --git a/plugins/_official/scenarios/od-design-refine/open-design.json b/plugins/_official/scenarios/od-design-refine/open-design.json index 9b6bae1e5..e31e523b1 100644 --- a/plugins/_official/scenarios/od-design-refine/open-design.json +++ b/plugins/_official/scenarios/od-design-refine/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "od-design-refine", "title": "Design refine", "version": "0.1.0", diff --git a/plugins/_official/scenarios/od-figma-migration/open-design.json b/plugins/_official/scenarios/od-figma-migration/open-design.json index cdd29ea81..1a45b5aa9 100644 --- a/plugins/_official/scenarios/od-figma-migration/open-design.json +++ b/plugins/_official/scenarios/od-figma-migration/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "od-figma-migration", "title": "Figma migration (default scenario)", "version": "0.1.0", diff --git a/plugins/_official/scenarios/od-media-generation/open-design.json b/plugins/_official/scenarios/od-media-generation/open-design.json index e4e84d311..6f351f0c5 100644 --- a/plugins/_official/scenarios/od-media-generation/open-design.json +++ b/plugins/_official/scenarios/od-media-generation/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "od-media-generation", "title": "Media generation (default scenario)", "version": "0.1.0", diff --git a/plugins/_official/scenarios/od-new-generation/open-design.json b/plugins/_official/scenarios/od-new-generation/open-design.json index bb1646b91..16c56522d 100644 --- a/plugins/_official/scenarios/od-new-generation/open-design.json +++ b/plugins/_official/scenarios/od-new-generation/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "od-new-generation", "title": "New generation (default scenario)", "version": "0.1.0", diff --git a/plugins/_official/scenarios/od-nextjs-export/open-design.json b/plugins/_official/scenarios/od-nextjs-export/open-design.json index 665f0bf0c..429214474 100644 --- a/plugins/_official/scenarios/od-nextjs-export/open-design.json +++ b/plugins/_official/scenarios/od-nextjs-export/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "od-nextjs-export", "title": "Export to Next.js", "version": "0.1.0", diff --git a/plugins/_official/scenarios/od-plugin-authoring/open-design.json b/plugins/_official/scenarios/od-plugin-authoring/open-design.json index 50c57cb23..ad0221f80 100644 --- a/plugins/_official/scenarios/od-plugin-authoring/open-design.json +++ b/plugins/_official/scenarios/od-plugin-authoring/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "od-plugin-authoring", "title": "Plugin authoring", "version": "0.1.0", diff --git a/plugins/_official/scenarios/od-react-export/open-design.json b/plugins/_official/scenarios/od-react-export/open-design.json index a2b8151da..a8d93f03d 100644 --- a/plugins/_official/scenarios/od-react-export/open-design.json +++ b/plugins/_official/scenarios/od-react-export/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "od-react-export", "title": "Export to React", "version": "0.1.0", diff --git a/plugins/_official/scenarios/od-tune-collab/open-design.json b/plugins/_official/scenarios/od-tune-collab/open-design.json index e7949c3d0..1ae54b0bf 100644 --- a/plugins/_official/scenarios/od-tune-collab/open-design.json +++ b/plugins/_official/scenarios/od-tune-collab/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "od-tune-collab", "title": "Tune & collaborate (default scenario)", "version": "0.1.0", diff --git a/plugins/_official/scenarios/od-vue-export/open-design.json b/plugins/_official/scenarios/od-vue-export/open-design.json index e06855968..594f6525e 100644 --- a/plugins/_official/scenarios/od-vue-export/open-design.json +++ b/plugins/_official/scenarios/od-vue-export/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "od-vue-export", "title": "Export to Vue", "version": "0.1.0", diff --git a/plugins/_official/video-templates/3d-animated-boy-building-lego/open-design.json b/plugins/_official/video-templates/3d-animated-boy-building-lego/open-design.json index 28870b055..8e0581268 100644 --- a/plugins/_official/video-templates/3d-animated-boy-building-lego/open-design.json +++ b/plugins/_official/video-templates/3d-animated-boy-building-lego/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-3d-animated-boy-building-lego", "title": "3D Animated Boy Building Lego", "version": "0.1.0", diff --git a/plugins/_official/video-templates/a-decade-of-refinement-glow-up/open-design.json b/plugins/_official/video-templates/a-decade-of-refinement-glow-up/open-design.json index 1f2e56b18..20bcc6769 100644 --- a/plugins/_official/video-templates/a-decade-of-refinement-glow-up/open-design.json +++ b/plugins/_official/video-templates/a-decade-of-refinement-glow-up/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-a-decade-of-refinement-glow-up", "title": "A Decade of Refinement Glow-Up", "version": "0.1.0", diff --git a/plugins/_official/video-templates/ancient-guardian-dragon-rescue/open-design.json b/plugins/_official/video-templates/ancient-guardian-dragon-rescue/open-design.json index 6c32693ca..379f8a9dd 100644 --- a/plugins/_official/video-templates/ancient-guardian-dragon-rescue/open-design.json +++ b/plugins/_official/video-templates/ancient-guardian-dragon-rescue/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-ancient-guardian-dragon-rescue", "title": "Ancient Guardian Dragon Rescue", "version": "0.1.0", diff --git a/plugins/_official/video-templates/ancient-indian-kingdom-fpv-video/open-design.json b/plugins/_official/video-templates/ancient-indian-kingdom-fpv-video/open-design.json index 3567d545b..20d31e0b5 100644 --- a/plugins/_official/video-templates/ancient-indian-kingdom-fpv-video/open-design.json +++ b/plugins/_official/video-templates/ancient-indian-kingdom-fpv-video/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-ancient-indian-kingdom-fpv-video", "title": "Ancient Indian Kingdom FPV Video", "version": "0.1.0", diff --git a/plugins/_official/video-templates/animation-transfer-and-camera-tracking-prompt/open-design.json b/plugins/_official/video-templates/animation-transfer-and-camera-tracking-prompt/open-design.json index 51ab35e84..28bf24853 100644 --- a/plugins/_official/video-templates/animation-transfer-and-camera-tracking-prompt/open-design.json +++ b/plugins/_official/video-templates/animation-transfer-and-camera-tracking-prompt/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-animation-transfer-and-camera-tracking-prompt", "title": "Animation transfer and camera tracking prompt", "version": "0.1.0", diff --git a/plugins/_official/video-templates/beat-synced-outfit-transformation-dance/open-design.json b/plugins/_official/video-templates/beat-synced-outfit-transformation-dance/open-design.json index e06619a6c..c9b299192 100644 --- a/plugins/_official/video-templates/beat-synced-outfit-transformation-dance/open-design.json +++ b/plugins/_official/video-templates/beat-synced-outfit-transformation-dance/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-beat-synced-outfit-transformation-dance", "title": "Beat-Synced Outfit Transformation Dance", "version": "0.1.0", diff --git a/plugins/_official/video-templates/character-intro-motion-graphics-sequence/open-design.json b/plugins/_official/video-templates/character-intro-motion-graphics-sequence/open-design.json index d38d2acb5..8602a8c08 100644 --- a/plugins/_official/video-templates/character-intro-motion-graphics-sequence/open-design.json +++ b/plugins/_official/video-templates/character-intro-motion-graphics-sequence/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-character-intro-motion-graphics-sequence", "title": "Character Intro Motion Graphics Sequence", "version": "0.1.0", diff --git a/plugins/_official/video-templates/cinematic-birthday-celebration-sequence/open-design.json b/plugins/_official/video-templates/cinematic-birthday-celebration-sequence/open-design.json index 8e46c9815..1cfbad767 100644 --- a/plugins/_official/video-templates/cinematic-birthday-celebration-sequence/open-design.json +++ b/plugins/_official/video-templates/cinematic-birthday-celebration-sequence/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-cinematic-birthday-celebration-sequence", "title": "Cinematic Birthday Celebration Sequence", "version": "0.1.0", diff --git a/plugins/_official/video-templates/cinematic-dragon-interaction-flight/open-design.json b/plugins/_official/video-templates/cinematic-dragon-interaction-flight/open-design.json index 292d297b0..aa4605a3d 100644 --- a/plugins/_official/video-templates/cinematic-dragon-interaction-flight/open-design.json +++ b/plugins/_official/video-templates/cinematic-dragon-interaction-flight/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-cinematic-dragon-interaction-flight", "title": "Cinematic Dragon Interaction & Flight", "version": "0.1.0", diff --git a/plugins/_official/video-templates/cinematic-east-asian-woman-hand-dance/open-design.json b/plugins/_official/video-templates/cinematic-east-asian-woman-hand-dance/open-design.json index 07fdef2e1..a04d72427 100644 --- a/plugins/_official/video-templates/cinematic-east-asian-woman-hand-dance/open-design.json +++ b/plugins/_official/video-templates/cinematic-east-asian-woman-hand-dance/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-cinematic-east-asian-woman-hand-dance", "title": "Cinematic East Asian Woman Hand Dance", "version": "0.1.0", diff --git a/plugins/_official/video-templates/cinematic-emotional-face-close-up/open-design.json b/plugins/_official/video-templates/cinematic-emotional-face-close-up/open-design.json index 7aa183a28..8c7b41816 100644 --- a/plugins/_official/video-templates/cinematic-emotional-face-close-up/open-design.json +++ b/plugins/_official/video-templates/cinematic-emotional-face-close-up/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-cinematic-emotional-face-close-up", "title": "Cinematic Emotional Face Close-up", "version": "0.1.0", diff --git a/plugins/_official/video-templates/cinematic-marine-biologist-exploration/open-design.json b/plugins/_official/video-templates/cinematic-marine-biologist-exploration/open-design.json index f23dada66..382a1f506 100644 --- a/plugins/_official/video-templates/cinematic-marine-biologist-exploration/open-design.json +++ b/plugins/_official/video-templates/cinematic-marine-biologist-exploration/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-cinematic-marine-biologist-exploration", "title": "Cinematic Marine Biologist Exploration", "version": "0.1.0", diff --git a/plugins/_official/video-templates/cinematic-music-podcast-and-guitar-technique/open-design.json b/plugins/_official/video-templates/cinematic-music-podcast-and-guitar-technique/open-design.json index 042f76f20..d31106308 100644 --- a/plugins/_official/video-templates/cinematic-music-podcast-and-guitar-technique/open-design.json +++ b/plugins/_official/video-templates/cinematic-music-podcast-and-guitar-technique/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-cinematic-music-podcast-and-guitar-technique", "title": "Cinematic Music Podcast and Guitar Technique", "version": "0.1.0", diff --git a/plugins/_official/video-templates/cinematic-route-navigation-guide/open-design.json b/plugins/_official/video-templates/cinematic-route-navigation-guide/open-design.json index 4ef11a1e0..9cf70e776 100644 --- a/plugins/_official/video-templates/cinematic-route-navigation-guide/open-design.json +++ b/plugins/_official/video-templates/cinematic-route-navigation-guide/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-cinematic-route-navigation-guide", "title": "Cinematic Route Navigation Guide", "version": "0.1.0", diff --git a/plugins/_official/video-templates/cinematic-street-racing-sequence-for-seedance-2/open-design.json b/plugins/_official/video-templates/cinematic-street-racing-sequence-for-seedance-2/open-design.json index 7aaa89ca1..26cbc72ba 100644 --- a/plugins/_official/video-templates/cinematic-street-racing-sequence-for-seedance-2/open-design.json +++ b/plugins/_official/video-templates/cinematic-street-racing-sequence-for-seedance-2/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-cinematic-street-racing-sequence-for-seedance-2", "title": "Cinematic Street Racing Sequence for Seedance 2", "version": "0.1.0", diff --git a/plugins/_official/video-templates/cinematic-vampire-alley-fight-sequence/open-design.json b/plugins/_official/video-templates/cinematic-vampire-alley-fight-sequence/open-design.json index ad5aeb8b4..8395de059 100644 --- a/plugins/_official/video-templates/cinematic-vampire-alley-fight-sequence/open-design.json +++ b/plugins/_official/video-templates/cinematic-vampire-alley-fight-sequence/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-cinematic-vampire-alley-fight-sequence", "title": "Cinematic vampire alley fight sequence", "version": "0.1.0", diff --git a/plugins/_official/video-templates/crimson-horizon-sci-fi-cinematic-sequence/open-design.json b/plugins/_official/video-templates/crimson-horizon-sci-fi-cinematic-sequence/open-design.json index 8cb92dce2..52615c166 100644 --- a/plugins/_official/video-templates/crimson-horizon-sci-fi-cinematic-sequence/open-design.json +++ b/plugins/_official/video-templates/crimson-horizon-sci-fi-cinematic-sequence/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-crimson-horizon-sci-fi-cinematic-sequence", "title": "Crimson Horizon Sci-Fi Cinematic Sequence", "version": "0.1.0", diff --git a/plugins/_official/video-templates/cyberpunk-game-trailer-script/open-design.json b/plugins/_official/video-templates/cyberpunk-game-trailer-script/open-design.json index a6f60613b..96eced3a2 100644 --- a/plugins/_official/video-templates/cyberpunk-game-trailer-script/open-design.json +++ b/plugins/_official/video-templates/cyberpunk-game-trailer-script/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-cyberpunk-game-trailer-script", "title": "Cyberpunk Game Trailer Script", "version": "0.1.0", diff --git a/plugins/_official/video-templates/forbidden-city-cat-satire/open-design.json b/plugins/_official/video-templates/forbidden-city-cat-satire/open-design.json index 5683ab58d..fd0381085 100644 --- a/plugins/_official/video-templates/forbidden-city-cat-satire/open-design.json +++ b/plugins/_official/video-templates/forbidden-city-cat-satire/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-forbidden-city-cat-satire", "title": "Forbidden City Cat Satire", "version": "0.1.0", diff --git a/plugins/_official/video-templates/hollywood-haute-couture-fantasy-video-prompt/open-design.json b/plugins/_official/video-templates/hollywood-haute-couture-fantasy-video-prompt/open-design.json index 59e2c1aa5..a6dbfa846 100644 --- a/plugins/_official/video-templates/hollywood-haute-couture-fantasy-video-prompt/open-design.json +++ b/plugins/_official/video-templates/hollywood-haute-couture-fantasy-video-prompt/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-hollywood-haute-couture-fantasy-video-prompt", "title": "Hollywood Haute Couture Fantasy Video Prompt", "version": "0.1.0", diff --git a/plugins/_official/video-templates/hunched-character-animation/open-design.json b/plugins/_official/video-templates/hunched-character-animation/open-design.json index 8211b8cd6..e20c018af 100644 --- a/plugins/_official/video-templates/hunched-character-animation/open-design.json +++ b/plugins/_official/video-templates/hunched-character-animation/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-hunched-character-animation", "title": "Hunched Character Animation", "version": "0.1.0", diff --git a/plugins/_official/video-templates/hyperframes-app-showcase-three-phones/open-design.json b/plugins/_official/video-templates/hyperframes-app-showcase-three-phones/open-design.json index 3791177e0..c13650f31 100644 --- a/plugins/_official/video-templates/hyperframes-app-showcase-three-phones/open-design.json +++ b/plugins/_official/video-templates/hyperframes-app-showcase-three-phones/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-hyperframes-app-showcase-three-phones", "title": "HyperFrames: 12-Second App Showcase — Three Floating Phones", "version": "0.1.0", diff --git a/plugins/_official/video-templates/hyperframes-brand-sizzle-reel/open-design.json b/plugins/_official/video-templates/hyperframes-brand-sizzle-reel/open-design.json index cabeac399..ff4330afd 100644 --- a/plugins/_official/video-templates/hyperframes-brand-sizzle-reel/open-design.json +++ b/plugins/_official/video-templates/hyperframes-brand-sizzle-reel/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-hyperframes-brand-sizzle-reel", "title": "HyperFrames: 30-Second Brand Sizzle Reel", "version": "0.1.0", diff --git a/plugins/_official/video-templates/hyperframes-data-bar-chart-race/open-design.json b/plugins/_official/video-templates/hyperframes-data-bar-chart-race/open-design.json index 15373b16f..f9999bac8 100644 --- a/plugins/_official/video-templates/hyperframes-data-bar-chart-race/open-design.json +++ b/plugins/_official/video-templates/hyperframes-data-bar-chart-race/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-hyperframes-data-bar-chart-race", "title": "HyperFrames: Animated Bar-Chart Race (NYT-style)", "version": "0.1.0", diff --git a/plugins/_official/video-templates/hyperframes-flight-map-route/open-design.json b/plugins/_official/video-templates/hyperframes-flight-map-route/open-design.json index 1d556d680..cbf31a3fc 100644 --- a/plugins/_official/video-templates/hyperframes-flight-map-route/open-design.json +++ b/plugins/_official/video-templates/hyperframes-flight-map-route/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-hyperframes-flight-map-route", "title": "HyperFrames: Apple-Style Flight Map (Origin → Destination)", "version": "0.1.0", diff --git a/plugins/_official/video-templates/hyperframes-logo-outro-cinematic/open-design.json b/plugins/_official/video-templates/hyperframes-logo-outro-cinematic/open-design.json index 902e743cc..f91a17933 100644 --- a/plugins/_official/video-templates/hyperframes-logo-outro-cinematic/open-design.json +++ b/plugins/_official/video-templates/hyperframes-logo-outro-cinematic/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-hyperframes-logo-outro-cinematic", "title": "HyperFrames: 4-Second Cinematic Logo Outro", "version": "0.1.0", diff --git a/plugins/_official/video-templates/hyperframes-money-counter-hype/open-design.json b/plugins/_official/video-templates/hyperframes-money-counter-hype/open-design.json index 5a798b615..900975f30 100644 --- a/plugins/_official/video-templates/hyperframes-money-counter-hype/open-design.json +++ b/plugins/_official/video-templates/hyperframes-money-counter-hype/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-hyperframes-money-counter-hype", "title": "HyperFrames: $0 → $10K Money Counter Hype (9:16)", "version": "0.1.0", diff --git a/plugins/_official/video-templates/hyperframes-product-reveal-minimal/open-design.json b/plugins/_official/video-templates/hyperframes-product-reveal-minimal/open-design.json index 0f8d4cae0..e3c565e1e 100644 --- a/plugins/_official/video-templates/hyperframes-product-reveal-minimal/open-design.json +++ b/plugins/_official/video-templates/hyperframes-product-reveal-minimal/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-hyperframes-product-reveal-minimal", "title": "HyperFrames: 5-Second Minimal Product Reveal", "version": "0.1.0", diff --git a/plugins/_official/video-templates/hyperframes-saas-product-promo-30s/open-design.json b/plugins/_official/video-templates/hyperframes-saas-product-promo-30s/open-design.json index 6d1c3b2ee..0ae2f3be2 100644 --- a/plugins/_official/video-templates/hyperframes-saas-product-promo-30s/open-design.json +++ b/plugins/_official/video-templates/hyperframes-saas-product-promo-30s/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-hyperframes-saas-product-promo-30s", "title": "HyperFrames: 30-Second SaaS Product Promo (Linear-style)", "version": "0.1.0", diff --git a/plugins/_official/video-templates/hyperframes-social-overlay-stack/open-design.json b/plugins/_official/video-templates/hyperframes-social-overlay-stack/open-design.json index 2daa2def9..8e7d0d83e 100644 --- a/plugins/_official/video-templates/hyperframes-social-overlay-stack/open-design.json +++ b/plugins/_official/video-templates/hyperframes-social-overlay-stack/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-hyperframes-social-overlay-stack", "title": "HyperFrames: 9:16 Social Overlay Stack (X · Reddit · Spotify · Instagram)", "version": "0.1.0", diff --git a/plugins/_official/video-templates/hyperframes-tiktok-karaoke-talking-head/open-design.json b/plugins/_official/video-templates/hyperframes-tiktok-karaoke-talking-head/open-design.json index a5787a768..a687bb8a2 100644 --- a/plugins/_official/video-templates/hyperframes-tiktok-karaoke-talking-head/open-design.json +++ b/plugins/_official/video-templates/hyperframes-tiktok-karaoke-talking-head/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-hyperframes-tiktok-karaoke-talking-head", "title": "HyperFrames: 9:16 TikTok Talking-Head with Karaoke Captions", "version": "0.1.0", diff --git a/plugins/_official/video-templates/hyperframes-website-to-video-promo/open-design.json b/plugins/_official/video-templates/hyperframes-website-to-video-promo/open-design.json index 37f2d06f5..7e7ca5834 100644 --- a/plugins/_official/video-templates/hyperframes-website-to-video-promo/open-design.json +++ b/plugins/_official/video-templates/hyperframes-website-to-video-promo/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-hyperframes-website-to-video-promo", "title": "HyperFrames: Website-to-Video Pipeline (15-Second Marketing Cut)", "version": "0.1.0", diff --git a/plugins/_official/video-templates/live-action-anime-adaptation-water-vs-thunder-breathing-duel/open-design.json b/plugins/_official/video-templates/live-action-anime-adaptation-water-vs-thunder-breathing-duel/open-design.json index eea15a4ab..2a1a1202d 100644 --- a/plugins/_official/video-templates/live-action-anime-adaptation-water-vs-thunder-breathing-duel/open-design.json +++ b/plugins/_official/video-templates/live-action-anime-adaptation-water-vs-thunder-breathing-duel/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-live-action-anime-adaptation-water-vs-thunder-breathing-duel", "title": "Live-Action Anime Adaptation: Water vs. Thunder Breathing Duel", "version": "0.1.0", diff --git a/plugins/_official/video-templates/luxury-supercar-cinematic-narrative/open-design.json b/plugins/_official/video-templates/luxury-supercar-cinematic-narrative/open-design.json index 99933fc22..0b800536d 100644 --- a/plugins/_official/video-templates/luxury-supercar-cinematic-narrative/open-design.json +++ b/plugins/_official/video-templates/luxury-supercar-cinematic-narrative/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-luxury-supercar-cinematic-narrative", "title": "Luxury Supercar Cinematic Narrative", "version": "0.1.0", diff --git a/plugins/_official/video-templates/magical-academy-storyboard-sequence/open-design.json b/plugins/_official/video-templates/magical-academy-storyboard-sequence/open-design.json index c49b4a994..1674f8fa8 100644 --- a/plugins/_official/video-templates/magical-academy-storyboard-sequence/open-design.json +++ b/plugins/_official/video-templates/magical-academy-storyboard-sequence/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-magical-academy-storyboard-sequence", "title": "Magical Academy Storyboard Sequence", "version": "0.1.0", diff --git a/plugins/_official/video-templates/modern-rural-aesthetics-healing-short-film-video-prompt/open-design.json b/plugins/_official/video-templates/modern-rural-aesthetics-healing-short-film-video-prompt/open-design.json index fcae2822a..5a3e7c0f3 100644 --- a/plugins/_official/video-templates/modern-rural-aesthetics-healing-short-film-video-prompt/open-design.json +++ b/plugins/_official/video-templates/modern-rural-aesthetics-healing-short-film-video-prompt/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-modern-rural-aesthetics-healing-short-film-video-prompt", "title": "Modern Rural Aesthetics Healing Short Film Video Prompt", "version": "0.1.0", diff --git a/plugins/_official/video-templates/nightclub-flyer-atmospheric-animation/open-design.json b/plugins/_official/video-templates/nightclub-flyer-atmospheric-animation/open-design.json index 3dd6ab2c7..adb84a220 100644 --- a/plugins/_official/video-templates/nightclub-flyer-atmospheric-animation/open-design.json +++ b/plugins/_official/video-templates/nightclub-flyer-atmospheric-animation/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-nightclub-flyer-atmospheric-animation", "title": "Nightclub Flyer Atmospheric Animation", "version": "0.1.0", diff --git a/plugins/_official/video-templates/retro-hk-wuxia-film-aesthetic/open-design.json b/plugins/_official/video-templates/retro-hk-wuxia-film-aesthetic/open-design.json index 232f4fd8f..0176dfbd8 100644 --- a/plugins/_official/video-templates/retro-hk-wuxia-film-aesthetic/open-design.json +++ b/plugins/_official/video-templates/retro-hk-wuxia-film-aesthetic/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-retro-hk-wuxia-film-aesthetic", "title": "Retro HK Wuxia Film Aesthetic", "version": "0.1.0", diff --git a/plugins/_official/video-templates/seedance-2-0-15-second-cinematic-japanese-romance-short-film/open-design.json b/plugins/_official/video-templates/seedance-2-0-15-second-cinematic-japanese-romance-short-film/open-design.json index 9dd671765..5c5ce222a 100644 --- a/plugins/_official/video-templates/seedance-2-0-15-second-cinematic-japanese-romance-short-film/open-design.json +++ b/plugins/_official/video-templates/seedance-2-0-15-second-cinematic-japanese-romance-short-film/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-seedance-2-0-15-second-cinematic-japanese-romance-short-film", "title": "Seedance 2.0: 15-Second Cinematic Japanese Romance Short Film", "version": "0.1.0", diff --git a/plugins/_official/video-templates/seedance-2-0-80-year-old-rapper-mv/open-design.json b/plugins/_official/video-templates/seedance-2-0-80-year-old-rapper-mv/open-design.json index 210bd9261..f5e291d5e 100644 --- a/plugins/_official/video-templates/seedance-2-0-80-year-old-rapper-mv/open-design.json +++ b/plugins/_official/video-templates/seedance-2-0-80-year-old-rapper-mv/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-seedance-2-0-80-year-old-rapper-mv", "title": "Seedance 2.0: 80-Year-Old Rapper MV", "version": "0.1.0", diff --git a/plugins/_official/video-templates/sequence-and-movement-instruction-for-martial-arts-video/open-design.json b/plugins/_official/video-templates/sequence-and-movement-instruction-for-martial-arts-video/open-design.json index fd5703c57..41cd0b42a 100644 --- a/plugins/_official/video-templates/sequence-and-movement-instruction-for-martial-arts-video/open-design.json +++ b/plugins/_official/video-templates/sequence-and-movement-instruction-for-martial-arts-video/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-sequence-and-movement-instruction-for-martial-arts-video", "title": "Sequence and Movement Instruction for Martial Arts Video", "version": "0.1.0", diff --git a/plugins/_official/video-templates/soul-switching-mirror-magic-sequence/open-design.json b/plugins/_official/video-templates/soul-switching-mirror-magic-sequence/open-design.json index d6467df31..94e495576 100644 --- a/plugins/_official/video-templates/soul-switching-mirror-magic-sequence/open-design.json +++ b/plugins/_official/video-templates/soul-switching-mirror-magic-sequence/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-soul-switching-mirror-magic-sequence", "title": "Soul-Switching Mirror Magic Sequence", "version": "0.1.0", diff --git a/plugins/_official/video-templates/toaster-rocket-jumpscare/open-design.json b/plugins/_official/video-templates/toaster-rocket-jumpscare/open-design.json index 6181a6dfb..f819a0d18 100644 --- a/plugins/_official/video-templates/toaster-rocket-jumpscare/open-design.json +++ b/plugins/_official/video-templates/toaster-rocket-jumpscare/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-toaster-rocket-jumpscare", "title": "Toaster Rocket Jumpscare", "version": "0.1.0", diff --git a/plugins/_official/video-templates/traditional-dance-performance/open-design.json b/plugins/_official/video-templates/traditional-dance-performance/open-design.json index 6c69f125d..4901e5887 100644 --- a/plugins/_official/video-templates/traditional-dance-performance/open-design.json +++ b/plugins/_official/video-templates/traditional-dance-performance/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-traditional-dance-performance", "title": "Traditional Dance Performance", "version": "0.1.0", diff --git a/plugins/_official/video-templates/video-seedance-three-kingdoms-guanyu-slaying-yanliang/open-design.json b/plugins/_official/video-templates/video-seedance-three-kingdoms-guanyu-slaying-yanliang/open-design.json index 6e45571d7..0dd5bfe04 100644 --- a/plugins/_official/video-templates/video-seedance-three-kingdoms-guanyu-slaying-yanliang/open-design.json +++ b/plugins/_official/video-templates/video-seedance-three-kingdoms-guanyu-slaying-yanliang/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-video-seedance-three-kingdoms-guanyu-slaying-yanliang", "title": "Video - Three Kingdoms ARPG - Guan Yu Slays Yan Liang (Seedance 2.0)", "version": "0.1.0", diff --git a/plugins/_official/video-templates/video-seedance-three-kingdoms-lyubu-yuanmen-archery/open-design.json b/plugins/_official/video-templates/video-seedance-three-kingdoms-lyubu-yuanmen-archery/open-design.json index 3da14469d..fc0f10455 100644 --- a/plugins/_official/video-templates/video-seedance-three-kingdoms-lyubu-yuanmen-archery/open-design.json +++ b/plugins/_official/video-templates/video-seedance-three-kingdoms-lyubu-yuanmen-archery/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-video-seedance-three-kingdoms-lyubu-yuanmen-archery", "title": "Video - Three Kingdoms ARPG - Lyu Bu Yuanmen Archery (Seedance 2.0)", "version": "0.1.0", diff --git a/plugins/_official/video-templates/video-seedance-three-kingdoms-zhaoyun-cradle-escape/open-design.json b/plugins/_official/video-templates/video-seedance-three-kingdoms-zhaoyun-cradle-escape/open-design.json index db70afc29..9dc0728e5 100644 --- a/plugins/_official/video-templates/video-seedance-three-kingdoms-zhaoyun-cradle-escape/open-design.json +++ b/plugins/_official/video-templates/video-seedance-three-kingdoms-zhaoyun-cradle-escape/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-video-seedance-three-kingdoms-zhaoyun-cradle-escape", "title": "Video - Three Kingdoms ARPG - Zhao Yun Cradle Escape (Seedance 2.0)", "version": "0.1.0", diff --git a/plugins/_official/video-templates/vintage-disney-style-pirate-crocodile-animation/open-design.json b/plugins/_official/video-templates/vintage-disney-style-pirate-crocodile-animation/open-design.json index 77136b901..3d058eefa 100644 --- a/plugins/_official/video-templates/vintage-disney-style-pirate-crocodile-animation/open-design.json +++ b/plugins/_official/video-templates/vintage-disney-style-pirate-crocodile-animation/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-vintage-disney-style-pirate-crocodile-animation", "title": "Vintage Disney Style Pirate Crocodile Animation", "version": "0.1.0", diff --git a/plugins/_official/video-templates/viral-k-pop-dance-choreography/open-design.json b/plugins/_official/video-templates/viral-k-pop-dance-choreography/open-design.json index 2a29af087..931d747d2 100644 --- a/plugins/_official/video-templates/viral-k-pop-dance-choreography/open-design.json +++ b/plugins/_official/video-templates/viral-k-pop-dance-choreography/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-viral-k-pop-dance-choreography", "title": "Viral K-pop Dance Choreography", "version": "0.1.0", diff --git a/plugins/_official/video-templates/wasteland-factory-chase/open-design.json b/plugins/_official/video-templates/wasteland-factory-chase/open-design.json index 5547c7660..d1d321e56 100644 --- a/plugins/_official/video-templates/wasteland-factory-chase/open-design.json +++ b/plugins/_official/video-templates/wasteland-factory-chase/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "video-template-wasteland-factory-chase", "title": "Wasteland Factory Chase", "version": "0.1.0", diff --git a/plugins/spec/AGENT-DEVELOPMENT.md b/plugins/spec/AGENT-DEVELOPMENT.md index c2f447979..ce891a43b 100644 --- a/plugins/spec/AGENT-DEVELOPMENT.md +++ b/plugins/spec/AGENT-DEVELOPMENT.md @@ -36,7 +36,7 @@ Read these files before editing: ``` 3. Keep the `SKILL.md` portable. It may mention Open Design behavior, but the core workflow must still make sense in any Agent Skills compatible agent. -4. Put OD-specific display, inputs, preview, pipeline, atoms, connectors, and capabilities in `open-design.json`. +4. Put OD-specific display, `specVersion`, plugin `version`, inputs, preview, pipeline, atoms, connectors, and capabilities in `open-design.json`. 5. Add `examples/`, `preview/`, `assets/`, or `references/` only when they materially help the agent produce better results. 6. Add `evals/evals.json` when the plugin has enough behavior to regress. 7. If publishing externally, prepare registry-safe README sections for skills.sh, ClawHub, and canonical GitHub source. @@ -47,7 +47,7 @@ The plugin is not done until: - `SKILL.md` has a clear "Use this plugin when..." description. - The workflow states the expected output files or handoff result. -- `open-design.json` validates against the v1 shape. +- `open-design.json` validates against the v1 shape and carries explicit `specVersion` plus plugin `version`. - The declared atoms are known first-party atoms or clearly marked future work. - The declared capabilities are the minimum needed. - Visual plugins include a preview or concrete example output. @@ -74,7 +74,7 @@ od plugin apply --input key=value When opening or preparing a PR, include: -- Plugin id and lane. +- Plugin id, spec version, plugin version, and lane. - What user request should trigger it. - Files changed. - Validation commands and results. diff --git a/plugins/spec/AGENT-DEVELOPMENT.zh-CN.md b/plugins/spec/AGENT-DEVELOPMENT.zh-CN.md index 621bbe6bc..06feeaacd 100644 --- a/plugins/spec/AGENT-DEVELOPMENT.zh-CN.md +++ b/plugins/spec/AGENT-DEVELOPMENT.zh-CN.md @@ -36,7 +36,7 @@ ``` 3. 保持 `SKILL.md` 可移植。它可以提到 Open Design 行为,但核心 workflow 必须在任何 Agent Skills 兼容 agent 中都能理解。 -4. 把 OD 专属 display、inputs、preview、pipeline、atoms、connectors 和 capabilities 放进 `open-design.json`。 +4. 把 OD 专属 display、`specVersion`、插件 `version`、inputs、preview、pipeline、atoms、connectors 和 capabilities 放进 `open-design.json`。 5. 只有在能明显提升 agent 输出质量时,才添加 `examples/`、`preview/`、`assets/` 或 `references/`。 6. 当插件行为足够复杂、容易回归时,添加 `evals/evals.json`。 7. 如果要对外发布,准备适配 skills.sh、ClawHub 和 canonical GitHub source 的 registry-safe README 段落。 @@ -47,7 +47,7 @@ - `SKILL.md` 有清晰的 “Use this plugin when...” 触发描述。 - workflow 写明期望输出文件或 handoff 结果。 -- `open-design.json` 符合 v1 形态。 +- `open-design.json` 符合 v1 形态,并显式携带 `specVersion` 与插件 `version`。 - 声明的 atoms 是已知一方 atoms,或明确标注为未来工作。 - capabilities 是最小必要集合。 - 视觉类插件包含 preview 或具体示例输出。 @@ -74,7 +74,7 @@ od plugin apply --input key=value 准备 PR 时包含: -- 插件 id 和主类。 +- 插件 id、spec version、插件 version 和主类。 - 哪类用户请求应该触发它。 - 修改的文件。 - 验证命令与结果。 diff --git a/plugins/spec/CONTRIBUTING.md b/plugins/spec/CONTRIBUTING.md index 7268825fe..1a28eafcc 100644 --- a/plugins/spec/CONTRIBUTING.md +++ b/plugins/spec/CONTRIBUTING.md @@ -17,6 +17,7 @@ Plugins that follow this spec can live in this repo as examples, or in their own Reviewers should check: - The plugin has a portable `SKILL.md`. +- `open-design.json` declares `specVersion` and a plugin `version`. - `open-design.json` does not duplicate the skill body. - The plugin lane is clear: import, create, export, share, deploy, refine, or extend. - The output mode is clear for create plugins: prototype, deck, live-artifact, image, video, hyperframes, audio, or design-system. @@ -32,6 +33,8 @@ Reviewers should check: ## Plugin - ID: +- Spec version: +- Plugin version: - Lane: - Mode: - Source: @@ -49,6 +52,7 @@ Reviewers should check: ## Registry publishing - Canonical source: +- Marketplace catalog version: - skills.sh: - ClawHub: - Other registries: diff --git a/plugins/spec/CONTRIBUTING.zh-CN.md b/plugins/spec/CONTRIBUTING.zh-CN.md index 1f0f5ed30..3ea9a25a3 100644 --- a/plugins/spec/CONTRIBUTING.zh-CN.md +++ b/plugins/spec/CONTRIBUTING.zh-CN.md @@ -17,6 +17,7 @@ Reviewer 应检查: - 插件包含可移植的 `SKILL.md`。 +- `open-design.json` 声明 `specVersion` 和插件 `version`。 - `open-design.json` 没有复制 skill 正文。 - 插件主类清晰:import、create、export、share、deploy、refine 或 extend。 - create 插件的输出模式清晰:prototype、deck、live-artifact、image、video、hyperframes、audio 或 design-system。 @@ -32,6 +33,8 @@ Reviewer 应检查: ## Plugin - ID: +- Spec version: +- Plugin version: - Lane: - Mode: - Source: @@ -49,6 +52,7 @@ Reviewer 应检查: ## Registry publishing - Canonical source: +- Marketplace catalog version: - skills.sh: - ClawHub: - Other registries: diff --git a/plugins/spec/PUBLISHING-REGISTRIES.md b/plugins/spec/PUBLISHING-REGISTRIES.md index 52ae51b00..c242ebef6 100644 --- a/plugins/spec/PUBLISHING-REGISTRIES.md +++ b/plugins/spec/PUBLISHING-REGISTRIES.md @@ -91,6 +91,7 @@ For ClawHub-ready skills: - Run the dry run or inspect command before making a listing public. - Link back to the canonical GitHub repo and Open Design PR. - Keep changelog text honest and versioned. +- Keep `open-design.json` `specVersion` fixed to the spec kit version and bump plugin `version` for every publishable behavior change. ## Safety Checklist @@ -111,6 +112,9 @@ Public skill registries are supply-chain surfaces. Before publishing: - Canonical source: - Open Design PR: +- Open Design specVersion: +- Plugin version: +- Marketplace catalog version: - skills.sh install: - ClawHub listing: - Other registries: @@ -132,4 +136,3 @@ Public skill registries are supply-chain surfaces. Before publishing: - [ClawHub](https://clawhub.ai/) - [ClawHub quickstart](https://github.com/openclaw/clawhub/blob/main/docs/quickstart.md) - [How ClawHub works](https://documentation.openclaw.ai/clawhub/how-it-works) - diff --git a/plugins/spec/PUBLISHING-REGISTRIES.zh-CN.md b/plugins/spec/PUBLISHING-REGISTRIES.zh-CN.md index ebc3afc5a..456a89725 100644 --- a/plugins/spec/PUBLISHING-REGISTRIES.zh-CN.md +++ b/plugins/spec/PUBLISHING-REGISTRIES.zh-CN.md @@ -91,6 +91,7 @@ clawhub package publish --family code-plugin - 公开 listing 前先跑 dry run 或 inspect。 - 链回 canonical GitHub repo 和 Open Design PR。 - changelog 诚实且版本化。 +- `open-design.json` 的 `specVersion` 保持为规范包版本;每次可发布的行为变化都 bump 插件 `version`。 ## 安全 Checklist @@ -111,6 +112,9 @@ clawhub package publish --family code-plugin - Canonical source: - Open Design PR: +- Open Design specVersion: +- Plugin version: +- Marketplace catalog version: - skills.sh install: - ClawHub listing: - Other registries: @@ -132,4 +136,3 @@ clawhub package publish --family code-plugin - [ClawHub](https://clawhub.ai/) - [ClawHub quickstart](https://github.com/openclaw/clawhub/blob/main/docs/quickstart.md) - [How ClawHub works](https://documentation.openclaw.ai/clawhub/how-it-works) - diff --git a/plugins/spec/README.md b/plugins/spec/README.md index e459e35ef..55f196f26 100644 --- a/plugins/spec/README.md +++ b/plugins/spec/README.md @@ -40,7 +40,7 @@ Workflow lanes: 1. Copy `templates/` to a new plugin folder. 2. Rename the folder and frontmatter `name` to a lowercase id such as `launch-deck`. 3. Write a pushy `description` in `SKILL.md`: "Use this plugin when..." -4. Fill `open-design.json`: title, version, tags, `od.taskKind`, `od.mode`, `od.useCase.query`, `od.pipeline`, inputs, and capabilities. +4. Fill `open-design.json`: `specVersion`, title, plugin `version`, tags, `od.taskKind`, `od.mode`, `od.useCase.query`, `od.pipeline`, inputs, and capabilities. 5. Add a small `examples/` or `preview/` artifact if the plugin is visual. 6. Validate locally: diff --git a/plugins/spec/README.zh-CN.md b/plugins/spec/README.zh-CN.md index 6acf8283f..b83304fc0 100644 --- a/plugins/spec/README.zh-CN.md +++ b/plugins/spec/README.zh-CN.md @@ -40,7 +40,7 @@ Open Design 插件遵循和 Agent Skills 兼容的可移植形态:一个包含 1. 复制 `templates/` 到一个新的插件文件夹。 2. 把文件夹名和 frontmatter `name` 改成小写 id,例如 `launch-deck`。 3. 在 `SKILL.md` 里写清触发描述,格式建议是:“Use this plugin when...” -4. 填写 `open-design.json`:title、version、tags、`od.taskKind`、`od.mode`、`od.useCase.query`、`od.pipeline`、inputs 和 capabilities。 +4. 填写 `open-design.json`:`specVersion`、title、插件 `version`、tags、`od.taskKind`、`od.mode`、`od.useCase.query`、`od.pipeline`、inputs 和 capabilities。 5. 如果插件有视觉输出,添加一个小的 `examples/` 或 `preview/` artifact。 6. 本地校验: diff --git a/plugins/spec/SPEC.md b/plugins/spec/SPEC.md index d74e9e374..f830e56c1 100644 --- a/plugins/spec/SPEC.md +++ b/plugins/spec/SPEC.md @@ -45,6 +45,7 @@ my-plugin/ ```json { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "my-plugin", "title": "My Plugin", "version": "0.1.0", @@ -128,7 +129,9 @@ HyperFrames plugins may use `od.mode: "video"` plus a `hyperframes` tag when the ## 6. Manifest Rules - `name` is the stable plugin id. +- `specVersion` is the Open Design plugin spec version that this manifest follows. Use the current spec kit value (`1.0.0`) unless the schema moves. - `version` is required. Use semver when possible. +- `version` is the plugin package version, independent from `specVersion`. - `compat.agentSkills[0].path` should point to `./SKILL.md`. - `od.taskKind` must be one of `new-generation`, `figma-migration`, `code-migration`, or `tune-collab`. - `od.pipeline.stages[].atoms[]` should use known first-party atoms unless the plugin clearly targets a future OD release. @@ -205,10 +208,11 @@ Also add `evals/trigger-queries.json` for activation testing when the descriptio Before opening a PR: 1. Validate JSON syntax. -2. Run `pnpm guard`. -3. Run `pnpm --filter @open-design/plugin-runtime typecheck`. -4. If available, run `od plugin validate ./path/to/plugin`. -5. Include one screenshot, rendered preview, or example output when the plugin is visual. -6. Explain trust and capabilities in the PR body. +2. Confirm `open-design.json` includes `specVersion` and a bumped plugin `version` when behavior changed. +3. Run `pnpm guard`. +4. Run `pnpm --filter @open-design/plugin-runtime typecheck`. +5. If available, run `od plugin validate ./path/to/plugin`. +6. Include one screenshot, rendered preview, or example output when the plugin is visual. +7. Explain trust and capabilities in the PR body. For external registry distribution, follow [`PUBLISHING-REGISTRIES.md`](PUBLISHING-REGISTRIES.md). In short: keep GitHub or the Open Design PR as source of truth, make the folder installable as a generic `SKILL.md` skill, then publish or list it on skills.sh, ClawHub, or other registries only after local validation passes. diff --git a/plugins/spec/SPEC.zh-CN.md b/plugins/spec/SPEC.zh-CN.md index aa6c747c5..6aa3c4ab8 100644 --- a/plugins/spec/SPEC.zh-CN.md +++ b/plugins/spec/SPEC.zh-CN.md @@ -45,6 +45,7 @@ my-plugin/ ```json { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "my-plugin", "title": "My Plugin", "version": "0.1.0", @@ -128,7 +129,9 @@ HyperFrames 插件可以使用 `od.mode: "video"` 加 `hyperframes` tag,让它 ## 6. Manifest 规则 - `name` 是稳定插件 id。 +- `specVersion` 是此 manifest 遵循的 Open Design 插件规范版本。除非 schema 升级,否则使用当前规范包的值(`1.0.0`)。 - `version` 必填。尽量使用 semver。 +- `version` 是插件包自身版本,独立于 `specVersion`。 - `compat.agentSkills[0].path` 应指向 `./SKILL.md`。 - `od.taskKind` 必须是 `new-generation`、`figma-migration`、`code-migration` 或 `tune-collab`。 - `od.pipeline.stages[].atoms[]` 应使用已知一方 atoms,除非插件明确面向未来 OD 版本。 @@ -205,10 +208,11 @@ preview 应展示真实输出形态,而不是装饰性的 splash screen。 打开 PR 前: 1. 校验 JSON 语法。 -2. 运行 `pnpm guard`。 -3. 运行 `pnpm --filter @open-design/plugin-runtime typecheck`。 -4. 如果可用,运行 `od plugin validate ./path/to/plugin`。 -5. 视觉类插件包含一张截图、渲染 preview 或示例输出。 -6. 在 PR body 里说明 trust 和 capabilities。 +2. 确认 `open-design.json` 包含 `specVersion`,并在行为变化时 bump 插件 `version`。 +3. 运行 `pnpm guard`。 +4. 运行 `pnpm --filter @open-design/plugin-runtime typecheck`。 +5. 如果可用,运行 `od plugin validate ./path/to/plugin`。 +6. 视觉类插件包含一张截图、渲染 preview 或示例输出。 +7. 在 PR body 里说明 trust 和 capabilities。 外部 registry 分发策略见 [`PUBLISHING-REGISTRIES.zh-CN.md`](PUBLISHING-REGISTRIES.zh-CN.md)。简言之:把 GitHub 或 Open Design PR 作为 source of truth,让文件夹能作为通用 `SKILL.md` skill 安装;本地验证通过后,再发布或登记到 skills.sh、ClawHub 或其他 registry。 diff --git a/plugins/spec/examples/README.md b/plugins/spec/examples/README.md index 401b0553f..bbe719633 100644 --- a/plugins/spec/examples/README.md +++ b/plugins/spec/examples/README.md @@ -20,3 +20,4 @@ Coverage: - `extend-plugin-author` - extend lane. Use the examples as copyable patterns, then trim aggressively for your actual plugin. +The sample `open-design-marketplace.json` is versioned at the catalog level and each entry pins the listed plugin version so registry snapshots can be audited. diff --git a/plugins/spec/examples/README.zh-CN.md b/plugins/spec/examples/README.zh-CN.md index 7584fedb6..5e7d4af20 100644 --- a/plugins/spec/examples/README.zh-CN.md +++ b/plugins/spec/examples/README.zh-CN.md @@ -20,4 +20,4 @@ - `extend-plugin-author` - extend 主类。 使用这些示例作为可复制模式,然后为你的真实插件大幅裁剪。 - +示例 `open-design-marketplace.json` 在 catalog 顶层有版本,每个 entry 也固定列入的插件版本,便于 registry snapshot 审计。 diff --git a/plugins/spec/examples/create-hyperframes-launch/open-design.json b/plugins/spec/examples/create-hyperframes-launch/open-design.json index 5caa388eb..2013be4ba 100644 --- a/plugins/spec/examples/create-hyperframes-launch/open-design.json +++ b/plugins/spec/examples/create-hyperframes-launch/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "create-hyperframes-launch", "title": "HyperFrames Launch", "version": "0.1.0", diff --git a/plugins/spec/examples/create-image-campaign/open-design.json b/plugins/spec/examples/create-image-campaign/open-design.json index 3749e8d0f..2b7d0994e 100644 --- a/plugins/spec/examples/create-image-campaign/open-design.json +++ b/plugins/spec/examples/create-image-campaign/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "create-image-campaign", "title": "Image Campaign", "version": "0.1.0", diff --git a/plugins/spec/examples/create-live-artifact-ops/open-design.json b/plugins/spec/examples/create-live-artifact-ops/open-design.json index b8d643be5..4a4af6a3f 100644 --- a/plugins/spec/examples/create-live-artifact-ops/open-design.json +++ b/plugins/spec/examples/create-live-artifact-ops/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "create-live-artifact-ops", "title": "Example Live Ops Artifact", "version": "0.1.0", diff --git a/plugins/spec/examples/create-prototype-dashboard/open-design.json b/plugins/spec/examples/create-prototype-dashboard/open-design.json index 5acb83980..a4ebaba28 100644 --- a/plugins/spec/examples/create-prototype-dashboard/open-design.json +++ b/plugins/spec/examples/create-prototype-dashboard/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "create-prototype-dashboard", "title": "Example Ops Dashboard", "version": "0.1.0", diff --git a/plugins/spec/examples/create-slides-pitch/open-design.json b/plugins/spec/examples/create-slides-pitch/open-design.json index f71935a27..867da9c76 100644 --- a/plugins/spec/examples/create-slides-pitch/open-design.json +++ b/plugins/spec/examples/create-slides-pitch/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "create-slides-pitch", "title": "Example Pitch Slides", "version": "0.1.0", diff --git a/plugins/spec/examples/create-video-storyboard/open-design.json b/plugins/spec/examples/create-video-storyboard/open-design.json index 94ab9262d..118694f5f 100644 --- a/plugins/spec/examples/create-video-storyboard/open-design.json +++ b/plugins/spec/examples/create-video-storyboard/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "create-video-storyboard", "title": "Video Storyboard", "version": "0.1.0", diff --git a/plugins/spec/examples/deploy-vercel-static/open-design.json b/plugins/spec/examples/deploy-vercel-static/open-design.json index e648acb81..2578a1f64 100644 --- a/plugins/spec/examples/deploy-vercel-static/open-design.json +++ b/plugins/spec/examples/deploy-vercel-static/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "deploy-vercel-static", "title": "Deploy To Vercel", "version": "0.1.0", diff --git a/plugins/spec/examples/export-nextjs-handoff/open-design.json b/plugins/spec/examples/export-nextjs-handoff/open-design.json index 0a4cacc3b..75382f759 100644 --- a/plugins/spec/examples/export-nextjs-handoff/open-design.json +++ b/plugins/spec/examples/export-nextjs-handoff/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "export-nextjs-handoff", "title": "Next.js Handoff", "version": "0.1.0", diff --git a/plugins/spec/examples/extend-plugin-author/open-design.json b/plugins/spec/examples/extend-plugin-author/open-design.json index b27313938..4ad7c99e6 100644 --- a/plugins/spec/examples/extend-plugin-author/open-design.json +++ b/plugins/spec/examples/extend-plugin-author/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "extend-plugin-author", "title": "Plugin Author", "version": "0.1.0", diff --git a/plugins/spec/examples/import-screenshot-to-prototype/open-design.json b/plugins/spec/examples/import-screenshot-to-prototype/open-design.json index 37eca3ff5..c0eedfbec 100644 --- a/plugins/spec/examples/import-screenshot-to-prototype/open-design.json +++ b/plugins/spec/examples/import-screenshot-to-prototype/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "import-screenshot-to-prototype", "title": "Screenshot To Prototype", "version": "0.1.0", diff --git a/plugins/spec/examples/open-design-marketplace.json b/plugins/spec/examples/open-design-marketplace.json index 2e29d8a10..685130b08 100644 --- a/plugins/spec/examples/open-design-marketplace.json +++ b/plugins/spec/examples/open-design-marketplace.json @@ -1,6 +1,8 @@ { "$schema": "https://open-design.ai/schemas/marketplace.v1.json", + "specVersion": "1.0.0", "name": "open-design-spec-examples", + "version": "0.1.0", "owner": { "name": "Open Design Spec Examples", "url": "https://github.com/nexu-io/open-design" diff --git a/plugins/spec/examples/refine-critique-loop/open-design.json b/plugins/spec/examples/refine-critique-loop/open-design.json index af0c7dcae..acd237c03 100644 --- a/plugins/spec/examples/refine-critique-loop/open-design.json +++ b/plugins/spec/examples/refine-critique-loop/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "refine-critique-loop", "title": "Critique And Refine", "version": "0.1.0", diff --git a/plugins/spec/examples/share-github-pr/open-design.json b/plugins/spec/examples/share-github-pr/open-design.json index 7c6f70795..e49d2e387 100644 --- a/plugins/spec/examples/share-github-pr/open-design.json +++ b/plugins/spec/examples/share-github-pr/open-design.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "share-github-pr", "title": "Share as GitHub PR", "version": "0.1.0", diff --git a/plugins/spec/templates/README.template.md b/plugins/spec/templates/README.template.md index a95c685d8..562148c16 100644 --- a/plugins/spec/templates/README.template.md +++ b/plugins/spec/templates/README.template.md @@ -21,7 +21,7 @@ od plugin apply plugin-id --input artifact=prototype --input audience=founders - ## Files - `SKILL.md` - portable agent instructions. -- `open-design.json` - Open Design marketplace and apply metadata. +- `open-design.json` - versioned Open Design marketplace and apply metadata. - `examples/` - sample output or fixture prompts. - `evals/` - repeatable quality checks. diff --git a/plugins/spec/templates/README.template.zh-CN.md b/plugins/spec/templates/README.template.zh-CN.md index 429ce96db..3d600aa8f 100644 --- a/plugins/spec/templates/README.template.zh-CN.md +++ b/plugins/spec/templates/README.template.zh-CN.md @@ -21,7 +21,7 @@ od plugin apply plugin-id --input artifact=prototype --input audience=founders - ## 文件 - `SKILL.md` - 可移植 agent 指令。 -- `open-design.json` - Open Design marketplace 与 apply 元数据。 +- `open-design.json` - 带版本的 Open Design marketplace 与 apply 元数据。 - `examples/` - 示例输出或 fixture prompts。 - `evals/` - 可重复质量检查。 diff --git a/plugins/spec/templates/open-design.template.json b/plugins/spec/templates/open-design.template.json index 87dc4a65f..ae6153191 100644 --- a/plugins/spec/templates/open-design.template.json +++ b/plugins/spec/templates/open-design.template.json @@ -1,5 +1,6 @@ { "$schema": "https://open-design.ai/schemas/plugin.v1.json", + "specVersion": "1.0.0", "name": "plugin-id", "title": "Plugin Title", "version": "0.1.0", @@ -42,4 +43,3 @@ "capabilities": ["prompt:inject", "fs:write"] } } -