// @bun
var N=Object.defineProperty;var O=(q)=>q;function Q(q,z){this[q]=O.bind(null,z)}var G=(q,z)=>{for(var F in z)N(q,F,{get:z[F],enumerable:!0,configurable:!0,set:Q.bind(z,F)})};var R=(q,z)=>()=>(q&&(z=q(q=0)),z);import{CodeBlock as U}from"@contractspec/lib.design-system";import{HStack as J,VStack as E}from"@contractspec/lib.design-system/layout";import{List as W,ListItem as K}from"@contractspec/lib.design-system/list";import{H1 as X,H2 as Y,P as M,Text as D}from"@contractspec/lib.design-system/typography";import Z from"@contractspec/lib.ui-link";import{ArrowRight as _,CheckCircle2 as $,GitBranch as w}from"lucide-react";import{jsx as f,jsxs as v}from"react/jsx-runtime";var A=[{title:"Adopt one endpoint in Next.js",description:"Start inside a live app with one operation, one generated surface, and one clearly bounded change.",href:"/docs/guides/nextjs-one-endpoint",time:"25 min"},{title:"Import an existing codebase",description:"Stabilize what already exists instead of treating adoption as a rewrite project.",href:"/docs/guides/import-existing-codebases",time:"20 min"},{title:"Validation and typing",description:"Keep runtime validation and TypeScript behavior aligned from the same source definitions.",href:"/docs/guides/spec-validation-and-typing",time:"20 min"},{title:"Build a contract-driven form",description:"Use FormSpec to keep data shape, fields, layout, policy, and submit behavior aligned.",href:"/docs/guides/contract-driven-forms",time:"25 min"},{title:"Flexible import templates",description:"Accept partner CSV, JSON, and XML files with alternate headers and localized values while preserving a canonical import contract.",href:"/docs/guides/data-exchange-import-templates",time:"25 min"},{title:"Generate docs and clients",description:"Publish stable docs, schemas, and client-facing artifacts from the contract layer.",href:"/docs/guides/generate-docs-clients-schemas",time:"20 min"},{title:"Docs pipeline",description:"Feed generated reference material into the docs site without confusing ownership.",href:"/docs/guides/docs-generation-pipeline",time:"20 min"},{title:"Build a first module bundle",description:"Define one bundle spec, resolve a surface plan, and render it through the React host layer.",href:"/docs/guides/first-module-bundle",time:"20 min"},{title:"Host the Builder workbench",description:"Wire a Builder workspace snapshot, common commands, runtime modes, and mobile review links into the reusable host.",href:"/docs/guides/host-builder-workbench",time:"20 min"},{title:"Use Connect in a repo",description:"Enable Connect, verify agent actions locally, and inspect the resulting review and replay artifacts.",href:"/docs/guides/connect-in-a-repo",time:"15 min"},{title:"Author release capsules",description:"Pair changesets with structured release capsules and generate the artifacts that changelog and upgrade flows consume.",href:"/docs/guides/release-capsules",time:"15 min"},{title:"CI diff gating",description:"Use deterministic checks to catch drift and risky changes before they ship.",href:"/docs/guides/ci-contract-diff-gating",time:"15 min"}];function p(){return v(E,{className:"space-y-10",children:[v(E,{className:"space-y-3",children:[f(D,{className:"editorial-kicker",children:"Build"}),f(X,{className:"font-serif text-4xl tracking-[-0.04em] md:text-5xl",children:"Adoption guides for teams that want to keep their code."}),f(M,{className:"max-w-3xl text-lg text-muted-foreground leading-8",children:"These guides assume you are introducing ContractSpec into a real code base. Start with a narrow surface, verify the generated outputs, and expand only after the contract loop feels trustworthy."})]}),f(E,{className:"grid gap-4 md:grid-cols-2",children:A.map((q)=>v(Z,{href:q.href,className:"editorial-panel",children:[v(J,{className:"flex items-start justify-between gap-4",children:[v(E,{children:[f(Y,{className:"font-semibold text-xl",children:q.title}),f(M,{className:"mt-2 text-muted-foreground text-sm leading-7",children:q.description})]}),f(_,{className:"mt-1 shrink-0",size:18})]}),v(J,{className:"mt-4 flex items-center gap-2 text-muted-foreground text-xs",children:[f($,{size:14}),v(D,{children:["Target time: ",q.time]})]})]},q.href))}),v(E,{className:"editorial-panel space-y-4",children:[v(J,{className:"flex items-center gap-2 font-semibold text-[color:var(--rust)] text-sm uppercase tracking-[0.2em]",children:[f(w,{size:16}),f(D,{children:"Working style"})]}),v(W,{className:"editorial-list",children:[f(K,{children:f(D,{children:"Run each guide in a branch or sandboxed workspace."})}),f(K,{children:f(D,{children:"Prefer one bounded surface at a time: one endpoint, one workflow, one integration, one unsafe module."})}),f(K,{children:f(D,{children:"Use the example and reference outputs to verify what changed, not just the narrative page."})})]}),f(U,{language:"bash",filename:"guides-quickstart",code:`# list example systems
contractspec examples list

# validate the examples in this workspace
contractspec examples validate --repo-root .`})]})]})}export{p as GuidesIndexPage};
