From 0edbf38171c7b386cec5535f4ad5683201e60a01 Mon Sep 17 00:00:00 2001 From: pftom <1043269994@qq.com> Date: Wed, 13 May 2026 22:24:50 +0800 Subject: [PATCH] feat(plugins): add specVersion and version fields to plugin and marketplace schemas - Introduced `specVersion` and `version` fields to the plugin and marketplace schemas, ensuring better versioning and compatibility tracking. - Updated various components and functions to handle the new fields, including database migrations, plugin snapshots, and marketplace management. - Enhanced tests to validate the presence and correctness of the new fields in plugin manifests and marketplace entries. - Improved documentation to reflect the changes in schema requirements and provide guidance on the new versioning system. This update strengthens the plugin ecosystem by providing clear versioning, enhancing the reliability and maintainability of plugins and marketplaces. --- apps/daemon/src/cli.ts | 6 +- apps/daemon/src/plugins/apply.ts | 1 + apps/daemon/src/plugins/export.ts | 1 + apps/daemon/src/plugins/marketplaces.ts | 120 +++++++++++++++--- apps/daemon/src/plugins/persistence.ts | 17 +++ apps/daemon/src/plugins/resolve-snapshot.ts | 1 + apps/daemon/src/plugins/scaffold.ts | 3 +- apps/daemon/src/plugins/snapshot-diff.ts | 1 + apps/daemon/src/plugins/snapshots.ts | 27 ++-- apps/daemon/src/server.ts | 7 +- .../sample-plugin/open-design.json | 1 + .../daemon/tests/plugins-marketplaces.test.ts | 15 ++- .../plugin-details/PluginMetaSections.tsx | 9 ++ docs/plugins-spec.md | 16 ++- docs/plugins-spec.zh-CN.md | 16 ++- docs/schemas/open-design.marketplace.v1.json | 8 +- docs/schemas/open-design.plugin.v1.json | 3 +- packages/contracts/src/plugins/apply.ts | 1 + packages/contracts/src/plugins/manifest.ts | 5 + packages/contracts/src/plugins/marketplace.ts | 12 +- .../contracts/tests/plugins-manifest.test.ts | 5 + .../src/adapters/agent-skill.ts | 8 +- .../src/adapters/claude-plugin.ts | 7 +- .../plugin-runtime/src/parsers/manifest.ts | 15 ++- packages/plugin-runtime/tests/parsers.test.ts | 23 +++- plugins/README.md | 3 +- plugins/README.zh-CN.md | 3 +- .../atoms/build-test/open-design.json | 1 + .../atoms/code-import/open-design.json | 1 + .../atoms/critique-theater/open-design.json | 1 + .../atoms/design-extract/open-design.json | 1 + .../atoms/diff-review/open-design.json | 1 + .../atoms/direction-picker/open-design.json | 1 + .../discovery-question-form/open-design.json | 1 + .../atoms/figma-extract/open-design.json | 1 + .../_official/atoms/handoff/open-design.json | 1 + .../atoms/patch-edit/open-design.json | 1 + .../atoms/rewrite-plan/open-design.json | 1 + .../atoms/todo-write/open-design.json | 1 + .../atoms/token-map/open-design.json | 1 + .../design-systems/agentic/open-design.json | 1 + .../design-systems/airbnb/open-design.json | 1 + .../design-systems/airtable/open-design.json | 1 + .../design-systems/ant/open-design.json | 1 + .../design-systems/apple/open-design.json | 1 + .../application/open-design.json | 1 + .../design-systems/arc/open-design.json | 1 + .../design-systems/artistic/open-design.json | 1 + .../atelier-zero/open-design.json | 1 + .../design-systems/bento/open-design.json | 1 + .../design-systems/binance/open-design.json | 1 + .../design-systems/bmw-m/open-design.json | 1 + .../design-systems/bmw/open-design.json | 1 + .../design-systems/bold/open-design.json | 1 + .../design-systems/brutalism/open-design.json | 1 + .../design-systems/bugatti/open-design.json | 1 + .../design-systems/cafe/open-design.json | 1 + .../design-systems/cal/open-design.json | 1 + .../design-systems/canva/open-design.json | 1 + .../design-systems/claude/open-design.json | 1 + .../design-systems/clay/open-design.json | 1 + .../claymorphism/open-design.json | 1 + .../design-systems/clean/open-design.json | 1 + .../clickhouse/open-design.json | 1 + .../design-systems/cohere/open-design.json | 1 + .../design-systems/coinbase/open-design.json | 1 + .../design-systems/colorful/open-design.json | 1 + .../design-systems/composio/open-design.json | 1 + .../contemporary/open-design.json | 1 + .../design-systems/corporate/open-design.json | 1 + .../design-systems/cosmic/open-design.json | 1 + .../design-systems/creative/open-design.json | 1 + .../design-systems/cursor/open-design.json | 1 + .../design-systems/dashboard/open-design.json | 1 + .../design-systems/default/open-design.json | 1 + .../design-systems/discord/open-design.json | 1 + .../design-systems/dithered/open-design.json | 1 + .../design-systems/doodle/open-design.json | 1 + .../design-systems/dramatic/open-design.json | 1 + .../design-systems/duolingo/open-design.json | 1 + .../design-systems/editorial/open-design.json | 1 + .../design-systems/elegant/open-design.json | 1 + .../elevenlabs/open-design.json | 1 + .../design-systems/energetic/open-design.json | 1 + .../enterprise/open-design.json | 1 + .../design-systems/expo/open-design.json | 1 + .../expressive/open-design.json | 1 + .../design-systems/fantasy/open-design.json | 1 + .../design-systems/ferrari/open-design.json | 1 + .../design-systems/figma/open-design.json | 1 + .../design-systems/flat/open-design.json | 1 + .../design-systems/framer/open-design.json | 1 + .../design-systems/friendly/open-design.json | 1 + .../futuristic/open-design.json | 1 + .../design-systems/github/open-design.json | 1 + .../glassmorphism/open-design.json | 1 + .../design-systems/gradient/open-design.json | 1 + .../design-systems/hashicorp/open-design.json | 1 + .../huggingface/open-design.json | 1 + .../design-systems/ibm/open-design.json | 1 + .../design-systems/intercom/open-design.json | 1 + .../design-systems/kami/open-design.json | 1 + .../design-systems/kraken/open-design.json | 1 + .../lamborghini/open-design.json | 1 + .../design-systems/levels/open-design.json | 1 + .../linear-app/open-design.json | 1 + .../design-systems/lingo/open-design.json | 1 + .../design-systems/lovable/open-design.json | 1 + .../design-systems/luxury/open-design.json | 1 + .../mastercard/open-design.json | 1 + .../design-systems/material/open-design.json | 1 + .../design-systems/meta/open-design.json | 1 + .../design-systems/minimal/open-design.json | 1 + .../design-systems/minimax/open-design.json | 1 + .../design-systems/mintlify/open-design.json | 1 + .../design-systems/miro/open-design.json | 1 + .../mission-control/open-design.json | 1 + .../mistral-ai/open-design.json | 1 + .../design-systems/modern/open-design.json | 1 + .../design-systems/mongodb/open-design.json | 1 + .../design-systems/mono/open-design.json | 1 + .../neobrutalism/open-design.json | 1 + .../design-systems/neon/open-design.json | 1 + .../neumorphism/open-design.json | 1 + .../design-systems/nike/open-design.json | 1 + .../design-systems/notion/open-design.json | 1 + .../design-systems/nvidia/open-design.json | 1 + .../design-systems/ollama/open-design.json | 1 + .../design-systems/openai/open-design.json | 1 + .../opencode-ai/open-design.json | 1 + .../design-systems/pacman/open-design.json | 1 + .../design-systems/paper/open-design.json | 1 + .../perspective/open-design.json | 1 + .../design-systems/pinterest/open-design.json | 1 + .../playstation/open-design.json | 1 + .../design-systems/posthog/open-design.json | 1 + .../design-systems/premium/open-design.json | 1 + .../professional/open-design.json | 1 + .../publication/open-design.json | 1 + .../design-systems/raycast/open-design.json | 1 + .../design-systems/refined/open-design.json | 1 + .../design-systems/renault/open-design.json | 1 + .../design-systems/replicate/open-design.json | 1 + .../design-systems/resend/open-design.json | 1 + .../design-systems/retro/open-design.json | 1 + .../design-systems/revolut/open-design.json | 1 + .../design-systems/runwayml/open-design.json | 1 + .../design-systems/sanity/open-design.json | 1 + .../design-systems/sentry/open-design.json | 1 + .../design-systems/shadcn/open-design.json | 1 + .../design-systems/shopify/open-design.json | 1 + .../design-systems/simple/open-design.json | 1 + .../skeumorphism/open-design.json | 1 + .../design-systems/sleek/open-design.json | 1 + .../design-systems/spacex/open-design.json | 1 + .../design-systems/spacious/open-design.json | 1 + .../design-systems/spotify/open-design.json | 1 + .../design-systems/starbucks/open-design.json | 1 + .../storytelling/open-design.json | 1 + .../design-systems/stripe/open-design.json | 1 + .../design-systems/supabase/open-design.json | 1 + .../superhuman/open-design.json | 1 + .../design-systems/tesla/open-design.json | 1 + .../design-systems/tetris/open-design.json | 1 + .../design-systems/theverge/open-design.json | 1 + .../together-ai/open-design.json | 1 + .../totality-festival/open-design.json | 1 + .../design-systems/uber/open-design.json | 1 + .../design-systems/urdu/open-design.json | 1 + .../design-systems/vercel/open-design.json | 1 + .../design-systems/vibrant/open-design.json | 1 + .../design-systems/vintage/open-design.json | 1 + .../design-systems/vodafone/open-design.json | 1 + .../design-systems/voltagent/open-design.json | 1 + .../warm-editorial/open-design.json | 1 + .../design-systems/warp/open-design.json | 1 + .../design-systems/webflow/open-design.json | 1 + .../design-systems/wired/open-design.json | 1 + .../design-systems/wise/open-design.json | 1 + .../design-systems/x-ai/open-design.json | 1 + .../xiaohongshu/open-design.json | 1 + .../design-systems/zapier/open-design.json | 1 + .../article-magazine/open-design.json | 1 + .../examples/audio-jingle/open-design.json | 1 + .../examples/blog-post/open-design.json | 1 + .../examples/card-twitter/open-design.json | 1 + .../card-xiaohongshu/open-design.json | 1 + .../clinical-case-report/open-design.json | 1 + .../examples/critique/open-design.json | 1 + .../examples/dashboard/open-design.json | 1 + .../examples/data-report/open-design.json | 1 + .../examples/dating-web/open-design.json | 1 + .../examples/dcf-valuation/open-design.json | 1 + .../deck-guizang-editorial/open-design.json | 1 + .../deck-open-slide-canvas/open-design.json | 1 + .../deck-swiss-international/open-design.json | 1 + .../examples/design-brief/open-design.json | 1 + .../examples/digital-eguide/open-design.json | 1 + .../doc-kami-parchment/open-design.json | 1 + .../examples/docs-page/open-design.json | 1 + .../examples/email-marketing/open-design.json | 1 + .../examples/eng-runbook/open-design.json | 1 + .../examples/finance-report/open-design.json | 1 + .../open-design.json | 1 + .../frame-data-chart-nyt/open-design.json | 1 + .../frame-flowchart-sticky/open-design.json | 1 + .../frame-glitch-title/open-design.json | 1 + .../frame-light-leak-cinema/open-design.json | 1 + .../frame-liquid-bg-hero/open-design.json | 1 + .../frame-logo-outro/open-design.json | 1 + .../frame-macos-notification/open-design.json | 1 + .../examples/gamified-app/open-design.json | 1 + .../github-dashboard/open-design.json | 1 + .../examples/guizang-ppt/open-design.json | 1 + .../examples/hatch-pet/open-design.json | 1 + .../examples/hr-onboarding/open-design.json | 1 + .../html-ppt-course-module/open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../html-ppt-pitch-deck/open-design.json | 1 + .../open-design.json | 1 + .../html-ppt-product-launch/open-design.json | 1 + .../html-ppt-taste-brutalist/open-design.json | 1 + .../html-ppt-taste-editorial/open-design.json | 1 + .../html-ppt-tech-sharing/open-design.json | 1 + .../open-design.json | 1 + .../html-ppt-weekly-report/open-design.json | 1 + .../html-ppt-xhs-pastel-card/open-design.json | 1 + .../html-ppt-xhs-post/open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../html-ppt-zhangzara-coral/open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../html-ppt-zhangzara-grove/open-design.json | 1 + .../open-design.json | 1 + .../html-ppt-zhangzara-mat/open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../examples/html-ppt/open-design.json | 1 + .../examples/hyperframes/open-design.json | 1 + .../examples/ib-pitch-book/open-design.json | 1 + .../examples/image-poster/open-design.json | 1 + .../examples/invoice/open-design.json | 1 + .../examples/kami-deck/open-design.json | 1 + .../examples/kami-landing/open-design.json | 1 + .../examples/kanban-board/open-design.json | 1 + .../examples/last30days/open-design.json | 1 + .../examples/live-artifact/open-design.json | 1 + .../examples/live-dashboard/open-design.json | 1 + .../examples/magazine-poster/open-design.json | 1 + .../examples/meeting-notes/open-design.json | 1 + .../examples/mobile-app/open-design.json | 1 + .../mobile-onboarding/open-design.json | 1 + .../mockup-device-3d/open-design.json | 1 + .../examples/motion-frames/open-design.json | 1 + .../open-design.json | 1 + .../od-plugin-publish-github/open-design.json | 1 + .../open-design-landing-deck/open-design.json | 1 + .../open-design-landing/open-design.json | 1 + .../examples/orbit-general/open-design.json | 1 + .../examples/orbit-github/open-design.json | 1 + .../examples/orbit-gmail/open-design.json | 1 + .../examples/orbit-linear/open-design.json | 1 + .../examples/orbit-notion/open-design.json | 1 + .../examples/pm-spec/open-design.json | 1 + .../examples/poster-hero/open-design.json | 1 + .../examples/ppt-keynote/open-design.json | 1 + .../pptx-html-fidelity-audit/open-design.json | 1 + .../examples/pricing-page/open-design.json | 1 + .../examples/replit-deck/open-design.json | 1 + .../examples/resume-modern/open-design.json | 1 + .../examples/saas-landing/open-design.json | 1 + .../examples/simple-deck/open-design.json | 1 + .../examples/social-carousel/open-design.json | 1 + .../social-media-dashboard/open-design.json | 1 + .../open-design.json | 1 + .../social-reddit-card/open-design.json | 1 + .../social-spotify-card/open-design.json | 1 + .../social-x-post-card/open-design.json | 1 + .../sprite-animation/open-design.json | 1 + .../examples/team-okrs/open-design.json | 1 + .../open-design.json | 1 + .../examples/tweaks/open-design.json | 1 + .../examples/vfx-text-cursor/open-design.json | 1 + .../video-hyperframes/open-design.json | 1 + .../examples/video-shortform/open-design.json | 1 + .../examples/waitlist-page/open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../web-prototype-taste-soft/open-design.json | 1 + .../examples/web-prototype/open-design.json | 1 + .../examples/weekly-update/open-design.json | 1 + .../wireframe-sketch/open-design.json | 1 + .../examples/x-research/open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../od-code-migration/open-design.json | 1 + .../scenarios/od-default/open-design.json | 1 + .../od-design-refine/open-design.json | 1 + .../od-figma-migration/open-design.json | 1 + .../od-media-generation/open-design.json | 1 + .../od-new-generation/open-design.json | 1 + .../od-nextjs-export/open-design.json | 1 + .../od-plugin-authoring/open-design.json | 1 + .../od-react-export/open-design.json | 1 + .../scenarios/od-tune-collab/open-design.json | 1 + .../scenarios/od-vue-export/open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../toaster-rocket-jumpscare/open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../open-design.json | 1 + .../wasteland-factory-chase/open-design.json | 1 + plugins/spec/AGENT-DEVELOPMENT.md | 6 +- plugins/spec/AGENT-DEVELOPMENT.zh-CN.md | 6 +- plugins/spec/CONTRIBUTING.md | 4 + plugins/spec/CONTRIBUTING.zh-CN.md | 4 + plugins/spec/PUBLISHING-REGISTRIES.md | 5 +- plugins/spec/PUBLISHING-REGISTRIES.zh-CN.md | 5 +- plugins/spec/README.md | 2 +- plugins/spec/README.zh-CN.md | 2 +- plugins/spec/SPEC.md | 14 +- plugins/spec/SPEC.zh-CN.md | 14 +- plugins/spec/examples/README.md | 1 + plugins/spec/examples/README.zh-CN.md | 2 +- .../open-design.json | 1 + .../create-image-campaign/open-design.json | 1 + .../create-live-artifact-ops/open-design.json | 1 + .../open-design.json | 1 + .../create-slides-pitch/open-design.json | 1 + .../create-video-storyboard/open-design.json | 1 + .../deploy-vercel-static/open-design.json | 1 + .../export-nextjs-handoff/open-design.json | 1 + .../extend-plugin-author/open-design.json | 1 + .../open-design.json | 1 + .../examples/open-design-marketplace.json | 2 + .../refine-critique-loop/open-design.json | 1 + .../examples/share-github-pr/open-design.json | 1 + plugins/spec/templates/README.template.md | 2 +- .../spec/templates/README.template.zh-CN.md | 2 +- .../spec/templates/open-design.template.json | 2 +- 455 files changed, 736 insertions(+), 83 deletions(-) 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"] } } -