// @bun
import p from"@contractspec/lib.ui-link";import{jsx as a,jsxs as d}from"react/jsx-runtime";function o({title:l="Need the operating layer on top of OSS ContractSpec?",body:n="ContractSpec Studio helps teams turn evidence into proposed spec changes, governed delivery loops, and execution-ready task packs while keeping the open contract system as the source of truth.",ctaLabel:s="See what Studio adds",href:c="https://www.contractspec.studio/docs"}){return d("div",{className:"card-subtle space-y-3 p-6",children:[a("h3",{className:"font-semibold text-lg",children:l}),a("p",{className:"text-muted-foreground text-sm",children:n}),a(p,{href:c,className:"btn-primary",children:s})]})}import{CodeBlock as i}from"@contractspec/lib.design-system";import r from"@contractspec/lib.ui-link";import{ChevronRight as m}from"lucide-react";import{jsx as e,jsxs as t}from"react/jsx-runtime";function N(){return t("div",{className:"space-y-8",children:[t("div",{className:"space-y-3",children:[e("h1",{className:"font-bold text-4xl",children:"Plugin authoring templates"}),e("p",{className:"text-lg text-muted-foreground",children:"Scaffold focused Cursor plugins for ContractSpec product and core libraries."})]}),t("div",{className:"card-subtle space-y-4 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"Create a focused plugin"}),e("p",{className:"text-muted-foreground text-sm",children:"Start from a scoped domain and keep each plugin aligned to one product or library surface."}),e(i,{language:"bash",filename:"catalog-authoring-layout",code:`packages/apps-registry/cursor-marketplace/
  plugins/
    <plugin-name>/
      .cursor-plugin/plugin.json
      rules/
      commands/
      agents/
      skills/
      .mcp.json`})]}),t("div",{className:"card-subtle space-y-4 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"Template outputs"}),t("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[e("li",{children:".cursor-plugin/plugin.json with plugin metadata and paths"}),e("li",{children:"rules/, commands/, agents/, and skills/ content directories"}),e("li",{children:".mcp.json with all MCP server declarations used by the plugin"}),e("li",{children:"README.md describing scope and governance boundaries"})]})]}),t("div",{className:"card-subtle space-y-4 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"Validate before submission"}),e(i,{language:"bash",filename:"validate-marketplace-catalog",code:`# Validate all plugins referenced by root marketplace manifest
bun run plugin:contractspec:validate

# Optional in offline environments
SKIP_PLUGIN_NETWORK_CHECK=1 bun run plugin:contractspec:validate`})]}),e(o,{title:"Need evidence-backed template iteration?",body:"Studio helps teams prioritize template changes from real product signals and export implementation-ready task packs."}),t("div",{className:"flex items-center gap-4 pt-4",children:[t(r,{href:"/docs/ecosystem/plugins",className:"btn-primary",children:["Marketplace plugins ",e(m,{size:16})]}),e(r,{href:"/docs/ecosystem/registry",className:"btn-ghost",children:"Marketplace manifest"})]})]})}export{N as EcosystemTemplatesPage};
