@contractspec/bundle.library 2.1.0 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/.turbo/turbo-build.log +47 -47
  2. package/CHANGELOG.md +16 -0
  3. package/dist/components/docs/DocsIndexPage.js +3 -3
  4. package/dist/components/docs/ecosystem/TemplatesPage.js +6 -6
  5. package/dist/components/docs/ecosystem/index.js +6 -6
  6. package/dist/components/docs/getting-started/DeveloperToolsPage.js +6 -6
  7. package/dist/components/docs/getting-started/index.js +6 -6
  8. package/dist/components/docs/guides/GuideCIDiffGatingPage.js +6 -6
  9. package/dist/components/docs/guides/GuideContractTypesPage.js +6 -6
  10. package/dist/components/docs/guides/GuideDocsPipelinePage.js +6 -6
  11. package/dist/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +6 -6
  12. package/dist/components/docs/guides/GuideImportExistingCodebasesPage.js +6 -6
  13. package/dist/components/docs/guides/GuideNextjsOneEndpointPage.js +6 -6
  14. package/dist/components/docs/guides/GuideSpecValidationTypingPage.js +6 -6
  15. package/dist/components/docs/guides/index.js +18 -18
  16. package/dist/components/docs/index.js +162 -470
  17. package/dist/components/docs/manifesto/ManifestoPage.js +2 -2
  18. package/dist/components/docs/shared/StudioPrompt.js +4 -4
  19. package/dist/components/docs/studio/StudioBYOKPage.js +14 -68
  20. package/dist/components/docs/studio/StudioDeploymentsPage.js +14 -89
  21. package/dist/components/docs/studio/StudioGettingStartedPage.js +14 -82
  22. package/dist/components/docs/studio/StudioIntegrationsPage.js +14 -60
  23. package/dist/components/docs/studio/StudioOverviewPage.js +62 -32
  24. package/dist/components/docs/studio/StudioVisualBuilderPage.js +14 -109
  25. package/dist/components/docs/studio/index.js +131 -439
  26. package/dist/index.js +162 -470
  27. package/dist/node/components/docs/DocsIndexPage.js +3 -3
  28. package/dist/node/components/docs/ecosystem/TemplatesPage.js +6 -6
  29. package/dist/node/components/docs/ecosystem/index.js +6 -6
  30. package/dist/node/components/docs/getting-started/DeveloperToolsPage.js +6 -6
  31. package/dist/node/components/docs/getting-started/index.js +6 -6
  32. package/dist/node/components/docs/guides/GuideCIDiffGatingPage.js +6 -6
  33. package/dist/node/components/docs/guides/GuideContractTypesPage.js +6 -6
  34. package/dist/node/components/docs/guides/GuideDocsPipelinePage.js +6 -6
  35. package/dist/node/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +6 -6
  36. package/dist/node/components/docs/guides/GuideImportExistingCodebasesPage.js +6 -6
  37. package/dist/node/components/docs/guides/GuideNextjsOneEndpointPage.js +6 -6
  38. package/dist/node/components/docs/guides/GuideSpecValidationTypingPage.js +6 -6
  39. package/dist/node/components/docs/guides/index.js +18 -18
  40. package/dist/node/components/docs/index.js +162 -470
  41. package/dist/node/components/docs/manifesto/ManifestoPage.js +2 -2
  42. package/dist/node/components/docs/shared/StudioPrompt.js +4 -4
  43. package/dist/node/components/docs/studio/StudioBYOKPage.js +14 -68
  44. package/dist/node/components/docs/studio/StudioDeploymentsPage.js +14 -89
  45. package/dist/node/components/docs/studio/StudioGettingStartedPage.js +14 -82
  46. package/dist/node/components/docs/studio/StudioIntegrationsPage.js +14 -60
  47. package/dist/node/components/docs/studio/StudioOverviewPage.js +62 -32
  48. package/dist/node/components/docs/studio/StudioVisualBuilderPage.js +14 -109
  49. package/dist/node/components/docs/studio/index.js +131 -439
  50. package/dist/node/index.js +162 -470
  51. package/package.json +10 -10
  52. package/src/components/docs/DocsIndexPage.tsx +3 -3
  53. package/src/components/docs/ecosystem/TemplatesPage.tsx +2 -2
  54. package/src/components/docs/getting-started/DeveloperToolsPage.tsx +6 -6
  55. package/src/components/docs/guides/GuideCIDiffGatingPage.tsx +2 -2
  56. package/src/components/docs/guides/GuideContractTypesPage.tsx +2 -2
  57. package/src/components/docs/guides/GuideDocsPipelinePage.tsx +2 -2
  58. package/src/components/docs/guides/GuideGenerateDocsClientsSchemasPage.tsx +2 -2
  59. package/src/components/docs/guides/GuideImportExistingCodebasesPage.tsx +2 -2
  60. package/src/components/docs/guides/GuideNextjsOneEndpointPage.tsx +2 -2
  61. package/src/components/docs/guides/GuideSpecValidationTypingPage.tsx +2 -2
  62. package/src/components/docs/manifesto/ManifestoPage.tsx +2 -2
  63. package/src/components/docs/shared/StudioPrompt.tsx +4 -4
  64. package/src/components/docs/studio/StudioBYOKPage.tsx +9 -54
  65. package/src/components/docs/studio/StudioDeploymentsPage.tsx +9 -70
  66. package/src/components/docs/studio/StudioGettingStartedPage.tsx +9 -66
  67. package/src/components/docs/studio/StudioIntegrationsPage.tsx +9 -47
  68. package/src/components/docs/studio/StudioOverviewPage.tsx +53 -41
  69. package/src/components/docs/studio/StudioVisualBuilderPage.tsx +9 -72
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contractspec/bundle.library",
3
- "version": "2.1.0",
3
+ "version": "2.1.1",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "clean": "rm -rf dist",
@@ -2053,17 +2053,17 @@
2053
2053
  },
2054
2054
  "dependencies": {
2055
2055
  "@apollo/client": "^4.1.4",
2056
- "@contractspec/lib.contracts-spec": "2.1.0",
2057
- "@contractspec/lib.contracts-library": "2.1.0",
2058
- "@contractspec/lib.contracts-runtime-server-mcp": "2.1.0",
2059
- "@contractspec/lib.design-system": "2.1.0",
2060
- "@contractspec/lib.example-shared-ui": "2.1.0",
2056
+ "@contractspec/lib.contracts-spec": "2.1.1",
2057
+ "@contractspec/lib.contracts-library": "2.1.1",
2058
+ "@contractspec/lib.contracts-runtime-server-mcp": "2.1.1",
2059
+ "@contractspec/lib.design-system": "2.1.1",
2060
+ "@contractspec/lib.example-shared-ui": "2.1.1",
2061
2061
  "@contractspec/lib.logger": "2.1.0",
2062
2062
  "@contractspec/lib.runtime-sandbox": "1.1.0",
2063
2063
  "@contractspec/lib.schema": "2.1.0",
2064
2064
  "@contractspec/lib.ui-kit-web": "2.1.0",
2065
2065
  "@contractspec/lib.ui-link": "2.1.0",
2066
- "@contractspec/module.examples": "2.1.0",
2066
+ "@contractspec/module.examples": "2.1.1",
2067
2067
  "@dnd-kit/core": "^6.1.0",
2068
2068
  "@dnd-kit/sortable": "^10.0.0",
2069
2069
  "@dnd-kit/utilities": "^3.2.2",
@@ -2079,9 +2079,9 @@
2079
2079
  "posthog-react-native": "^4.34.0",
2080
2080
  "react-hook-form": "^7.70.0",
2081
2081
  "zod": "^4.3.5",
2082
- "@contractspec/lib.contracts-integrations": "2.1.0",
2083
- "@contractspec/lib.contracts-runtime-server-rest": "2.1.0",
2084
- "@contractspec/lib.contracts-runtime-server-graphql": "2.1.0"
2082
+ "@contractspec/lib.contracts-integrations": "2.1.1",
2083
+ "@contractspec/lib.contracts-runtime-server-rest": "2.1.1",
2084
+ "@contractspec/lib.contracts-runtime-server-graphql": "2.1.1"
2085
2085
  },
2086
2086
  "devDependencies": {
2087
2087
  "@types/react": "~19.2.14",
@@ -94,16 +94,16 @@ export function DocsIndexPage() {
94
94
  </Link>
95
95
 
96
96
  <Link
97
- href="/studio"
97
+ href="/docs/studio"
98
98
  className="card-subtle group space-y-3 p-6 transition-colors hover:border-violet-500/50"
99
99
  >
100
100
  <div className="flex items-start justify-between">
101
101
  <div>
102
102
  <h3 className="text-lg font-bold transition-colors group-hover:text-violet-400">
103
- Studio (managed)
103
+ Studio
104
104
  </h3>
105
105
  <p className="text-muted-foreground mt-1 text-sm">
106
- Visual builder, deployments, and team collaboration.
106
+ AI-powered product decision engine for spec-first teams.
107
107
  </p>
108
108
  </div>
109
109
  <Zap size={20} className="shrink-0 text-violet-400" />
@@ -52,8 +52,8 @@ bun add @contractspec/integration.markdown-generator`}
52
52
  </div>
53
53
 
54
54
  <StudioPrompt
55
- title="Need managed plugin distribution?"
56
- body="Studio can host private plugin registries, approvals, and policy gates for teams."
55
+ title="Need evidence-backed template iteration?"
56
+ body="Studio helps teams prioritize template changes from real product signals and export implementation-ready task packs."
57
57
  />
58
58
 
59
59
  <div className="flex items-center gap-4 pt-4">
@@ -32,15 +32,15 @@ export function DeveloperToolsPage() {
32
32
  },
33
33
  {
34
34
  name: 'ContractSpec Studio',
35
- href: 'https://www.contractspec.studio',
35
+ href: 'https://app.contractspec.studio',
36
36
  description:
37
- 'Visual builder, lifecycle management, and deployment orchestration.',
37
+ 'AI-powered product decision engine that turns product signals into spec-first deliverables.',
38
38
  icon: Layers,
39
- status: 'coming-soon',
39
+ status: 'available',
40
40
  highlights: [
41
- 'Visual spec editor',
42
- 'Deployment pipelines',
43
- 'Analytics dashboard',
41
+ 'Evidence-to-decision loop',
42
+ 'Compiled spec diffs and task packs',
43
+ 'Exports to Linear, Jira, Notion, and GitHub',
44
44
  ],
45
45
  },
46
46
  {
@@ -86,8 +86,8 @@ bun run validate`}
86
86
  </div>
87
87
 
88
88
  <StudioPrompt
89
- title="Need managed CI policy gates?"
90
- body="Studio adds policy approvals, drift dashboards, and audit trails after CI checks pass."
89
+ title="Need continuous checks tied to outcomes?"
90
+ body="Studio closes the loop with post-change verification and learning dividends that improve future decisions."
91
91
  />
92
92
  </div>
93
93
 
@@ -469,8 +469,8 @@ capabilityRegistry.register(UserManagementCapability);`}
469
469
  </div>
470
470
 
471
471
  <StudioPrompt
472
- title="Want visual contract design?"
473
- body="Studio provides a visual editor for creating and managing contracts with team collaboration and version control."
472
+ title="Need to decide which contract should change next?"
473
+ body="Studio uses evidence and focus constraints to generate decision briefs, patch intents, and execution-ready task packs."
474
474
  />
475
475
  </div>
476
476
 
@@ -91,8 +91,8 @@ export default async function Page({ params }: { params: { slug?: string[] } })
91
91
  </div>
92
92
 
93
93
  <StudioPrompt
94
- title="Need hosted docs releases?"
95
- body="Studio can publish versioned docs bundles with approvals and audit trails."
94
+ title="Need decision-to-export automation?"
95
+ body="Studio exports evidence-backed spec changes and task packs to Linear, Jira, Notion, and GitHub."
96
96
  />
97
97
  </div>
98
98
 
@@ -85,8 +85,8 @@ contractspec openapi export --registry ./src/contracts/registry.ts --out ./gener
85
85
  </div>
86
86
 
87
87
  <StudioPrompt
88
- title="Want managed schema releases?"
89
- body="Studio can publish OpenAPI, SDKs, and release notes automatically with approvals."
88
+ title="Want exports tied to product decisions?"
89
+ body="Studio compiles approved changes into deliverables and pushes them to your execution stack with full evidence context."
90
90
  />
91
91
  </div>
92
92
 
@@ -496,8 +496,8 @@ installOp(registry, CreateUserCommand, async (input) => {
496
496
  </div>
497
497
 
498
498
  <StudioPrompt
499
- title="Want automated contract evolution?"
500
- body="Studio monitors your codebase and suggests contract updates when your API changes, keeping specs and code in sync."
499
+ title="Want evidence-driven migration priorities?"
500
+ body="Studio clusters product signals into scored patterns, then proposes spec-first change cards for the highest-impact areas."
501
501
  />
502
502
  </div>
503
503
 
@@ -158,8 +158,8 @@ contractspec examples validate --repo-root .`}
158
158
  </div>
159
159
 
160
160
  <StudioPrompt
161
- title="Need team approvals for new endpoints?"
162
- body="Studio adds review gates, shared registries, and audit trails after you ship your first endpoint."
161
+ title="Want real product evidence behind endpoint changes?"
162
+ body="Studio correlates meetings, support, analytics, and code signals before compiling endpoint decisions into spec diffs."
163
163
  />
164
164
  </div>
165
165
 
@@ -137,8 +137,8 @@ bun run validate`}
137
137
  </div>
138
138
 
139
139
  <StudioPrompt
140
- title="Need shared validation policies?"
141
- body="Studio lets teams enforce validation policies and review changes before they ship."
140
+ title="Need validation tied to real outcomes?"
141
+ body="Studio links checks to evidence, focus decisions, and post-release verification so specs evolve with product truth."
142
142
  />
143
143
  </div>
144
144
 
@@ -128,8 +128,8 @@ export function ManifestoPage() {
128
128
  <a href="/install" className="btn-primary">
129
129
  Install OSS Core
130
130
  </a>
131
- <a href="/contact#waitlist" className="btn-ghost">
132
- Join Studio Waitlist
131
+ <a href="https://app.contractspec.studio" className="btn-ghost">
132
+ Try Studio
133
133
  </a>
134
134
  </div>
135
135
  </div>
@@ -8,10 +8,10 @@ interface StudioPromptProps {
8
8
  }
9
9
 
10
10
  export function StudioPrompt({
11
- title = 'Need managed policy gates and approvals?',
12
- body = 'ContractSpec Studio adds policy gates, remote registry workflows, and audit trails when you are ready to scale adoption.',
13
- ctaLabel = 'Join Studio waitlist',
14
- href = '/contact#waitlist',
11
+ title = 'Want to turn product signals into spec-first deliverables?',
12
+ body = 'ContractSpec Studio ingests evidence from meetings, support, analytics, docs, and code, then compiles decisions into spec diffs and task packs.',
13
+ ctaLabel = 'Try Studio',
14
+ href = 'https://app.contractspec.studio',
15
15
  }: StudioPromptProps) {
16
16
  return (
17
17
  <div className="card-subtle space-y-3 p-6">
@@ -1,60 +1,15 @@
1
- // export const metadata: Metadata = {
2
- // title: 'Studio – BYOK Setup',
3
- // description:
4
- // 'Configure Bring Your Own Key for ContractSpec Studio. Secure credentials, rotate keys, and audit access.',
5
- // };
6
-
7
- const steps = [
8
- {
9
- title: '1. Provide vault endpoint',
10
- body: 'Enter your Vault/HSM URL and the key identifier. Studio only stores the reference.',
11
- },
12
- {
13
- title: '2. Verify encryption',
14
- body: 'Studio runs a test by encrypting a dummy payload and asking you to decrypt it.',
15
- },
16
- {
17
- title: '3. Store credentials',
18
- body: 'When integrations are connected, secrets get encrypted client side before landing in the database.',
19
- },
20
- {
21
- title: '4. Rotate keys',
22
- body: 'Trigger rotation from the BYOK manager. Studio fetches existing secrets, decrypts with the old key, and re-encrypts with the new one.',
23
- },
24
- ];
1
+ import Link from '@contractspec/lib.ui-link';
25
2
 
26
3
  export function StudioBYOKPage() {
27
4
  return (
28
- <main className="space-y-12 py-12">
29
- <header className="space-y-3">
30
- <p className="text-xs font-semibold tracking-[0.3em] text-violet-400 uppercase">
31
- BYOK
32
- </p>
33
- <h1 className="text-4xl font-bold">Bring your own key to Studio</h1>
34
- <p className="text-muted-foreground max-w-3xl text-lg">
35
- Keep secrets under your control. Studio never touches plaintext
36
- credentials; everything is encrypted with tenant-specific material.
37
- </p>
38
- </header>
39
- <section className="grid gap-4 md:grid-cols-2">
40
- {steps.map((step) => (
41
- <article key={step.title} className="card-subtle space-y-2 p-6">
42
- <h2 className="text-xl font-semibold">{step.title}</h2>
43
- <p className="text-muted-foreground text-sm">{step.body}</p>
44
- </article>
45
- ))}
46
- </section>
47
- <section className="space-y-2">
48
- <h2 className="text-2xl font-semibold">Audit trail</h2>
49
- <p className="text-muted-foreground text-sm">
50
- Every decrypt operation logs who requested it, what integration was
51
- involved, and the purpose (sync, deploy, manual action).
52
- </p>
53
- <p className="text-muted-foreground text-sm">
54
- You can stream audit logs to your SIEM via webhooks or export CSVs for
55
- compliance reviews.
56
- </p>
57
- </section>
5
+ <main className="space-y-6 py-12">
6
+ <h1 className="text-3xl font-bold">Studio docs moved</h1>
7
+ <p className="text-muted-foreground text-sm">
8
+ Security and BYOK guidance now lives in the Studio app docs.
9
+ </p>
10
+ <Link href="https://app.contractspec.studio/docs" className="btn-primary">
11
+ Open Studio docs
12
+ </Link>
58
13
  </main>
59
14
  );
60
15
  }
@@ -1,76 +1,15 @@
1
- // export const metadata: Metadata = {
2
- // title: 'Studio – Deployment Guide',
3
- // description:
4
- // 'Learn how Studio provisions shared and dedicated environments, monitors health, and rolls back safely.',
5
- // };
6
-
7
- const comparisons = [
8
- {
9
- label: 'Shared',
10
- points: [
11
- 'Ready in seconds',
12
- 'DEV + STAGE by default',
13
- 'Best for prototypes',
14
- 'Managed SSL',
15
- ],
16
- },
17
- {
18
- label: 'Dedicated',
19
- points: [
20
- 'Isolated clusters',
21
- 'Choose region + VPC',
22
- 'Rolling deploys',
23
- 'Custom observability sinks',
24
- ],
25
- },
26
- ];
27
-
28
- const checklist = [
29
- 'Validate specs before deploying (Studio does this automatically).',
30
- 'Tag deployments with a description so rituals have context.',
31
- 'Monitor status cards—failed deploys trigger alerts and auto rollback.',
32
- 'Use the CLI to export deployment manifests if you want infra-as-code.',
33
- ];
1
+ import Link from '@contractspec/lib.ui-link';
34
2
 
35
3
  export function StudioDeploymentsPage() {
36
4
  return (
37
- <main className="space-y-12 py-12">
38
- <header className="space-y-3">
39
- <p className="text-xs font-semibold tracking-[0.3em] text-violet-400 uppercase">
40
- Deployments
41
- </p>
42
- <h1 className="text-4xl font-bold">Shared vs dedicated workflows</h1>
43
- <p className="text-muted-foreground max-w-3xl text-lg">
44
- Studio abstracts infra, but you still stay in control. This guide
45
- explains how environments are provisioned, monitored, and rolled back.
46
- </p>
47
- </header>
48
- <section className="grid gap-4 md:grid-cols-2">
49
- {comparisons.map((option) => (
50
- <article key={option.label} className="card-subtle space-y-2 p-6">
51
- <h2 className="text-2xl font-semibold">
52
- {option.label} deployments
53
- </h2>
54
- <ul className="space-y-1 text-sm">
55
- {option.points.map((point) => (
56
- <li key={point}>• {point}</li>
57
- ))}
58
- </ul>
59
- </article>
60
- ))}
61
- </section>
62
- <section className="space-y-3">
63
- <h2 className="text-2xl font-semibold">Health & rollback</h2>
64
- <p className="text-muted-foreground text-sm">
65
- Every deployment emits health events. If a check fails, Studio pauses
66
- traffic and offers rollback controls with diff context.
67
- </p>
68
- <ul className="space-y-2 text-sm">
69
- {checklist.map((item) => (
70
- <li key={item}>• {item}</li>
71
- ))}
72
- </ul>
73
- </section>
5
+ <main className="space-y-6 py-12">
6
+ <h1 className="text-3xl font-bold">Studio docs moved</h1>
7
+ <p className="text-muted-foreground text-sm">
8
+ Deployment guidance now lives in the Studio app docs.
9
+ </p>
10
+ <Link href="https://app.contractspec.studio/docs" className="btn-primary">
11
+ Open Studio docs
12
+ </Link>
74
13
  </main>
75
14
  );
76
15
  }
@@ -1,72 +1,15 @@
1
- // export const metadata: Metadata = {
2
- // title: 'Studio – Getting Started',
3
- // description:
4
- // 'Create your first ContractSpec Studio project, add specs, and deploy to shared infrastructure.',
5
- // };
6
-
7
- const steps = [
8
- {
9
- title: '1. Create a Studio workspace',
10
- body: 'Sign in, pick “Studio managed” as product, and invite teammates. We provision the workspace plus default shared environments.',
11
- },
12
- {
13
- title: '2. Add your first project',
14
- body: 'Click “New project”, choose Starter tier, and keep BYOK disabled for the trial. You can upgrade later.',
15
- },
16
- {
17
- title: '3. Author a spec',
18
- body: 'Use the Visual Builder or Spec Editor. Pick “Capability” as type and describe the operation (e.g., capture donation).',
19
- },
20
- {
21
- title: '4. Deploy to shared infra',
22
- body: 'Open the deployment panel, select Development, and hit Deploy. Studio provisions the runtime slice automatically.',
23
- },
24
- {
25
- title: '5. Wire integrations',
26
- body: 'From Integration Hub, connect one provider (e.g., PostHog). Starter plan supports two providers.',
27
- },
28
- ];
1
+ import Link from '@contractspec/lib.ui-link';
29
2
 
30
3
  export function StudioGettingStartedPage() {
31
4
  return (
32
- <main className="space-y-12 py-12">
33
- <header className="space-y-3">
34
- <p className="text-xs font-semibold tracking-[0.3em] text-violet-400 uppercase">
35
- Getting started
36
- </p>
37
- <h1 className="text-4xl font-bold">Launch your first Studio project</h1>
38
- <p className="text-muted-foreground max-w-3xl text-lg">
39
- This short guide takes you from workspace creation to the first
40
- deployment. Every step is mobile-friendly and safe to undo.
41
- </p>
42
- </header>
43
- <section className="grid gap-4">
44
- {steps.map((step) => (
45
- <article key={step.title} className="card-subtle space-y-2 p-6">
46
- <h2 className="text-xl font-semibold">{step.title}</h2>
47
- <p className="text-muted-foreground text-sm">{step.body}</p>
48
- </article>
49
- ))}
50
- </section>
51
- <section className="space-y-4">
52
- <h2 className="text-2xl font-semibold">CLI helper (optional)</h2>
53
- <p className="text-muted-foreground text-sm">
54
- Prefer automation? Use the CLI to pull specs and push overlays.
55
- </p>
56
- <pre className="bg-muted/40 border-border overflow-auto rounded-xl border p-4 text-left font-mono text-sm">
57
- {`# Authenticate
58
- cs login
59
-
60
- # List projects
61
- cs studio projects list
62
-
63
- # Pull specs locally
64
- cs studio specs pull <project-id>
65
-
66
- # Push after editing
67
- cs studio specs push <project-id>`}
68
- </pre>
69
- </section>
5
+ <main className="space-y-6 py-12">
6
+ <h1 className="text-3xl font-bold">Studio docs moved</h1>
7
+ <p className="text-muted-foreground text-sm">
8
+ The latest getting-started guide now lives in the Studio app docs.
9
+ </p>
10
+ <Link href="https://app.contractspec.studio/docs" className="btn-primary">
11
+ Open Studio docs
12
+ </Link>
70
13
  </main>
71
14
  );
72
15
  }
@@ -1,53 +1,15 @@
1
- // export const metadata: Metadata = {
2
- // title: 'Studio – Integration Hub Guide',
3
- // description:
4
- // 'Connect providers, manage BYOK credentials, and sync data in the Studio Integration Hub.',
5
- // };
6
-
7
- const flow = [
8
- {
9
- title: 'Connect a provider',
10
- body: 'Choose a provider from the marketplace, enter credentials, and run the test connection. Studio encrypts secrets immediately.',
11
- },
12
- {
13
- title: 'Schedule syncs',
14
- body: 'Define sync cadence (manual, hourly, daily). Studio tracks usage count and last sync timestamp.',
15
- },
16
- {
17
- title: 'Index knowledge',
18
- body: 'Add documentation or API specs as knowledge sources. Reindex whenever files change.',
19
- },
20
- ];
1
+ import Link from '@contractspec/lib.ui-link';
21
2
 
22
3
  export function StudioIntegrationsPage() {
23
4
  return (
24
- <main className="space-y-12 py-12">
25
- <header className="space-y-3">
26
- <p className="text-xs font-semibold tracking-[0.3em] text-violet-400 uppercase">
27
- Integration hub
28
- </p>
29
- <h1 className="text-4xl font-bold">Unified connections with BYOK</h1>
30
- <p className="text-muted-foreground max-w-3xl text-lg">
31
- Manage SaaS providers and knowledge sources without scattering secrets
32
- across tools. Studio gives you a simple card layout plus CLI
33
- automation.
34
- </p>
35
- </header>
36
- <section className="grid gap-4 md:grid-cols-3">
37
- {flow.map((step) => (
38
- <article key={step.title} className="card-subtle space-y-2 p-6">
39
- <h2 className="text-xl font-semibold">{step.title}</h2>
40
- <p className="text-muted-foreground text-sm">{step.body}</p>
41
- </article>
42
- ))}
43
- </section>
44
- <section className="space-y-2">
45
- <h2 className="text-2xl font-semibold">Monitoring</h2>
46
- <p className="text-muted-foreground text-sm">
47
- Every integration exposes sync logs and failure alerts. Use the
48
- webhook to forward sync events to Slack or PagerDuty.
49
- </p>
50
- </section>
5
+ <main className="space-y-6 py-12">
6
+ <h1 className="text-3xl font-bold">Studio docs moved</h1>
7
+ <p className="text-muted-foreground text-sm">
8
+ Integration guides now live in the Studio app docs.
9
+ </p>
10
+ <Link href="https://app.contractspec.studio/docs" className="btn-primary">
11
+ Open Studio docs
12
+ </Link>
51
13
  </main>
52
14
  );
53
15
  }