var o=Object.defineProperty;var d=(a)=>a;function c(a,l){this[a]=d.bind(null,l)}var m=(a,l)=>{for(var r in l)o(a,r,{get:l[r],enumerable:!0,configurable:!0,set:c.bind(l,r)})};var n=(a,l)=>()=>(a&&(l=a(a=0)),l);import i from"@contractspec/lib.ui-link";import{ChevronRight as s}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-2",children:[e("h1",{className:"font-bold text-4xl",children:"Compatibility"}),e("p",{className:"text-lg text-muted-foreground",children:"Supported runtimes, frameworks, and agent modes for ContractSpec."})]}),t("div",{className:"space-y-6",children:[t("div",{className:"card-subtle space-y-3 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"Runtimes"}),t("ul",{className:"space-y-2 text-muted-foreground",children:[e("li",{children:"Node.js 20+"}),e("li",{children:"Bun 1.0+"})]})]}),t("div",{className:"card-subtle space-y-3 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"Frameworks"}),t("ul",{className:"space-y-2 text-muted-foreground",children:[e("li",{children:"Next.js 14+ (App Router preferred)"}),e("li",{children:"Bun + Elysia or compatible HTTP servers"})]})]}),t("div",{className:"card-subtle space-y-3 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"Package managers"}),t("ul",{className:"space-y-2 text-muted-foreground",children:[e("li",{children:"bun (recommended)"}),e("li",{children:"npm"}),e("li",{children:"pnpm"})]})]}),t("div",{className:"card-subtle space-y-3 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"AI agent modes"}),t("ul",{className:"space-y-2 text-muted-foreground",children:[e("li",{children:"claude-code"}),e("li",{children:"openai-codex"}),e("li",{children:"cursor"}),e("li",{children:"opencode"}),e("li",{children:"simple (direct LLM)"})]})]}),t("div",{className:"card-subtle space-y-3 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"Datastores"}),e("p",{className:"text-muted-foreground",children:"ContractSpec ships with Prisma-friendly defaults and can integrate with custom adapters for other databases."}),t("ul",{className:"space-y-2 text-muted-foreground",children:[e("li",{children:"PostgreSQL via Prisma"}),e("li",{children:"Custom adapters for other SQL/NoSQL stores"})]})]}),t("div",{className:"card-subtle space-y-3 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"Cross-platform UI architecture"}),t("p",{className:"text-muted-foreground",children:["Need the React and React Native component compatibility story? Read"," ",e(i,{href:"/docs/libraries/cross-platform-ui",className:"text-[color:var(--rust)] underline underline-offset-4",children:"Cross-platform UI"})," ","for the runtime and UI-layer split."]})]})]}),t("div",{className:"flex flex-wrap items-center gap-3 pt-2",children:[e(i,{href:"/docs/getting-started/start-here",className:"btn-ghost",children:"Start here"}),e(i,{href:"/docs/getting-started/troubleshooting",className:"btn-ghost",children:"Troubleshooting"}),t(i,{href:"/docs/getting-started/installation",className:"btn-primary",children:["Next: Installation ",e(s,{size:16})]})]})]})}export{N as CompatibilityPage};
