import{CodeBlock as n,InstallCommand as i}from"@contractspec/lib.design-system";import a from"@contractspec/lib.ui-link";import{ChevronRight as o}from"lucide-react";import{jsx as e,jsxs as t}from"react/jsx-runtime";function c(){return t("div",{className:"space-y-8",children:[t("div",{className:"space-y-4",children:[e("h1",{className:"font-bold text-4xl",children:"@contractspec/lib.content-gen"}),e("p",{className:"text-lg text-muted-foreground",children:"Feed a single ContentBrief and produce cohesive marketing assets without touching a CMS."})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Installation"}),e(i,{package:"@contractspec/lib.content-gen"})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"One brief, many assets"}),e(n,{language:"typescript",code:`import {
  BlogGenerator,
  LandingPageGenerator,
  EmailCampaignGenerator,
  SocialPostGenerator,
} from '@contractspec/lib.content-gen/generators';
import { SeoOptimizer } from '@contractspec/lib.content-gen/seo';

const brief = {
  title: 'AI Ops Copilot',
  summary: 'Automates support + growth.',
  problems: ['Support queues pile up', 'Growth teams lack experiments'],
  solutions: ['AI agents', 'Approval queue', 'Analytics'],
  audience: { role: 'COO', industry: 'Fintech' },
};

const blog = await new BlogGenerator().generate(brief);
const landing = await new LandingPageGenerator().generate(brief);
const email = await new EmailCampaignGenerator().generate({ brief, variant: 'announcement' });
const social = await new SocialPostGenerator().generate(brief);
const seo = new SeoOptimizer().optimize(brief);`})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"When to use"}),t("ul",{className:"list-inside list-disc space-y-2 text-muted-foreground",children:[e("li",{children:"Ship landing page refreshes whenever specs change."}),e("li",{children:"Automate release emails + nurture sequences per vertical."}),e("li",{children:"Create social snippets that stay on-message with the same brief."}),e("li",{children:"Generate SEO metadata + Schema.org markup alongside content."})]})]}),t("div",{className:"flex items-center gap-4 pt-4",children:[e(a,{href:"/docs/libraries",className:"btn-ghost",children:"Back to Libraries"}),t(a,{href:"/docs/libraries/support-bot",className:"btn-primary",children:["Next: Support Bot ",e(o,{size:16})]})]})]})}export{c as LibrariesContentGenPage};
