@contractspec/bundle.library 3.9.0 → 3.9.3

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 (724) hide show
  1. package/.turbo/turbo-build.log +612 -608
  2. package/CHANGELOG.md +89 -0
  3. package/README.md +2 -1
  4. package/dist/__tests__/mocks/prisma.d.ts +5 -5
  5. package/dist/application/context-storage/index.js +1 -1
  6. package/dist/application/index.js +6 -6
  7. package/dist/application/mcp/cliMcp.js +2 -2
  8. package/dist/application/mcp/cliMcp.onboarding.js +1 -1
  9. package/dist/application/mcp/common.js +1 -1
  10. package/dist/application/mcp/contractsMcp.js +2 -2
  11. package/dist/application/mcp/contractsMcpAdoptionTools.js +1 -1
  12. package/dist/application/mcp/contractsMcpResources.js +2 -2
  13. package/dist/application/mcp/contractsMcpTools.js +1 -1
  14. package/dist/application/mcp/docsMcp.catalog.js +2 -2
  15. package/dist/application/mcp/docsMcp.data.js +1 -1
  16. package/dist/application/mcp/docsMcp.js +3 -3
  17. package/dist/application/mcp/docsMcp.prompts.js +3 -3
  18. package/dist/application/mcp/docsMcp.reference.js +2 -2
  19. package/dist/application/mcp/docsMcp.resources.js +2 -2
  20. package/dist/application/mcp/docsMcp.tools.js +2 -2
  21. package/dist/application/mcp/index.js +6 -6
  22. package/dist/application/mcp/internalMcp.js +2 -2
  23. package/dist/application/mcp/normalizeMcpRequest.js +1 -1
  24. package/dist/application/mcp/providerRankingMcp.js +1 -1
  25. package/dist/bundles/LibraryBundle.d.ts +19 -111
  26. package/dist/bundles/LibraryBundle.js +1 -1
  27. package/dist/bundles/index.js +1 -1
  28. package/dist/components/docs/DocsIndexPage.js +2 -2
  29. package/dist/components/docs/advanced/AdvancedMCPPage.js +3 -3
  30. package/dist/components/docs/advanced/AdvancedOverlayEditorPage.js +1 -1
  31. package/dist/components/docs/advanced/AdvancedRenderersPage.js +2 -2
  32. package/dist/components/docs/advanced/AdvancedSpecExperimentsPage.js +4 -4
  33. package/dist/components/docs/advanced/AdvancedTelemetryPage.js +2 -2
  34. package/dist/components/docs/advanced/AdvancedWorkflowMonitoringPage.js +2 -2
  35. package/dist/components/docs/advanced/index.js +9 -9
  36. package/dist/components/docs/architecture/ArchitectureAppConfigPage.js +6 -6
  37. package/dist/components/docs/architecture/ArchitectureControlPlanePage.js +3 -3
  38. package/dist/components/docs/architecture/ArchitectureIntegrationBindingPage.js +7 -7
  39. package/dist/components/docs/architecture/ArchitectureKnowledgeBindingPage.js +6 -6
  40. package/dist/components/docs/architecture/ArchitectureMultiTenancyPage.js +2 -2
  41. package/dist/components/docs/architecture/ArchitectureOverviewPage.js +1 -1
  42. package/dist/components/docs/architecture/index.js +20 -20
  43. package/dist/components/docs/comparison/ComparisonAutomationPlatformsPage.js +1 -1
  44. package/dist/components/docs/comparison/ComparisonEnterprisePlatformsPage.js +1 -1
  45. package/dist/components/docs/comparison/ComparisonInternalToolBuildersPage.js +1 -1
  46. package/dist/components/docs/comparison/ComparisonOverviewPage.js +1 -1
  47. package/dist/components/docs/comparison/ComparisonWindmillPage.js +1 -1
  48. package/dist/components/docs/comparison/ComparisonWorkflowEnginesPage.js +1 -1
  49. package/dist/components/docs/comparison/index.js +1 -1
  50. package/dist/components/docs/docsManifest.js +1 -1
  51. package/dist/components/docs/ecosystem/IntegrationsPage.js +2 -2
  52. package/dist/components/docs/ecosystem/PluginsPage.js +4 -4
  53. package/dist/components/docs/ecosystem/RegistryPage.js +4 -4
  54. package/dist/components/docs/ecosystem/TemplatesPage.js +3 -3
  55. package/dist/components/docs/ecosystem/index.js +11 -11
  56. package/dist/components/docs/examples/DocsExamplesPage.js +1 -1
  57. package/dist/components/docs/examples/ExampleShowcasePage.js +2 -2
  58. package/dist/components/docs/examples/exampleShowcaseData.js +2 -2
  59. package/dist/components/docs/examples/index.js +2 -2
  60. package/dist/components/docs/generated/docs-index.generated.js +1 -1
  61. package/dist/components/docs/generated/index.d.ts +7 -1
  62. package/dist/components/docs/generated/index.js +1 -1
  63. package/dist/components/docs/generated/loader.js +1 -1
  64. package/dist/components/docs/getting-started/CLIPage.js +4 -4
  65. package/dist/components/docs/getting-started/CompatibilityPage.js +1 -1
  66. package/dist/components/docs/getting-started/DataViewTutorialPage.js +4 -4
  67. package/dist/components/docs/getting-started/DeveloperToolsPage.js +1 -1
  68. package/dist/components/docs/getting-started/HelloWorldPage.js +5 -5
  69. package/dist/components/docs/getting-started/InstallationPage.js +3 -3
  70. package/dist/components/docs/getting-started/StartHerePage.js +3 -3
  71. package/dist/components/docs/getting-started/TroubleshootingPage.js +2 -2
  72. package/dist/components/docs/getting-started/VSCodeExtensionPage.js +1 -1
  73. package/dist/components/docs/getting-started/getting-started.docblocks.js +2 -2
  74. package/dist/components/docs/getting-started/index.js +17 -17
  75. package/dist/components/docs/guides/GuideCIDiffGatingPage.js +2 -2
  76. package/dist/components/docs/guides/GuideConnectInRepoPage.js +6 -6
  77. package/dist/components/docs/guides/GuideContractTypesPage.js +6 -6
  78. package/dist/components/docs/guides/GuideDocsPipelinePage.js +3 -3
  79. package/dist/components/docs/guides/GuideFirstModuleBundlePage.js +4 -4
  80. package/dist/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +2 -2
  81. package/dist/components/docs/guides/GuideHostBuilderWorkbenchPage.js +7 -7
  82. package/dist/components/docs/guides/GuideImportExistingCodebasesPage.js +8 -8
  83. package/dist/components/docs/guides/GuideNextjsOneEndpointPage.js +6 -6
  84. package/dist/components/docs/guides/GuideReleaseCapsulesPage.js +3 -3
  85. package/dist/components/docs/guides/GuideSpecValidationTypingPage.js +4 -4
  86. package/dist/components/docs/guides/GuidesIndexPage.js +2 -2
  87. package/dist/components/docs/guides/index.js +43 -43
  88. package/dist/components/docs/index.js +375 -255
  89. package/dist/components/docs/integrations/IntegrationsCircuitBreakersPage.js +2 -2
  90. package/dist/components/docs/integrations/IntegrationsElevenLabsPage.js +3 -3
  91. package/dist/components/docs/integrations/IntegrationsGithubPage.js +2 -2
  92. package/dist/components/docs/integrations/IntegrationsGmailPage.js +3 -3
  93. package/dist/components/docs/integrations/IntegrationsGoogleCalendarPage.js +3 -3
  94. package/dist/components/docs/integrations/IntegrationsHealthRoutingPage.js +2 -2
  95. package/dist/components/docs/integrations/IntegrationsMistralPage.js +2 -2
  96. package/dist/components/docs/integrations/IntegrationsOpenAIPage.js +2 -2
  97. package/dist/components/docs/integrations/IntegrationsOverviewPage.js +1 -1
  98. package/dist/components/docs/integrations/IntegrationsPostmarkPage.js +2 -2
  99. package/dist/components/docs/integrations/IntegrationsPowensPage.js +2 -2
  100. package/dist/components/docs/integrations/IntegrationsQdrantPage.js +5 -5
  101. package/dist/components/docs/integrations/IntegrationsResendPage.js +3 -3
  102. package/dist/components/docs/integrations/IntegrationsS3Page.js +4 -4
  103. package/dist/components/docs/integrations/IntegrationsSlackPage.js +2 -2
  104. package/dist/components/docs/integrations/IntegrationsSpecModelPage.js +2 -2
  105. package/dist/components/docs/integrations/IntegrationsStripePage.js +2 -2
  106. package/dist/components/docs/integrations/IntegrationsTwilioPage.js +3 -3
  107. package/dist/components/docs/integrations/IntegrationsWhatsappMetaPage.js +2 -2
  108. package/dist/components/docs/integrations/IntegrationsWhatsappTwilioPage.js +2 -2
  109. package/dist/components/docs/integrations/index.js +39 -39
  110. package/dist/components/docs/intent/ContractFirstApiPage.js +2 -2
  111. package/dist/components/docs/intent/DeterministicCodegenPage.js +2 -2
  112. package/dist/components/docs/intent/GenerateClientFromSchemaPage.js +7 -7
  113. package/dist/components/docs/intent/OpenapiAlternativePage.js +3 -3
  114. package/dist/components/docs/intent/SchemaValidationTypescriptPage.js +4 -4
  115. package/dist/components/docs/intent/SpecDrivenDevelopmentPage.js +2 -2
  116. package/dist/components/docs/intent/index.js +15 -15
  117. package/dist/components/docs/intent/intent-pages.docblocks.js +1 -1
  118. package/dist/components/docs/knowledge/KnowledgeCategoriesPage.js +2 -2
  119. package/dist/components/docs/knowledge/KnowledgeExamplesPage.js +2 -2
  120. package/dist/components/docs/knowledge/KnowledgeOverviewPage.js +1 -1
  121. package/dist/components/docs/knowledge/KnowledgeSourcesPage.js +2 -2
  122. package/dist/components/docs/knowledge/KnowledgeSpacesPage.js +2 -2
  123. package/dist/components/docs/knowledge/index.js +5 -5
  124. package/dist/components/docs/libraries/LibrariesAccessibilityPage.js +3 -3
  125. package/dist/components/docs/libraries/LibrariesAiAgentPage.js +3 -3
  126. package/dist/components/docs/libraries/LibrariesAnalyticsPage.js +4 -4
  127. package/dist/components/docs/libraries/LibrariesContentGenPage.js +2 -2
  128. package/dist/components/docs/libraries/LibrariesContractsPage.js +2 -2
  129. package/dist/components/docs/libraries/LibrariesCostTrackingPage.js +3 -3
  130. package/dist/components/docs/libraries/LibrariesCrossPlatformUIPage.content.d.ts +67 -0
  131. package/dist/components/docs/libraries/LibrariesCrossPlatformUIPage.content.js +86 -0
  132. package/dist/components/docs/libraries/LibrariesCrossPlatformUIPage.d.ts +1 -0
  133. package/dist/components/docs/libraries/LibrariesCrossPlatformUIPage.js +86 -0
  134. package/dist/components/docs/libraries/LibrariesDataBackendPage.js +2 -2
  135. package/dist/components/docs/libraries/LibrariesDataViewsPage.js +3 -3
  136. package/dist/components/docs/libraries/LibrariesDesignSystemPage.js +38 -2
  137. package/dist/components/docs/libraries/LibrariesEvolutionPage.js +4 -4
  138. package/dist/components/docs/libraries/LibrariesGraphQLPage.js +2 -2
  139. package/dist/components/docs/libraries/LibrariesGrowthPage.js +3 -3
  140. package/dist/components/docs/libraries/LibrariesMultiTenancyPage.js +3 -3
  141. package/dist/components/docs/libraries/LibrariesObservabilityPage.js +5 -5
  142. package/dist/components/docs/libraries/LibrariesOverlayEnginePage.js +4 -4
  143. package/dist/components/docs/libraries/LibrariesOverviewPage.js +1 -1
  144. package/dist/components/docs/libraries/LibrariesPersonalizationPage.js +4 -4
  145. package/dist/components/docs/libraries/LibrariesProgressiveDeliveryPage.js +3 -3
  146. package/dist/components/docs/libraries/LibrariesResiliencePage.js +4 -4
  147. package/dist/components/docs/libraries/LibrariesRuntimePage.js +2 -2
  148. package/dist/components/docs/libraries/LibrariesSLOPage.js +3 -3
  149. package/dist/components/docs/libraries/LibrariesSchemaPage.js +3 -3
  150. package/dist/components/docs/libraries/LibrariesSupportBotPage.js +3 -3
  151. package/dist/components/docs/libraries/LibrariesTestingPage.js +3 -3
  152. package/dist/components/docs/libraries/LibrariesUIKitPage.js +2 -2
  153. package/dist/components/docs/libraries/LibrariesUIKitWebPage.js +2 -2
  154. package/dist/components/docs/libraries/LibrariesWorkflowComposerPage.js +3 -3
  155. package/dist/components/docs/libraries/LibrariesWorkflowsPage.js +2 -2
  156. package/dist/components/docs/libraries/index.d.ts +1 -0
  157. package/dist/components/docs/libraries/index.js +173 -53
  158. package/dist/components/docs/manifesto/ManifestoPage.js +1 -1
  159. package/dist/components/docs/ops/AutoEvolutionOpsPage.js +2 -2
  160. package/dist/components/docs/ops/DistributedTracingOpsPage.js +2 -2
  161. package/dist/components/docs/ops/index.js +3 -3
  162. package/dist/components/docs/ops/ops-lifecycle.docblocks.js +2 -2
  163. package/dist/components/docs/ops/ops-runbooks-a.docblocks.js +2 -2
  164. package/dist/components/docs/ops/ops-runbooks-b.docblocks.js +2 -2
  165. package/dist/components/docs/ops/ops-slo-tenant.docblocks.js +2 -2
  166. package/dist/components/docs/ops/ops-top.docs.js +2 -2
  167. package/dist/components/docs/ops/ops.docs.js +6 -6
  168. package/dist/components/docs/product/product.docblocks.js +2 -2
  169. package/dist/components/docs/reference/DocsMarkdownContent.js +2 -2
  170. package/dist/components/docs/reference/DocsReferenceContent.js +3 -3
  171. package/dist/components/docs/reference/DocsReferenceIndexClient.js +2 -2
  172. package/dist/components/docs/reference/DocsReferenceIndexPage.js +2 -2
  173. package/dist/components/docs/reference/DocsReferencePage.js +3 -3
  174. package/dist/components/docs/reference/docsMarkdownParser.js +2 -2
  175. package/dist/components/docs/reference/index.js +4 -4
  176. package/dist/components/docs/safety/SafetyAuditingPage.js +2 -2
  177. package/dist/components/docs/safety/SafetyMigrationsPage.js +2 -2
  178. package/dist/components/docs/safety/SafetyOverviewPage.js +1 -1
  179. package/dist/components/docs/safety/SafetyPDPPage.js +2 -2
  180. package/dist/components/docs/safety/SafetySecurityTrustPage.js +1 -1
  181. package/dist/components/docs/safety/SafetySigningPage.js +3 -3
  182. package/dist/components/docs/safety/SafetyTenantIsolationPage.js +2 -2
  183. package/dist/components/docs/safety/index.js +7 -7
  184. package/dist/components/docs/shared/StudioPrompt.js +1 -1
  185. package/dist/components/docs/specs/SpecsBuilderControlPlanePage.js +4 -4
  186. package/dist/components/docs/specs/SpecsCapabilitiesPage.js +2 -2
  187. package/dist/components/docs/specs/SpecsConnectPage.js +2 -2
  188. package/dist/components/docs/specs/SpecsDataViewsPage.js +2 -2
  189. package/dist/components/docs/specs/SpecsModuleBundlesPage.js +3 -3
  190. package/dist/components/docs/specs/SpecsOverlaysPage.js +2 -2
  191. package/dist/components/docs/specs/SpecsOverviewPage.js +1 -1
  192. package/dist/components/docs/specs/SpecsPolicyPage.js +3 -3
  193. package/dist/components/docs/specs/SpecsWorkflowsPage.js +2 -2
  194. package/dist/components/docs/specs/index.js +13 -13
  195. package/dist/components/docs/studio/StudioBYOKPage.js +1 -1
  196. package/dist/components/docs/studio/StudioDeploymentsPage.js +1 -1
  197. package/dist/components/docs/studio/StudioGettingStartedPage.js +1 -1
  198. package/dist/components/docs/studio/StudioIntegrationsPage.js +1 -1
  199. package/dist/components/docs/studio/StudioOverviewPage.js +1 -1
  200. package/dist/components/docs/studio/StudioVisualBuilderPage.js +1 -1
  201. package/dist/components/docs/studio/index.js +1 -1
  202. package/dist/components/docs/tech/contracts/tech-docs.docblocks.js +2 -2
  203. package/dist/components/integrations/index.js +2 -2
  204. package/dist/components/integrations/molecules/IntegrationCard.js +1 -1
  205. package/dist/components/integrations/organisms/IntegrationMarketplace.js +1 -1
  206. package/dist/components/integrations/organisms/IntegrationSettings.js +2 -2
  207. package/dist/components/integrations/organisms/KnowledgeSourceList.js +1 -1
  208. package/dist/components/legal/PrivacyTemplate.js +1 -1
  209. package/dist/components/legal/TermsTemplate.js +1 -1
  210. package/dist/components/legal/index.js +1 -1
  211. package/dist/components/shared/FeatureGateNotice.js +1 -1
  212. package/dist/components/shared/index.js +1 -1
  213. package/dist/components/shell/WorkspaceHeader.js +1 -1
  214. package/dist/components/shell/WorkspaceProjectShellLayout.js +1 -1
  215. package/dist/components/shell/WorkspaceShellRenderer.js +1 -1
  216. package/dist/components/shell/WorkspaceSidebar.js +1 -1
  217. package/dist/components/shell/index.js +1 -1
  218. package/dist/components/templates/engine/index.js +1 -1
  219. package/dist/components/templates/index.js +11 -11
  220. package/dist/components/templates/messaging/ConversationList.js +2 -2
  221. package/dist/components/templates/messaging/MessageComposer.js +4 -4
  222. package/dist/components/templates/messaging/MessageThread.js +3 -3
  223. package/dist/components/templates/messaging/MessagingWorkspace.js +5 -5
  224. package/dist/components/templates/messaging/index.js +5 -5
  225. package/dist/components/templates/recipes/LanguageSwitcher.js +1 -1
  226. package/dist/components/templates/recipes/RecipeCard.js +1 -1
  227. package/dist/components/templates/recipes/RecipeDetail.js +1 -1
  228. package/dist/components/templates/recipes/RecipeList.js +3 -3
  229. package/dist/components/templates/recipes/index.js +3 -3
  230. package/dist/components/templates/todos/FilterBar.js +1 -1
  231. package/dist/components/templates/todos/TaskForm.js +2 -2
  232. package/dist/components/templates/todos/TaskItem.js +1 -1
  233. package/dist/components/templates/todos/TaskList.js +5 -5
  234. package/dist/components/templates/todos/index.js +5 -5
  235. package/dist/config/contractspec-blueprint.js +1 -1
  236. package/dist/config/contractspec-branding.js +1 -1
  237. package/dist/config/contractspec-routes.js +1 -1
  238. package/dist/config/index.js +1 -1
  239. package/dist/features/contracts-registry.js +1 -1
  240. package/dist/features/docs/docs.contracts.js +1 -1
  241. package/dist/features/docs/index.js +1 -1
  242. package/dist/features/docs.feature.js +1 -1
  243. package/dist/features/index.js +1 -1
  244. package/dist/features/mcp.feature.js +1 -1
  245. package/dist/features/presentations.feature.js +1 -1
  246. package/dist/features/registry.js +1 -1
  247. package/dist/index.d.ts +1 -0
  248. package/dist/index.js +382 -262
  249. package/dist/infrastructure/elysia/index.js +1 -1
  250. package/dist/infrastructure/elysia/logger.js +1 -1
  251. package/dist/infrastructure/index.js +1 -1
  252. package/dist/libs/email/client.js +1 -1
  253. package/dist/libs/email/contact.js +3 -3
  254. package/dist/libs/email/newsletter.js +3 -3
  255. package/dist/libs/email/utils.js +2 -2
  256. package/dist/libs/email/waitlist-application.js +3 -3
  257. package/dist/libs/email/waitlist.js +3 -3
  258. package/dist/libs/email.js +6 -6
  259. package/dist/libs/posthog/client.js +1 -1
  260. package/dist/libs/posthog/native.js +1 -1
  261. package/dist/libs/posthog/server.js +1 -1
  262. package/dist/libs/pricing-examples.js +1 -1
  263. package/dist/node/application/context-storage/index.js +1 -1
  264. package/dist/node/application/index.js +6 -6
  265. package/dist/node/application/mcp/cliMcp.js +2 -2
  266. package/dist/node/application/mcp/cliMcp.onboarding.js +1 -1
  267. package/dist/node/application/mcp/common.js +1 -1
  268. package/dist/node/application/mcp/contractsMcp.js +2 -2
  269. package/dist/node/application/mcp/contractsMcpAdoptionTools.js +1 -1
  270. package/dist/node/application/mcp/contractsMcpResources.js +2 -2
  271. package/dist/node/application/mcp/contractsMcpTools.js +1 -1
  272. package/dist/node/application/mcp/docsMcp.catalog.js +2 -2
  273. package/dist/node/application/mcp/docsMcp.data.js +1 -1
  274. package/dist/node/application/mcp/docsMcp.js +3 -3
  275. package/dist/node/application/mcp/docsMcp.prompts.js +3 -3
  276. package/dist/node/application/mcp/docsMcp.reference.js +2 -2
  277. package/dist/node/application/mcp/docsMcp.resources.js +2 -2
  278. package/dist/node/application/mcp/docsMcp.tools.js +2 -2
  279. package/dist/node/application/mcp/index.js +6 -6
  280. package/dist/node/application/mcp/internalMcp.js +2 -2
  281. package/dist/node/application/mcp/normalizeMcpRequest.js +1 -1
  282. package/dist/node/application/mcp/providerRankingMcp.js +1 -1
  283. package/dist/node/bundles/LibraryBundle.js +1 -1
  284. package/dist/node/bundles/index.js +1 -1
  285. package/dist/node/components/docs/DocsIndexPage.js +2 -2
  286. package/dist/node/components/docs/advanced/AdvancedMCPPage.js +3 -3
  287. package/dist/node/components/docs/advanced/AdvancedOverlayEditorPage.js +1 -1
  288. package/dist/node/components/docs/advanced/AdvancedRenderersPage.js +2 -2
  289. package/dist/node/components/docs/advanced/AdvancedSpecExperimentsPage.js +4 -4
  290. package/dist/node/components/docs/advanced/AdvancedTelemetryPage.js +2 -2
  291. package/dist/node/components/docs/advanced/AdvancedWorkflowMonitoringPage.js +2 -2
  292. package/dist/node/components/docs/advanced/index.js +9 -9
  293. package/dist/node/components/docs/architecture/ArchitectureAppConfigPage.js +6 -6
  294. package/dist/node/components/docs/architecture/ArchitectureControlPlanePage.js +3 -3
  295. package/dist/node/components/docs/architecture/ArchitectureIntegrationBindingPage.js +7 -7
  296. package/dist/node/components/docs/architecture/ArchitectureKnowledgeBindingPage.js +6 -6
  297. package/dist/node/components/docs/architecture/ArchitectureMultiTenancyPage.js +2 -2
  298. package/dist/node/components/docs/architecture/ArchitectureOverviewPage.js +1 -1
  299. package/dist/node/components/docs/architecture/index.js +20 -20
  300. package/dist/node/components/docs/comparison/ComparisonAutomationPlatformsPage.js +1 -1
  301. package/dist/node/components/docs/comparison/ComparisonEnterprisePlatformsPage.js +1 -1
  302. package/dist/node/components/docs/comparison/ComparisonInternalToolBuildersPage.js +1 -1
  303. package/dist/node/components/docs/comparison/ComparisonOverviewPage.js +1 -1
  304. package/dist/node/components/docs/comparison/ComparisonWindmillPage.js +1 -1
  305. package/dist/node/components/docs/comparison/ComparisonWorkflowEnginesPage.js +1 -1
  306. package/dist/node/components/docs/comparison/index.js +1 -1
  307. package/dist/node/components/docs/docsManifest.js +1 -1
  308. package/dist/node/components/docs/ecosystem/IntegrationsPage.js +2 -2
  309. package/dist/node/components/docs/ecosystem/PluginsPage.js +4 -4
  310. package/dist/node/components/docs/ecosystem/RegistryPage.js +4 -4
  311. package/dist/node/components/docs/ecosystem/TemplatesPage.js +3 -3
  312. package/dist/node/components/docs/ecosystem/index.js +11 -11
  313. package/dist/node/components/docs/examples/DocsExamplesPage.js +1 -1
  314. package/dist/node/components/docs/examples/ExampleShowcasePage.js +2 -2
  315. package/dist/node/components/docs/examples/exampleShowcaseData.js +2 -2
  316. package/dist/node/components/docs/examples/index.js +2 -2
  317. package/dist/node/components/docs/generated/docs-index.generated.js +1 -1
  318. package/dist/node/components/docs/generated/index.js +1 -1
  319. package/dist/node/components/docs/generated/loader.js +1 -1
  320. package/dist/node/components/docs/getting-started/CLIPage.js +4 -4
  321. package/dist/node/components/docs/getting-started/CompatibilityPage.js +1 -1
  322. package/dist/node/components/docs/getting-started/DataViewTutorialPage.js +4 -4
  323. package/dist/node/components/docs/getting-started/DeveloperToolsPage.js +1 -1
  324. package/dist/node/components/docs/getting-started/HelloWorldPage.js +5 -5
  325. package/dist/node/components/docs/getting-started/InstallationPage.js +3 -3
  326. package/dist/node/components/docs/getting-started/StartHerePage.js +3 -3
  327. package/dist/node/components/docs/getting-started/TroubleshootingPage.js +2 -2
  328. package/dist/node/components/docs/getting-started/VSCodeExtensionPage.js +1 -1
  329. package/dist/node/components/docs/getting-started/getting-started.docblocks.js +2 -2
  330. package/dist/node/components/docs/getting-started/index.js +17 -17
  331. package/dist/node/components/docs/guides/GuideCIDiffGatingPage.js +2 -2
  332. package/dist/node/components/docs/guides/GuideConnectInRepoPage.js +6 -6
  333. package/dist/node/components/docs/guides/GuideContractTypesPage.js +6 -6
  334. package/dist/node/components/docs/guides/GuideDocsPipelinePage.js +3 -3
  335. package/dist/node/components/docs/guides/GuideFirstModuleBundlePage.js +4 -4
  336. package/dist/node/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +2 -2
  337. package/dist/node/components/docs/guides/GuideHostBuilderWorkbenchPage.js +7 -7
  338. package/dist/node/components/docs/guides/GuideImportExistingCodebasesPage.js +8 -8
  339. package/dist/node/components/docs/guides/GuideNextjsOneEndpointPage.js +6 -6
  340. package/dist/node/components/docs/guides/GuideReleaseCapsulesPage.js +3 -3
  341. package/dist/node/components/docs/guides/GuideSpecValidationTypingPage.js +4 -4
  342. package/dist/node/components/docs/guides/GuidesIndexPage.js +2 -2
  343. package/dist/node/components/docs/guides/index.js +43 -43
  344. package/dist/node/components/docs/index.js +375 -255
  345. package/dist/node/components/docs/integrations/IntegrationsCircuitBreakersPage.js +2 -2
  346. package/dist/node/components/docs/integrations/IntegrationsElevenLabsPage.js +3 -3
  347. package/dist/node/components/docs/integrations/IntegrationsGithubPage.js +2 -2
  348. package/dist/node/components/docs/integrations/IntegrationsGmailPage.js +3 -3
  349. package/dist/node/components/docs/integrations/IntegrationsGoogleCalendarPage.js +3 -3
  350. package/dist/node/components/docs/integrations/IntegrationsHealthRoutingPage.js +2 -2
  351. package/dist/node/components/docs/integrations/IntegrationsMistralPage.js +2 -2
  352. package/dist/node/components/docs/integrations/IntegrationsOpenAIPage.js +2 -2
  353. package/dist/node/components/docs/integrations/IntegrationsOverviewPage.js +1 -1
  354. package/dist/node/components/docs/integrations/IntegrationsPostmarkPage.js +2 -2
  355. package/dist/node/components/docs/integrations/IntegrationsPowensPage.js +2 -2
  356. package/dist/node/components/docs/integrations/IntegrationsQdrantPage.js +5 -5
  357. package/dist/node/components/docs/integrations/IntegrationsResendPage.js +3 -3
  358. package/dist/node/components/docs/integrations/IntegrationsS3Page.js +4 -4
  359. package/dist/node/components/docs/integrations/IntegrationsSlackPage.js +2 -2
  360. package/dist/node/components/docs/integrations/IntegrationsSpecModelPage.js +2 -2
  361. package/dist/node/components/docs/integrations/IntegrationsStripePage.js +2 -2
  362. package/dist/node/components/docs/integrations/IntegrationsTwilioPage.js +3 -3
  363. package/dist/node/components/docs/integrations/IntegrationsWhatsappMetaPage.js +2 -2
  364. package/dist/node/components/docs/integrations/IntegrationsWhatsappTwilioPage.js +2 -2
  365. package/dist/node/components/docs/integrations/index.js +39 -39
  366. package/dist/node/components/docs/intent/ContractFirstApiPage.js +2 -2
  367. package/dist/node/components/docs/intent/DeterministicCodegenPage.js +2 -2
  368. package/dist/node/components/docs/intent/GenerateClientFromSchemaPage.js +7 -7
  369. package/dist/node/components/docs/intent/OpenapiAlternativePage.js +3 -3
  370. package/dist/node/components/docs/intent/SchemaValidationTypescriptPage.js +4 -4
  371. package/dist/node/components/docs/intent/SpecDrivenDevelopmentPage.js +2 -2
  372. package/dist/node/components/docs/intent/index.js +15 -15
  373. package/dist/node/components/docs/intent/intent-pages.docblocks.js +1 -1
  374. package/dist/node/components/docs/knowledge/KnowledgeCategoriesPage.js +2 -2
  375. package/dist/node/components/docs/knowledge/KnowledgeExamplesPage.js +2 -2
  376. package/dist/node/components/docs/knowledge/KnowledgeOverviewPage.js +1 -1
  377. package/dist/node/components/docs/knowledge/KnowledgeSourcesPage.js +2 -2
  378. package/dist/node/components/docs/knowledge/KnowledgeSpacesPage.js +2 -2
  379. package/dist/node/components/docs/knowledge/index.js +5 -5
  380. package/dist/node/components/docs/libraries/LibrariesAccessibilityPage.js +3 -3
  381. package/dist/node/components/docs/libraries/LibrariesAiAgentPage.js +3 -3
  382. package/dist/node/components/docs/libraries/LibrariesAnalyticsPage.js +4 -4
  383. package/dist/node/components/docs/libraries/LibrariesContentGenPage.js +2 -2
  384. package/dist/node/components/docs/libraries/LibrariesContractsPage.js +2 -2
  385. package/dist/node/components/docs/libraries/LibrariesCostTrackingPage.js +3 -3
  386. package/dist/node/components/docs/libraries/LibrariesCrossPlatformUIPage.content.js +85 -0
  387. package/dist/node/components/docs/libraries/LibrariesCrossPlatformUIPage.js +85 -0
  388. package/dist/node/components/docs/libraries/LibrariesDataBackendPage.js +2 -2
  389. package/dist/node/components/docs/libraries/LibrariesDataViewsPage.js +3 -3
  390. package/dist/node/components/docs/libraries/LibrariesDesignSystemPage.js +38 -2
  391. package/dist/node/components/docs/libraries/LibrariesEvolutionPage.js +4 -4
  392. package/dist/node/components/docs/libraries/LibrariesGraphQLPage.js +2 -2
  393. package/dist/node/components/docs/libraries/LibrariesGrowthPage.js +3 -3
  394. package/dist/node/components/docs/libraries/LibrariesMultiTenancyPage.js +3 -3
  395. package/dist/node/components/docs/libraries/LibrariesObservabilityPage.js +5 -5
  396. package/dist/node/components/docs/libraries/LibrariesOverlayEnginePage.js +4 -4
  397. package/dist/node/components/docs/libraries/LibrariesOverviewPage.js +1 -1
  398. package/dist/node/components/docs/libraries/LibrariesPersonalizationPage.js +4 -4
  399. package/dist/node/components/docs/libraries/LibrariesProgressiveDeliveryPage.js +3 -3
  400. package/dist/node/components/docs/libraries/LibrariesResiliencePage.js +4 -4
  401. package/dist/node/components/docs/libraries/LibrariesRuntimePage.js +2 -2
  402. package/dist/node/components/docs/libraries/LibrariesSLOPage.js +3 -3
  403. package/dist/node/components/docs/libraries/LibrariesSchemaPage.js +3 -3
  404. package/dist/node/components/docs/libraries/LibrariesSupportBotPage.js +3 -3
  405. package/dist/node/components/docs/libraries/LibrariesTestingPage.js +3 -3
  406. package/dist/node/components/docs/libraries/LibrariesUIKitPage.js +2 -2
  407. package/dist/node/components/docs/libraries/LibrariesUIKitWebPage.js +2 -2
  408. package/dist/node/components/docs/libraries/LibrariesWorkflowComposerPage.js +3 -3
  409. package/dist/node/components/docs/libraries/LibrariesWorkflowsPage.js +2 -2
  410. package/dist/node/components/docs/libraries/index.js +173 -53
  411. package/dist/node/components/docs/manifesto/ManifestoPage.js +1 -1
  412. package/dist/node/components/docs/ops/AutoEvolutionOpsPage.js +2 -2
  413. package/dist/node/components/docs/ops/DistributedTracingOpsPage.js +2 -2
  414. package/dist/node/components/docs/ops/index.js +3 -3
  415. package/dist/node/components/docs/ops/ops-lifecycle.docblocks.js +2 -2
  416. package/dist/node/components/docs/ops/ops-runbooks-a.docblocks.js +2 -2
  417. package/dist/node/components/docs/ops/ops-runbooks-b.docblocks.js +2 -2
  418. package/dist/node/components/docs/ops/ops-slo-tenant.docblocks.js +2 -2
  419. package/dist/node/components/docs/ops/ops-top.docs.js +2 -2
  420. package/dist/node/components/docs/ops/ops.docs.js +6 -6
  421. package/dist/node/components/docs/product/product.docblocks.js +2 -2
  422. package/dist/node/components/docs/reference/DocsMarkdownContent.js +2 -2
  423. package/dist/node/components/docs/reference/DocsReferenceContent.js +3 -3
  424. package/dist/node/components/docs/reference/DocsReferenceIndexClient.js +2 -2
  425. package/dist/node/components/docs/reference/DocsReferenceIndexPage.js +2 -2
  426. package/dist/node/components/docs/reference/DocsReferencePage.js +3 -3
  427. package/dist/node/components/docs/reference/docsMarkdownParser.js +2 -2
  428. package/dist/node/components/docs/reference/index.js +4 -4
  429. package/dist/node/components/docs/safety/SafetyAuditingPage.js +2 -2
  430. package/dist/node/components/docs/safety/SafetyMigrationsPage.js +2 -2
  431. package/dist/node/components/docs/safety/SafetyOverviewPage.js +1 -1
  432. package/dist/node/components/docs/safety/SafetyPDPPage.js +2 -2
  433. package/dist/node/components/docs/safety/SafetySecurityTrustPage.js +1 -1
  434. package/dist/node/components/docs/safety/SafetySigningPage.js +3 -3
  435. package/dist/node/components/docs/safety/SafetyTenantIsolationPage.js +2 -2
  436. package/dist/node/components/docs/safety/index.js +7 -7
  437. package/dist/node/components/docs/shared/StudioPrompt.js +1 -1
  438. package/dist/node/components/docs/specs/SpecsBuilderControlPlanePage.js +4 -4
  439. package/dist/node/components/docs/specs/SpecsCapabilitiesPage.js +2 -2
  440. package/dist/node/components/docs/specs/SpecsConnectPage.js +2 -2
  441. package/dist/node/components/docs/specs/SpecsDataViewsPage.js +2 -2
  442. package/dist/node/components/docs/specs/SpecsModuleBundlesPage.js +3 -3
  443. package/dist/node/components/docs/specs/SpecsOverlaysPage.js +2 -2
  444. package/dist/node/components/docs/specs/SpecsOverviewPage.js +1 -1
  445. package/dist/node/components/docs/specs/SpecsPolicyPage.js +3 -3
  446. package/dist/node/components/docs/specs/SpecsWorkflowsPage.js +2 -2
  447. package/dist/node/components/docs/specs/index.js +13 -13
  448. package/dist/node/components/docs/studio/StudioBYOKPage.js +1 -1
  449. package/dist/node/components/docs/studio/StudioDeploymentsPage.js +1 -1
  450. package/dist/node/components/docs/studio/StudioGettingStartedPage.js +1 -1
  451. package/dist/node/components/docs/studio/StudioIntegrationsPage.js +1 -1
  452. package/dist/node/components/docs/studio/StudioOverviewPage.js +1 -1
  453. package/dist/node/components/docs/studio/StudioVisualBuilderPage.js +1 -1
  454. package/dist/node/components/docs/studio/index.js +1 -1
  455. package/dist/node/components/docs/tech/contracts/tech-docs.docblocks.js +2 -2
  456. package/dist/node/components/integrations/index.js +2 -2
  457. package/dist/node/components/integrations/molecules/IntegrationCard.js +1 -1
  458. package/dist/node/components/integrations/organisms/IntegrationMarketplace.js +1 -1
  459. package/dist/node/components/integrations/organisms/IntegrationSettings.js +2 -2
  460. package/dist/node/components/integrations/organisms/KnowledgeSourceList.js +1 -1
  461. package/dist/node/components/legal/PrivacyTemplate.js +1 -1
  462. package/dist/node/components/legal/TermsTemplate.js +1 -1
  463. package/dist/node/components/legal/index.js +1 -1
  464. package/dist/node/components/shared/FeatureGateNotice.js +1 -1
  465. package/dist/node/components/shared/index.js +1 -1
  466. package/dist/node/components/shell/WorkspaceHeader.js +1 -1
  467. package/dist/node/components/shell/WorkspaceProjectShellLayout.js +1 -1
  468. package/dist/node/components/shell/WorkspaceShellRenderer.js +1 -1
  469. package/dist/node/components/shell/WorkspaceSidebar.js +1 -1
  470. package/dist/node/components/shell/index.js +1 -1
  471. package/dist/node/components/templates/engine/index.js +1 -1
  472. package/dist/node/components/templates/index.js +11 -11
  473. package/dist/node/components/templates/messaging/ConversationList.js +2 -2
  474. package/dist/node/components/templates/messaging/MessageComposer.js +4 -4
  475. package/dist/node/components/templates/messaging/MessageThread.js +3 -3
  476. package/dist/node/components/templates/messaging/MessagingWorkspace.js +5 -5
  477. package/dist/node/components/templates/messaging/index.js +5 -5
  478. package/dist/node/components/templates/recipes/LanguageSwitcher.js +1 -1
  479. package/dist/node/components/templates/recipes/RecipeCard.js +1 -1
  480. package/dist/node/components/templates/recipes/RecipeDetail.js +1 -1
  481. package/dist/node/components/templates/recipes/RecipeList.js +3 -3
  482. package/dist/node/components/templates/recipes/index.js +3 -3
  483. package/dist/node/components/templates/todos/FilterBar.js +1 -1
  484. package/dist/node/components/templates/todos/TaskForm.js +2 -2
  485. package/dist/node/components/templates/todos/TaskItem.js +1 -1
  486. package/dist/node/components/templates/todos/TaskList.js +5 -5
  487. package/dist/node/components/templates/todos/index.js +5 -5
  488. package/dist/node/config/contractspec-blueprint.js +1 -1
  489. package/dist/node/config/contractspec-branding.js +1 -1
  490. package/dist/node/config/contractspec-routes.js +1 -1
  491. package/dist/node/config/index.js +1 -1
  492. package/dist/node/features/contracts-registry.js +1 -1
  493. package/dist/node/features/docs/docs.contracts.js +1 -1
  494. package/dist/node/features/docs/index.js +1 -1
  495. package/dist/node/features/docs.feature.js +1 -1
  496. package/dist/node/features/index.js +1 -1
  497. package/dist/node/features/mcp.feature.js +1 -1
  498. package/dist/node/features/presentations.feature.js +1 -1
  499. package/dist/node/features/registry.js +1 -1
  500. package/dist/node/index.js +382 -262
  501. package/dist/node/infrastructure/elysia/index.js +1 -1
  502. package/dist/node/infrastructure/elysia/logger.js +1 -1
  503. package/dist/node/infrastructure/index.js +1 -1
  504. package/dist/node/libs/email/client.js +1 -1
  505. package/dist/node/libs/email/contact.js +3 -3
  506. package/dist/node/libs/email/newsletter.js +3 -3
  507. package/dist/node/libs/email/utils.js +2 -2
  508. package/dist/node/libs/email/waitlist-application.js +3 -3
  509. package/dist/node/libs/email/waitlist.js +3 -3
  510. package/dist/node/libs/email.js +6 -6
  511. package/dist/node/libs/posthog/client.js +1 -1
  512. package/dist/node/libs/posthog/native.js +1 -1
  513. package/dist/node/libs/posthog/server.js +1 -1
  514. package/dist/node/libs/pricing-examples.js +1 -1
  515. package/dist/node/presentation/features/atoms/FeatureIcon/FeatureIcon.js +1 -1
  516. package/dist/node/presentation/features/atoms/FeatureIcon/index.js +1 -1
  517. package/dist/node/presentation/features/atoms/index.js +1 -1
  518. package/dist/node/presentation/features/hooks/index.js +1 -1
  519. package/dist/node/presentation/features/hooks/useContractsRegistry.js +1 -1
  520. package/dist/node/presentation/features/hooks/useFeatureFilters.js +1 -1
  521. package/dist/node/presentation/features/hooks/useFeatureRegistry.js +1 -1
  522. package/dist/node/presentation/features/hooks/useRelatedDocs.js +1 -1
  523. package/dist/node/presentation/features/index.js +1 -1
  524. package/dist/node/presentation/features/molecules/FeatureCard/FeatureCard.js +1 -1
  525. package/dist/node/presentation/features/molecules/FeatureCard/index.js +1 -1
  526. package/dist/node/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js +1 -1
  527. package/dist/node/presentation/features/molecules/FeatureCategoryHeader/index.js +1 -1
  528. package/dist/node/presentation/features/molecules/FeatureFilters/FeatureFilters.js +1 -1
  529. package/dist/node/presentation/features/molecules/FeatureFilters/index.js +1 -1
  530. package/dist/node/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js +1 -1
  531. package/dist/node/presentation/features/molecules/FeatureHoverPreview/index.js +1 -1
  532. package/dist/node/presentation/features/molecules/index.js +1 -1
  533. package/dist/node/presentation/features/organisms/FeatureDataViewsList.js +1 -1
  534. package/dist/node/presentation/features/organisms/FeatureDetail/FeatureDetail.js +1 -1
  535. package/dist/node/presentation/features/organisms/FeatureDetail/index.js +1 -1
  536. package/dist/node/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js +1 -1
  537. package/dist/node/presentation/features/organisms/FeatureDiscovery/index.js +1 -1
  538. package/dist/node/presentation/features/organisms/FeatureEventsList.js +1 -1
  539. package/dist/node/presentation/features/organisms/FeatureFormsList.js +1 -1
  540. package/dist/node/presentation/features/organisms/FeatureOperationsList.js +1 -1
  541. package/dist/node/presentation/features/organisms/FeaturePresentationsList.js +1 -1
  542. package/dist/node/presentation/features/organisms/index.js +1 -1
  543. package/dist/node/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js +1 -1
  544. package/dist/node/presentation/features/templates/FeatureDataViewDetailTemplate/index.js +1 -1
  545. package/dist/node/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js +1 -1
  546. package/dist/node/presentation/features/templates/FeatureDataViewsTemplate/index.js +1 -1
  547. package/dist/node/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js +1 -1
  548. package/dist/node/presentation/features/templates/FeatureEventDetailTemplate/index.js +1 -1
  549. package/dist/node/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js +1 -1
  550. package/dist/node/presentation/features/templates/FeatureEventsTemplate/index.js +1 -1
  551. package/dist/node/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js +1 -1
  552. package/dist/node/presentation/features/templates/FeatureFormDetailTemplate/index.js +1 -1
  553. package/dist/node/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js +1 -1
  554. package/dist/node/presentation/features/templates/FeatureFormsTemplate/index.js +1 -1
  555. package/dist/node/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js +1 -1
  556. package/dist/node/presentation/features/templates/FeatureOperationDetailTemplate/index.js +1 -1
  557. package/dist/node/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js +1 -1
  558. package/dist/node/presentation/features/templates/FeatureOperationsTemplate/index.js +1 -1
  559. package/dist/node/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js +1 -1
  560. package/dist/node/presentation/features/templates/FeatureOverviewTemplate/index.js +1 -1
  561. package/dist/node/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js +1 -1
  562. package/dist/node/presentation/features/templates/FeaturePresentationDetailTemplate/index.js +1 -1
  563. package/dist/node/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js +1 -1
  564. package/dist/node/presentation/features/templates/FeaturePresentationsTemplate/index.js +1 -1
  565. package/dist/presentation/features/atoms/FeatureIcon/FeatureIcon.js +1 -1
  566. package/dist/presentation/features/atoms/FeatureIcon/index.js +1 -1
  567. package/dist/presentation/features/atoms/index.js +1 -1
  568. package/dist/presentation/features/hooks/index.js +1 -1
  569. package/dist/presentation/features/hooks/useContractsRegistry.js +1 -1
  570. package/dist/presentation/features/hooks/useFeatureFilters.js +1 -1
  571. package/dist/presentation/features/hooks/useFeatureRegistry.js +1 -1
  572. package/dist/presentation/features/hooks/useRelatedDocs.js +1 -1
  573. package/dist/presentation/features/index.js +1 -1
  574. package/dist/presentation/features/molecules/FeatureCard/FeatureCard.js +1 -1
  575. package/dist/presentation/features/molecules/FeatureCard/index.js +1 -1
  576. package/dist/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js +1 -1
  577. package/dist/presentation/features/molecules/FeatureCategoryHeader/index.js +1 -1
  578. package/dist/presentation/features/molecules/FeatureFilters/FeatureFilters.js +1 -1
  579. package/dist/presentation/features/molecules/FeatureFilters/index.js +1 -1
  580. package/dist/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js +1 -1
  581. package/dist/presentation/features/molecules/FeatureHoverPreview/index.js +1 -1
  582. package/dist/presentation/features/molecules/index.js +1 -1
  583. package/dist/presentation/features/organisms/FeatureDataViewsList.js +1 -1
  584. package/dist/presentation/features/organisms/FeatureDetail/FeatureDetail.js +1 -1
  585. package/dist/presentation/features/organisms/FeatureDetail/index.js +1 -1
  586. package/dist/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js +1 -1
  587. package/dist/presentation/features/organisms/FeatureDiscovery/index.js +1 -1
  588. package/dist/presentation/features/organisms/FeatureEventsList.js +1 -1
  589. package/dist/presentation/features/organisms/FeatureFormsList.js +1 -1
  590. package/dist/presentation/features/organisms/FeatureOperationsList.js +1 -1
  591. package/dist/presentation/features/organisms/FeaturePresentationsList.js +1 -1
  592. package/dist/presentation/features/organisms/index.js +1 -1
  593. package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js +1 -1
  594. package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/index.js +1 -1
  595. package/dist/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js +1 -1
  596. package/dist/presentation/features/templates/FeatureDataViewsTemplate/index.js +1 -1
  597. package/dist/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js +1 -1
  598. package/dist/presentation/features/templates/FeatureEventDetailTemplate/index.js +1 -1
  599. package/dist/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js +1 -1
  600. package/dist/presentation/features/templates/FeatureEventsTemplate/index.js +1 -1
  601. package/dist/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js +1 -1
  602. package/dist/presentation/features/templates/FeatureFormDetailTemplate/index.js +1 -1
  603. package/dist/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js +1 -1
  604. package/dist/presentation/features/templates/FeatureFormsTemplate/index.js +1 -1
  605. package/dist/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js +1 -1
  606. package/dist/presentation/features/templates/FeatureOperationDetailTemplate/index.js +1 -1
  607. package/dist/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js +1 -1
  608. package/dist/presentation/features/templates/FeatureOperationsTemplate/index.js +1 -1
  609. package/dist/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js +1 -1
  610. package/dist/presentation/features/templates/FeatureOverviewTemplate/index.js +1 -1
  611. package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js +1 -1
  612. package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/index.js +1 -1
  613. package/dist/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js +1 -1
  614. package/dist/presentation/features/templates/FeaturePresentationsTemplate/index.js +1 -1
  615. package/package.json +49 -24
  616. package/src/application/mcp/internalMcp.ts +1 -1
  617. package/src/bundles/LibraryBundle.ts +19 -130
  618. package/src/components/docs/docsManifest.test.ts +14 -0
  619. package/src/components/docs/docsManifest.ts +10 -0
  620. package/src/components/docs/examples/DocsExamplesPage.tsx +3 -3
  621. package/src/components/docs/examples/ExampleShowcasePage.tsx +1 -1
  622. package/src/components/docs/examples/exampleShowcaseData.test.ts +5 -3
  623. package/src/components/docs/examples/exampleShowcaseData.ts +3 -3
  624. package/src/components/docs/generated/docs-index._common.json +1699 -2008
  625. package/src/components/docs/generated/docs-index.agent-console.json +377 -377
  626. package/src/components/docs/generated/docs-index.ai-chat-assistant.json +17 -17
  627. package/src/components/docs/generated/docs-index.ai-chat.json +105 -105
  628. package/src/components/docs/generated/docs-index.ai-support-bot.json +9 -9
  629. package/src/components/docs/generated/docs-index.analytics-dashboard.json +169 -169
  630. package/src/components/docs/generated/docs-index.app-config.json +137 -137
  631. package/src/components/docs/generated/docs-index.artisan-knowledge-product.json +17 -17
  632. package/src/components/docs/generated/docs-index.artisan-payments-stripe.json +33 -33
  633. package/src/components/docs/generated/docs-index.audit-trail.json +49 -49
  634. package/src/components/docs/generated/docs-index.calendar-google.json +9 -9
  635. package/src/components/docs/generated/docs-index.content-generation.json +9 -9
  636. package/src/components/docs/generated/docs-index.control-plane.json +17 -17
  637. package/src/components/docs/generated/docs-index.crm-pipeline.json +161 -161
  638. package/src/components/docs/generated/docs-index.data-grid-showcase.json +25 -25
  639. package/src/components/docs/generated/docs-index.defineExample.json +9 -9
  640. package/src/components/docs/generated/docs-index.email-gmail.json +9 -9
  641. package/src/components/docs/generated/docs-index.feature-flags.json +217 -217
  642. package/src/components/docs/generated/docs-index.files.json +177 -177
  643. package/src/components/docs/generated/docs-index.generated.ts +20 -20
  644. package/src/components/docs/generated/docs-index.harness-lab.json +9 -9
  645. package/src/components/docs/generated/docs-index.health.json +97 -97
  646. package/src/components/docs/generated/docs-index.identity-rbac.json +313 -313
  647. package/src/components/docs/generated/docs-index.in-app-docs.json +9 -9
  648. package/src/components/docs/generated/docs-index.integration-hub.json +265 -265
  649. package/src/components/docs/generated/docs-index.integration-posthog.json +9 -9
  650. package/src/components/docs/generated/docs-index.integration-stripe.json +9 -9
  651. package/src/components/docs/generated/docs-index.integration-supabase.json +9 -9
  652. package/src/components/docs/generated/docs-index.jobs.json +137 -137
  653. package/src/components/docs/generated/docs-index.kb-update-pipeline.json +129 -129
  654. package/src/components/docs/generated/docs-index.knowledge-canon.json +9 -9
  655. package/src/components/docs/generated/docs-index.learning-journey-ambient-coach.json +9 -9
  656. package/src/components/docs/generated/docs-index.learning-journey-crm-onboarding.json +49 -49
  657. package/src/components/docs/generated/docs-index.learning-journey-duo-drills.json +9 -9
  658. package/src/components/docs/generated/docs-index.learning-journey-platform-tour.json +49 -49
  659. package/src/components/docs/generated/docs-index.learning-journey-quest-challenges.json +9 -9
  660. package/src/components/docs/generated/docs-index.learning-journey-registry.json +33 -33
  661. package/src/components/docs/generated/docs-index.learning-journey-studio-onboarding.json +49 -49
  662. package/src/components/docs/generated/docs-index.learning-journey-ui-coaching.json +9 -9
  663. package/src/components/docs/generated/docs-index.learning-journey-ui-gamified.json +9 -9
  664. package/src/components/docs/generated/docs-index.learning-journey-ui-onboarding.json +9 -9
  665. package/src/components/docs/generated/docs-index.learning-journey-ui-shared.json +9 -9
  666. package/src/components/docs/generated/docs-index.learning-journey.json +241 -241
  667. package/src/components/docs/generated/docs-index.learning-patterns.json +9 -9
  668. package/src/components/docs/generated/docs-index.lifecycle-cli.json +9 -9
  669. package/src/components/docs/generated/docs-index.lifecycle-dashboard.json +9 -9
  670. package/src/components/docs/generated/docs-index.locale-jurisdiction-gate.json +65 -65
  671. package/src/components/docs/generated/docs-index.manifest.json +432 -432
  672. package/src/components/docs/generated/docs-index.marketplace.json +337 -337
  673. package/src/components/docs/generated/docs-index.meeting-recorder-providers.json +9 -9
  674. package/src/components/docs/generated/docs-index.meeting-recorder.json +49 -49
  675. package/src/components/docs/generated/docs-index.messaging-agent-actions.json +17 -17
  676. package/src/components/docs/generated/docs-index.metrics.json +201 -201
  677. package/src/components/docs/generated/docs-index.minimal.json +17 -17
  678. package/src/components/docs/generated/docs-index.mobile-demo-landing.json +42 -0
  679. package/src/components/docs/generated/docs-index.notifications.json +65 -65
  680. package/src/components/docs/generated/docs-index.openbanking-powens.json +9 -9
  681. package/src/components/docs/generated/docs-index.openbanking.json +65 -65
  682. package/src/components/docs/generated/docs-index.opencode-cli.json +17 -17
  683. package/src/components/docs/generated/docs-index.personalization.json +9 -9
  684. package/src/components/docs/generated/docs-index.platform-acp.json +137 -137
  685. package/src/components/docs/generated/docs-index.platform-agent.json +201 -201
  686. package/src/components/docs/generated/docs-index.platform-context.json +121 -121
  687. package/src/components/docs/generated/docs-index.platform-control-plane.json +321 -321
  688. package/src/components/docs/generated/docs-index.platform-database.json +89 -89
  689. package/src/components/docs/generated/docs-index.platform-docs.json +161 -161
  690. package/src/components/docs/generated/docs-index.platform-harness.json +177 -177
  691. package/src/components/docs/generated/docs-index.platform-integrations.json +329 -329
  692. package/src/components/docs/generated/docs-index.platform-knowledge.json +57 -57
  693. package/src/components/docs/generated/docs-index.platform-provider-ranking.json +217 -217
  694. package/src/components/docs/generated/docs-index.pocket-family-office.json +129 -129
  695. package/src/components/docs/generated/docs-index.policy-safe-knowledge-assistant.json +9 -9
  696. package/src/components/docs/generated/docs-index.product-intent.json +9 -9
  697. package/src/components/docs/generated/docs-index.project-management-sync.json +9 -9
  698. package/src/components/docs/generated/docs-index.saas-boilerplate.json +209 -209
  699. package/src/components/docs/generated/docs-index.service-business-os.json +193 -193
  700. package/src/components/docs/generated/docs-index.team-hub.json +185 -185
  701. package/src/components/docs/generated/docs-index.unknown.json +521 -521
  702. package/src/components/docs/generated/docs-index.versioned-knowledge-base.json +81 -81
  703. package/src/components/docs/generated/docs-index.video-api-showcase.json +33 -33
  704. package/src/components/docs/generated/docs-index.video-docs-terminal.json +9 -9
  705. package/src/components/docs/generated/docs-index.video-marketing-clip.json +9 -9
  706. package/src/components/docs/generated/docs-index.visualization-showcase.json +17 -17
  707. package/src/components/docs/generated/docs-index.voice-providers.json +9 -9
  708. package/src/components/docs/generated/docs-index.wealth-snapshot.json +153 -153
  709. package/src/components/docs/generated/docs-index.workflow-system.json +433 -433
  710. package/src/components/docs/generated/docs-index.workspace-cli.json +9 -9
  711. package/src/components/docs/generated/index.ts +20 -5
  712. package/src/components/docs/generated/loader.ts +15 -8
  713. package/src/components/docs/getting-started/CompatibilityPage.tsx +14 -0
  714. package/src/components/docs/libraries/LibrariesCrossPlatformUIPage.content.ts +252 -0
  715. package/src/components/docs/libraries/LibrariesCrossPlatformUIPage.tsx +232 -0
  716. package/src/components/docs/libraries/LibrariesDesignSystemPage.tsx +79 -0
  717. package/src/components/docs/libraries/LibrariesOverviewPage.tsx +6 -0
  718. package/src/components/docs/libraries/LibrariesRuntimePage.tsx +15 -0
  719. package/src/components/docs/libraries/LibrariesUIKitPage.tsx +15 -0
  720. package/src/components/docs/libraries/LibrariesUIKitWebPage.tsx +14 -0
  721. package/src/components/docs/libraries/index.ts +1 -0
  722. package/src/components/docs/reference/DocsReferenceIndexPage.tsx +1 -1
  723. package/src/index.ts +1 -1
  724. package/src/components/docs/generated/docs-index.mobile-demo-tasks.json +0 -34
@@ -1,4 +1,4 @@
1
- import d from"@contractspec/lib.ui-link";import{jsx as a,jsxs as l}from"react/jsx-runtime";function r({title:i="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:p="https://www.contractspec.studio/docs"}){return l("div",{className:"card-subtle space-y-3 p-6",children:[a("h3",{className:"font-semibold text-lg",children:i}),a("p",{className:"text-muted-foreground text-sm",children:n}),a(d,{href:p,className:"btn-primary",children:s})]})}import{CodeBlock as o}from"@contractspec/lib.design-system";import c from"@contractspec/lib.ui-link";import{ChevronRight as m}from"lucide-react";import{jsx as e,jsxs as t}from"react/jsx-runtime";function b(){return t("div",{className:"space-y-8",children:[t("div",{className:"space-y-3",children:[e("h1",{className:"font-bold text-4xl",children:"Generate docs + client schemas"}),e("p",{className:"text-lg text-muted-foreground",children:"Generate docs and OpenAPI output from ContractSpec operations to power SDKs, docs sites, and tooling."})]}),t("div",{className:"card-subtle space-y-4 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"What you'll build"}),t("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[e("li",{children:"Export docs from your specs."}),e("li",{children:"Emit OpenAPI 3.1 for client SDK generation."}),e("li",{children:"Keep outputs deterministic with CI validation."})]})]}),t("div",{className:"space-y-6",children:[t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"1) Generate docs"}),e("p",{className:"text-muted-foreground text-sm",children:"Use the generator to emit docs from your contracts."}),e(o,{language:"bash",filename:"generate-docs",code:"contractspec generate"}),t("p",{className:"text-muted-foreground text-sm",children:["Expected output: ",e("code",{children:"Generate X doc files in generated/docs"}),"."]})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"2) Export OpenAPI"}),e("p",{className:"text-muted-foreground text-sm",children:"Export an OpenAPI document from your registry module."}),e(o,{language:"bash",filename:"openapi-export",code:"contractspec openapi export --registry ./src/contracts/registry.ts --out ./generated/openapi.json"}),t("p",{className:"text-muted-foreground text-sm",children:["Expected output:"," ",e("code",{children:"OpenAPI written to .../generated/openapi.json"}),"."]})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"3) Validate specs"}),e(o,{language:"bash",filename:"validate-specs",code:"contractspec validate"}),t("p",{className:"text-muted-foreground text-sm",children:["Expected output: ",e("code",{children:"Validation passed"}),"."]})]}),t("div",{className:"card-subtle space-y-3 p-6",children:[e("h3",{className:"font-semibold text-lg",children:"Example package"}),e("p",{className:"text-muted-foreground text-sm",children:"The Integration Hub example provides a full registry of operations and is a good source for OpenAPI exports."}),e(o,{language:"bash",filename:"integration-hub-example",code:`contractspec examples show integration-hub
1
+ var d=Object.defineProperty;var l=(o)=>o;function m(o,a){this[o]=l.bind(null,a)}var f=(o,a)=>{for(var r in a)d(o,r,{get:a[r],enumerable:!0,configurable:!0,set:m.bind(a,r)})};var v=(o,a)=>()=>(o&&(a=o(o=0)),a);import u from"@contractspec/lib.ui-link";import{jsx as i,jsxs as g}from"react/jsx-runtime";function n({title:o="Need the operating layer on top of OSS ContractSpec?",body:a="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:r="See what Studio adds",href:p="https://www.contractspec.studio/docs"}){return g("div",{className:"card-subtle space-y-3 p-6",children:[i("h3",{className:"font-semibold text-lg",children:o}),i("p",{className:"text-muted-foreground text-sm",children:a}),i(u,{href:p,className:"btn-primary",children:r})]})}import{CodeBlock as c}from"@contractspec/lib.design-system";import s from"@contractspec/lib.ui-link";import{ChevronRight as h}from"lucide-react";import{jsx as e,jsxs as t}from"react/jsx-runtime";function E(){return t("div",{className:"space-y-8",children:[t("div",{className:"space-y-3",children:[e("h1",{className:"font-bold text-4xl",children:"Generate docs + client schemas"}),e("p",{className:"text-lg text-muted-foreground",children:"Generate docs and OpenAPI output from ContractSpec operations to power SDKs, docs sites, and tooling."})]}),t("div",{className:"card-subtle space-y-4 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"What you'll build"}),t("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[e("li",{children:"Export docs from your specs."}),e("li",{children:"Emit OpenAPI 3.1 for client SDK generation."}),e("li",{children:"Keep outputs deterministic with CI validation."})]})]}),t("div",{className:"space-y-6",children:[t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"1) Generate docs"}),e("p",{className:"text-muted-foreground text-sm",children:"Use the generator to emit docs from your contracts."}),e(c,{language:"bash",filename:"generate-docs",code:"contractspec generate"}),t("p",{className:"text-muted-foreground text-sm",children:["Expected output: ",e("code",{children:"Generate X doc files in generated/docs"}),"."]})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"2) Export OpenAPI"}),e("p",{className:"text-muted-foreground text-sm",children:"Export an OpenAPI document from your registry module."}),e(c,{language:"bash",filename:"openapi-export",code:"contractspec openapi export --registry ./src/contracts/registry.ts --out ./generated/openapi.json"}),t("p",{className:"text-muted-foreground text-sm",children:["Expected output:"," ",e("code",{children:"OpenAPI written to .../generated/openapi.json"}),"."]})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"3) Validate specs"}),e(c,{language:"bash",filename:"validate-specs",code:"contractspec validate"}),t("p",{className:"text-muted-foreground text-sm",children:["Expected output: ",e("code",{children:"Validation passed"}),"."]})]}),t("div",{className:"card-subtle space-y-3 p-6",children:[e("h3",{className:"font-semibold text-lg",children:"Example package"}),e("p",{className:"text-muted-foreground text-sm",children:"The Integration Hub example provides a full registry of operations and is a good source for OpenAPI exports."}),e(c,{language:"bash",filename:"integration-hub-example",code:`contractspec examples show integration-hub
2
2
 
3
3
  # openapi export against your registry module
4
- contractspec openapi export --registry ./src/contracts/registry.ts --out ./generated/openapi.json`})]}),e(r,{title:"Want exports tied to product decisions?",body:"Studio compiles approved changes into deliverables and pushes them to your execution stack with full evidence context."})]}),t("div",{className:"flex items-center gap-4 pt-4",children:[t(c,{href:"/docs/guides/docs-generation-pipeline",className:"btn-primary",children:["Next: Docs pipeline ",e(m,{size:16})]}),e(c,{href:"/docs/guides",className:"btn-ghost",children:"Back to guides"})]})]})}export{b as GuideGenerateDocsClientsSchemasPage};
4
+ contractspec openapi export --registry ./src/contracts/registry.ts --out ./generated/openapi.json`})]}),e(n,{title:"Want exports tied to product decisions?",body:"Studio compiles approved changes into deliverables and pushes them to your execution stack with full evidence context."})]}),t("div",{className:"flex items-center gap-4 pt-4",children:[t(s,{href:"/docs/guides/docs-generation-pipeline",className:"btn-primary",children:["Next: Docs pipeline ",e(h,{size:16})]}),e(s,{href:"/docs/guides",className:"btn-ghost",children:"Back to guides"})]})]})}export{E as GuideGenerateDocsClientsSchemasPage};
@@ -1,4 +1,4 @@
1
- import{CodeBlock as o}from"@contractspec/lib.design-system";import r from"@contractspec/lib.ui-link";import{ChevronRight as n}from"lucide-react";import{jsx as e,jsxs as t}from"react/jsx-runtime";var i=["builder.workspace.bootstrap","builder.channel.receiveInbound","builder.blueprint.generate","builder.plan.compile","builder.preview.create","builder.preview.runHarness","builder.export.prepare","builder.export.approve","builder.export.execute"],s=["local runtime trust and lease details","channel-action posture for mobile/operator follow-up","comparison posture and export readiness from the shared snapshot"];function c(){return t("div",{className:"space-y-8",children:[t("div",{className:"space-y-3",children:[e("h1",{className:"font-bold text-4xl",children:"Host the Builder workbench"}),e("p",{className:"text-lg text-muted-foreground",children:"Use the reusable Builder workbench as the desktop control surface for snapshot loading, guided authoring, preview, readiness, export, and mobile review handoff."})]}),t("div",{className:"card-subtle space-y-4 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"What you'll build"}),t("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[e("li",{children:"A workspace snapshot fetch path."}),e("li",{children:"A `BuilderWorkbench` host with action callbacks."}),e("li",{children:"Runtime-mode aware preview/export controls plus mobile review links."})]})]}),t("div",{className:"space-y-6",children:[t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"1) Fetch the workspace snapshot"}),e("p",{className:"text-muted-foreground text-sm",children:"The web shell already exposes a query path for the current Builder workspace snapshot. Your host should load it first, then refresh it after each successful command."}),e(o,{language:"typescript",filename:"builder-workbench-controller.ts",code:`export async function fetchBuilderSnapshot(workspaceId: string) {
1
+ var s=Object.defineProperty;var l=(o)=>o;function d(o,a){this[o]=l.bind(null,a)}var m=(o,a)=>{for(var n in a)s(o,n,{get:a[n],enumerable:!0,configurable:!0,set:d.bind(a,n)})};var h=(o,a)=>()=>(o&&(a=o(o=0)),a);import{CodeBlock as r}from"@contractspec/lib.design-system";import i from"@contractspec/lib.ui-link";import{ChevronRight as p}from"lucide-react";import{jsx as e,jsxs as t}from"react/jsx-runtime";var c=["builder.workspace.bootstrap","builder.channel.receiveInbound","builder.blueprint.generate","builder.plan.compile","builder.preview.create","builder.preview.runHarness","builder.export.prepare","builder.export.approve","builder.export.execute"],u=["local runtime trust and lease details","channel-action posture for mobile/operator follow-up","comparison posture and export readiness from the shared snapshot"];function k(){return t("div",{className:"space-y-8",children:[t("div",{className:"space-y-3",children:[e("h1",{className:"font-bold text-4xl",children:"Host the Builder workbench"}),e("p",{className:"text-lg text-muted-foreground",children:"Use the reusable Builder workbench as the desktop control surface for snapshot loading, guided authoring, preview, readiness, export, and mobile review handoff."})]}),t("div",{className:"card-subtle space-y-4 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"What you'll build"}),t("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[e("li",{children:"A workspace snapshot fetch path."}),e("li",{children:"A `BuilderWorkbench` host with action callbacks."}),e("li",{children:"Runtime-mode aware preview/export controls plus mobile review links."})]})]}),t("div",{className:"space-y-6",children:[t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"1) Fetch the workspace snapshot"}),e("p",{className:"text-muted-foreground text-sm",children:"The web shell already exposes a query path for the current Builder workspace snapshot. Your host should load it first, then refresh it after each successful command."}),e(r,{language:"typescript",filename:"builder-workbench-controller.ts",code:`export async function fetchBuilderSnapshot(workspaceId: string) {
2
2
  const response = await fetch(
3
3
  \`/api/operate/builder/queries/builder.workspace.snapshot?workspaceId=\${encodeURIComponent(workspaceId)}\`,
4
4
  { cache: "no-store" }
@@ -14,7 +14,7 @@ import{CodeBlock as o}from"@contractspec/lib.design-system";import r from"@contr
14
14
  throw new Error("Builder workspace snapshot query returned an error.");
15
15
  }
16
16
  return payload.result;
17
- }`}),e("p",{className:"text-muted-foreground text-sm",children:"Expected output: one `BuilderWorkspaceSnapshot` containing workspace, plan, providers, runtime targets, preview, export, mobile review state, and the operator posture needed for local trust, lease, and comparison status."})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"2) Host the workbench and refresh on action"}),e("p",{className:"text-muted-foreground text-sm",children:"The simplest host pattern is local state plus a small action wrapper that executes one Builder command and then refreshes the snapshot."}),e(o,{language:"tsx",filename:"BuilderWorkbenchHost.tsx",code:`import {
17
+ }`}),e("p",{className:"text-muted-foreground text-sm",children:"Expected output: one `BuilderWorkspaceSnapshot` containing workspace, plan, providers, runtime targets, preview, export, mobile review state, and the operator posture needed for local trust, lease, and comparison status."})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"2) Host the workbench and refresh on action"}),e("p",{className:"text-muted-foreground text-sm",children:"The simplest host pattern is local state plus a small action wrapper that executes one Builder command and then refreshes the snapshot."}),e(r,{language:"tsx",filename:"BuilderWorkbenchHost.tsx",code:`import {
18
18
  BuilderWorkbench,
19
19
  useBuilderWorkbenchState,
20
20
  } from "@contractspec/module.builder-workbench/presentation";
@@ -45,7 +45,7 @@ async function runAction(commandKey: string, payload?: Record<string, unknown>)
45
45
  onApproveExport={() => runAction("builder.export.approve")}
46
46
  onExecuteExport={() => runAction("builder.export.execute")}
47
47
  selectedExportRuntimeMode="hybrid"
48
- />;`}),e("p",{className:"text-muted-foreground text-sm",children:"Expected output: each successful action leaves the host with a fresh snapshot and keeps the workbench tabs aligned with current runtime state."})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"3) Persist Builder defaults in workspace config"}),e("p",{className:"text-muted-foreground text-sm",children:"The host should agree with the CLI and setup flows on the same control-plane defaults. For local or hybrid setups, keep the Builder API base URL, token env var, and local runtime metadata in `.contractsrc.json`."}),e(o,{language:"json",filename:".contractsrc.json",code:`{
48
+ />;`}),e("p",{className:"text-muted-foreground text-sm",children:"Expected output: each successful action leaves the host with a fresh snapshot and keeps the workbench tabs aligned with current runtime state."})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"3) Persist Builder defaults in workspace config"}),e("p",{className:"text-muted-foreground text-sm",children:"The host should agree with the CLI and setup flows on the same control-plane defaults. For local or hybrid setups, keep the Builder API base URL, token env var, and local runtime metadata in `.contractsrc.json`."}),e(r,{language:"json",filename:".contractsrc.json",code:`{
49
49
  "builder": {
50
50
  "enabled": true,
51
51
  "runtimeMode": "local",
@@ -60,14 +60,14 @@ async function runAction(commandKey: string, payload?: Record<string, unknown>)
60
60
  "providerIds": ["provider.codex", "provider.local.model"]
61
61
  }
62
62
  }
63
- }`})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"4) Bootstrap providers and routing policy explicitly"}),e("p",{className:"text-muted-foreground text-sm",children:"Builder v3 treats provider routing as policy, not heuristic. Use the workspace bootstrap command as the single managed-first setup path instead of orchestrating provider registration in the app shell."}),e(o,{language:"typescript",filename:"builder-bootstrap.ts",code:`await executeBuilderCommand({
63
+ }`})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"4) Bootstrap providers and routing policy explicitly"}),e("p",{className:"text-muted-foreground text-sm",children:"Builder v3 treats provider routing as policy, not heuristic. Use the workspace bootstrap command as the single managed-first setup path instead of orchestrating provider registration in the app shell."}),e(r,{language:"typescript",filename:"builder-bootstrap.ts",code:`await executeBuilderCommand({
64
64
  commandKey: "builder.workspace.bootstrap",
65
65
  workspaceId,
66
66
  payload: {
67
67
  preset: "managed_mvp",
68
68
  includeLocalHelperProvider: true,
69
69
  },
70
- });`})]}),t("div",{className:"card-subtle space-y-3 p-6",children:[e("h3",{className:"font-semibold text-lg",children:"Common command keys"}),e("ul",{className:"space-y-2 text-muted-foreground text-sm",children:i.map((a)=>e("li",{children:e("code",{children:a})},a))})]}),t("div",{className:"card-subtle space-y-3 p-6",children:[e("h3",{className:"font-semibold text-lg",children:"Snapshot-backed operator details"}),e("ul",{className:"space-y-2 text-muted-foreground text-sm",children:s.map((a)=>e("li",{children:a},a))})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"5) Keep runtime mode explicit"}),e("p",{className:"text-muted-foreground text-sm",children:"Preview and export flows are runtime-mode aware. The host chooses between `managed`, `local`, and `hybrid` and passes that choice into preview or export commands instead of hiding it behind provider selection heuristics."}),e(o,{language:"typescript",filename:"runtime-mode",code:`const [selectedExportRuntimeMode, setSelectedExportRuntimeMode] =
70
+ });`})]}),t("div",{className:"card-subtle space-y-3 p-6",children:[e("h3",{className:"font-semibold text-lg",children:"Common command keys"}),e("ul",{className:"space-y-2 text-muted-foreground text-sm",children:c.map((o)=>e("li",{children:e("code",{children:o})},o))})]}),t("div",{className:"card-subtle space-y-3 p-6",children:[e("h3",{className:"font-semibold text-lg",children:"Snapshot-backed operator details"}),e("ul",{className:"space-y-2 text-muted-foreground text-sm",children:u.map((o)=>e("li",{children:o},o))})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"5) Keep runtime mode explicit"}),e("p",{className:"text-muted-foreground text-sm",children:"Preview and export flows are runtime-mode aware. The host chooses between `managed`, `local`, and `hybrid` and passes that choice into preview or export commands instead of hiding it behind provider selection heuristics."}),e(r,{language:"typescript",filename:"runtime-mode",code:`const [selectedExportRuntimeMode, setSelectedExportRuntimeMode] =
71
71
  React.useState(resolveBuilderExportRuntimeMode(initialSnapshot));
72
72
 
73
73
  await executeBuilderCommand({
@@ -76,9 +76,9 @@ await executeBuilderCommand({
76
76
  payload: {
77
77
  runtimeMode: selectedExportRuntimeMode,
78
78
  },
79
- });`})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"6) Link mobile review flows"}),e("p",{className:"text-muted-foreground text-sm",children:"When a patch proposal, approval ticket, or incident needs operator follow-up away from the desktop workbench, deep-link into the mobile review route instead of inventing a separate data model."}),e(o,{language:"typescript",filename:"mobile-review-path.ts",code:`export function buildBuilderMobileReviewPath(
79
+ });`})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"6) Link mobile review flows"}),e("p",{className:"text-muted-foreground text-sm",children:"When a patch proposal, approval ticket, or incident needs operator follow-up away from the desktop workbench, deep-link into the mobile review route instead of inventing a separate data model."}),e(r,{language:"typescript",filename:"mobile-review-path.ts",code:`export function buildBuilderMobileReviewPath(
80
80
  workspaceId: string,
81
81
  cardId: string
82
82
  ) {
83
83
  return \`/operate/builder/workspaces/\${encodeURIComponent(workspaceId)}/mobile-review/\${encodeURIComponent(cardId)}\`;
84
- }`}),e("p",{className:"text-muted-foreground text-sm",children:"Expected output: the same Builder workspace state stays visible from desktop workbench and mobile review surfaces."})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"7) Keep Connect adjacent, not embedded"}),e("p",{className:"text-muted-foreground text-sm",children:"Builder owns the authoring control plane. When Builder delegates into coding repositories, enable Connect in those target workspaces for context packs, mutation verification, replay, and review packets, but do not replace Builder contracts with Connect artifacts."}),e(o,{language:"bash",filename:"connect-init.sh",code:"contractspec connect init --scope workspace"})]})]}),t("div",{className:"flex items-center gap-4 pt-4",children:[t(r,{href:"/docs/specs/builder-control-plane",className:"btn-primary",children:["Back to Builder control plane ",e(n,{size:16})]}),e(r,{href:"/docs/studio",className:"btn-ghost",children:"Studio overview"})]})]})}export{c as GuideHostBuilderWorkbenchPage};
84
+ }`}),e("p",{className:"text-muted-foreground text-sm",children:"Expected output: the same Builder workspace state stays visible from desktop workbench and mobile review surfaces."})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"7) Keep Connect adjacent, not embedded"}),e("p",{className:"text-muted-foreground text-sm",children:"Builder owns the authoring control plane. When Builder delegates into coding repositories, enable Connect in those target workspaces for context packs, mutation verification, replay, and review packets, but do not replace Builder contracts with Connect artifacts."}),e(r,{language:"bash",filename:"connect-init.sh",code:"contractspec connect init --scope workspace"})]})]}),t("div",{className:"flex items-center gap-4 pt-4",children:[t(i,{href:"/docs/specs/builder-control-plane",className:"btn-primary",children:["Back to Builder control plane ",e(p,{size:16})]}),e(i,{href:"/docs/studio",className:"btn-ghost",children:"Studio overview"})]})]})}export{k as GuideHostBuilderWorkbenchPage};
@@ -1,11 +1,11 @@
1
- import y from"@contractspec/lib.ui-link";import{jsx as r,jsxs as g}from"react/jsx-runtime";function d({title:a="Need the operating layer on top of OSS ContractSpec?",body:m="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:u="See what Studio adds",href:o="https://www.contractspec.studio/docs"}){return g("div",{className:"card-subtle space-y-3 p-6",children:[r("h3",{className:"font-semibold text-lg",children:a}),r("p",{className:"text-muted-foreground text-sm",children:m}),r(y,{href:o,className:"btn-primary",children:u})]})}import{CodeBlock as p}from"@contractspec/lib.design-system";import n from"@contractspec/lib.ui-link";import{AlertCircle as i,ChevronRight as v,FileCode as N,Scan as h,Settings as P}from"lucide-react";import{jsx as t,jsxs as e}from"react/jsx-runtime";var b=[{name:"NestJS",flag:"nestjs",description:"Controllers, decorators, DTOs"},{name:"Express",flag:"express",description:"Router methods, middleware"},{name:"Fastify",flag:"fastify",description:"Route definitions, schemas"},{name:"Hono",flag:"hono",description:"Route handlers, validators"},{name:"Elysia",flag:"elysia",description:"Type-safe routes, schemas"},{name:"tRPC",flag:"trpc",description:"Procedure definitions"},{name:"Next.js",flag:"next-api",description:"API routes (app/api, pages/api)"}];function G(){return e("div",{className:"space-y-8",children:[e("div",{className:"space-y-3",children:[t("h1",{className:"font-bold text-4xl",children:"Import Existing Codebases"}),t("p",{className:"text-lg text-muted-foreground",children:"Convert your existing API endpoints into ContractSpec contracts. Auto-detect frameworks, extract schemas, and generate explicit contract definitions from your code."})]}),e("div",{className:"card-subtle space-y-4 p-6",children:[t("h2",{className:"font-bold text-2xl",children:"What you'll learn"}),e("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[t("li",{children:"How to import existing API endpoints as ContractSpec contracts."}),t("li",{children:"Framework-specific patterns and auto-detection."}),t("li",{children:"Customizing imports with scopes, dry-run, and output options."}),t("li",{children:"Registering imported contracts and adding handlers."})]})]}),e("div",{className:"space-y-6",children:[e("div",{className:"space-y-3",children:[t("h2",{className:"font-bold text-2xl",children:"Why import existing code?"}),t("p",{className:"text-muted-foreground text-sm",children:"Instead of writing contracts from scratch, the import command extracts endpoint patterns from your existing codebase. This gives you:"}),e("ul",{className:"list-disc space-y-1 pl-5 text-muted-foreground text-sm",children:[t("li",{children:"Instant spec coverage for existing APIs"}),t("li",{children:"Type-safe schemas derived from your existing types"}),t("li",{children:"A foundation to iterate and refine contracts"}),t("li",{children:"Gradual adoption without rewriting code"})]})]}),e("div",{className:"space-y-3",children:[t("h2",{className:"font-bold text-2xl",children:"Supported frameworks"}),t("div",{className:"grid gap-3 md:grid-cols-2 lg:grid-cols-3",children:b.map((a)=>e("div",{className:"flex items-start gap-3 rounded-lg border border-white/10 p-4",children:[t(N,{className:"text-violet-400",size:18}),e("div",{className:"space-y-1",children:[t("h3",{className:"font-semibold",children:a.name}),t("p",{className:"text-muted-foreground text-xs",children:a.description}),e("code",{className:"text-violet-400 text-xs",children:["--framework ",a.flag]})]})]},a.flag))})]}),e("div",{className:"space-y-3",children:[t("h2",{className:"font-bold text-2xl",children:"1) Quick start"}),t("p",{className:"text-muted-foreground text-sm",children:"Run the import command to auto-detect your framework and extract endpoints:"}),t(p,{language:"bash",filename:"import-quickstart",code:`# Auto-detect framework and import all endpoints
1
+ var y=Object.defineProperty;var g=(p)=>p;function i(p,a){this[p]=g.bind(null,a)}var q=(p,a)=>{for(var h in a)y(p,h,{get:a[h],enumerable:!0,configurable:!0,set:i.bind(a,h)})};var z=(p,a)=>()=>(p&&(a=p(p=0)),a);import v from"@contractspec/lib.ui-link";import{jsx as d,jsxs as N}from"react/jsx-runtime";function m({title:p="Need the operating layer on top of OSS ContractSpec?",body:a="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:h="See what Studio adds",href:o="https://www.contractspec.studio/docs"}){return N("div",{className:"card-subtle space-y-3 p-6",children:[d("h3",{className:"font-semibold text-lg",children:p}),d("p",{className:"text-muted-foreground text-sm",children:a}),d(v,{href:o,className:"btn-primary",children:h})]})}import{CodeBlock as r}from"@contractspec/lib.design-system";import u from"@contractspec/lib.ui-link";import{AlertCircle as P,ChevronRight as b,FileCode as c,Scan as n,Settings as f}from"lucide-react";import{jsx as t,jsxs as e}from"react/jsx-runtime";var L=[{name:"NestJS",flag:"nestjs",description:"Controllers, decorators, DTOs"},{name:"Express",flag:"express",description:"Router methods, middleware"},{name:"Fastify",flag:"fastify",description:"Route definitions, schemas"},{name:"Hono",flag:"hono",description:"Route handlers, validators"},{name:"Elysia",flag:"elysia",description:"Type-safe routes, schemas"},{name:"tRPC",flag:"trpc",description:"Procedure definitions"},{name:"Next.js",flag:"next-api",description:"API routes (app/api, pages/api)"}];function O(){return e("div",{className:"space-y-8",children:[e("div",{className:"space-y-3",children:[t("h1",{className:"font-bold text-4xl",children:"Import Existing Codebases"}),t("p",{className:"text-lg text-muted-foreground",children:"Convert your existing API endpoints into ContractSpec contracts. Auto-detect frameworks, extract schemas, and generate explicit contract definitions from your code."})]}),e("div",{className:"card-subtle space-y-4 p-6",children:[t("h2",{className:"font-bold text-2xl",children:"What you'll learn"}),e("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[t("li",{children:"How to import existing API endpoints as ContractSpec contracts."}),t("li",{children:"Framework-specific patterns and auto-detection."}),t("li",{children:"Customizing imports with scopes, dry-run, and output options."}),t("li",{children:"Registering imported contracts and adding handlers."})]})]}),e("div",{className:"space-y-6",children:[e("div",{className:"space-y-3",children:[t("h2",{className:"font-bold text-2xl",children:"Why import existing code?"}),t("p",{className:"text-muted-foreground text-sm",children:"Instead of writing contracts from scratch, the import command extracts endpoint patterns from your existing codebase. This gives you:"}),e("ul",{className:"list-disc space-y-1 pl-5 text-muted-foreground text-sm",children:[t("li",{children:"Instant spec coverage for existing APIs"}),t("li",{children:"Type-safe schemas derived from your existing types"}),t("li",{children:"A foundation to iterate and refine contracts"}),t("li",{children:"Gradual adoption without rewriting code"})]})]}),e("div",{className:"space-y-3",children:[t("h2",{className:"font-bold text-2xl",children:"Supported frameworks"}),t("div",{className:"grid gap-3 md:grid-cols-2 lg:grid-cols-3",children:L.map((p)=>e("div",{className:"flex items-start gap-3 rounded-lg border border-white/10 p-4",children:[t(c,{className:"text-violet-400",size:18}),e("div",{className:"space-y-1",children:[t("h3",{className:"font-semibold",children:p.name}),t("p",{className:"text-muted-foreground text-xs",children:p.description}),e("code",{className:"text-violet-400 text-xs",children:["--framework ",p.flag]})]})]},p.flag))})]}),e("div",{className:"space-y-3",children:[t("h2",{className:"font-bold text-2xl",children:"1) Quick start"}),t("p",{className:"text-muted-foreground text-sm",children:"Run the import command to auto-detect your framework and extract endpoints:"}),t(r,{language:"bash",filename:"import-quickstart",code:`# Auto-detect framework and import all endpoints
2
2
  contractspec import ./src
3
3
 
4
4
  # Preview what would be imported (dry-run)
5
5
  contractspec import ./src --dry-run
6
6
 
7
7
  # Force a specific framework
8
- contractspec import ./src --framework nestjs`}),t("p",{className:"text-muted-foreground text-sm",children:"Expected output: A summary of endpoints found, schemas extracted, and files generated."})]}),e("div",{className:"space-y-3",children:[t("h2",{className:"font-bold text-2xl",children:"2) Framework-specific patterns"}),t("p",{className:"text-muted-foreground text-sm",children:"The import command recognizes these patterns in each framework:"})]}),e("div",{className:"space-y-3",children:[e("h3",{className:"flex items-center gap-2 font-semibold text-xl",children:[t(h,{size:18,className:"text-blue-400"}),"NestJS"]}),t(p,{language:"typescript",filename:"src/users/users.controller.ts (before)",code:`@Controller('users')
8
+ contractspec import ./src --framework nestjs`}),t("p",{className:"text-muted-foreground text-sm",children:"Expected output: A summary of endpoints found, schemas extracted, and files generated."})]}),e("div",{className:"space-y-3",children:[t("h2",{className:"font-bold text-2xl",children:"2) Framework-specific patterns"}),t("p",{className:"text-muted-foreground text-sm",children:"The import command recognizes these patterns in each framework:"})]}),e("div",{className:"space-y-3",children:[e("h3",{className:"flex items-center gap-2 font-semibold text-xl",children:[t(n,{size:18,className:"text-blue-400"}),"NestJS"]}),t(r,{language:"typescript",filename:"src/users/users.controller.ts (before)",code:`@Controller('users')
9
9
  export class UsersController {
10
10
  @Get(':id')
11
11
  async getUser(@Param('id') id: string): Promise<UserDto> {
@@ -17,7 +17,7 @@ export class UsersController {
17
17
  async createUser(@Body() dto: CreateUserDto): Promise<UserDto> {
18
18
  return this.usersService.create(dto);
19
19
  }
20
- }`}),e("p",{className:"text-muted-foreground text-sm",children:["Detected: ",t("code",{children:"@Controller"}),", ",t("code",{children:"@Get"}),","," ",t("code",{children:"@Post"}),", ",t("code",{children:"@Body"}),", ",t("code",{children:"@Param"}),","," ",t("code",{children:"@UseGuards"})," decorators."]})]}),e("div",{className:"space-y-3",children:[e("h3",{className:"flex items-center gap-2 font-semibold text-xl",children:[t(h,{size:18,className:"text-green-400"}),"Express"]}),t(p,{language:"typescript",filename:"src/routes/users.ts (before)",code:`const router = express.Router();
20
+ }`}),e("p",{className:"text-muted-foreground text-sm",children:["Detected: ",t("code",{children:"@Controller"}),", ",t("code",{children:"@Get"}),","," ",t("code",{children:"@Post"}),", ",t("code",{children:"@Body"}),", ",t("code",{children:"@Param"}),","," ",t("code",{children:"@UseGuards"})," decorators."]})]}),e("div",{className:"space-y-3",children:[e("h3",{className:"flex items-center gap-2 font-semibold text-xl",children:[t(n,{size:18,className:"text-green-400"}),"Express"]}),t(r,{language:"typescript",filename:"src/routes/users.ts (before)",code:`const router = express.Router();
21
21
 
22
22
  router.get('/users/:id', async (req, res) => {
23
23
  const user = await getUserById(req.params.id);
@@ -27,7 +27,7 @@ router.get('/users/:id', async (req, res) => {
27
27
  router.post('/users', validateBody(CreateUserSchema), async (req, res) => {
28
28
  const user = await createUser(req.body);
29
29
  res.status(201).json(user);
30
- });`}),e("p",{className:"text-muted-foreground text-sm",children:["Detected: ",t("code",{children:"router.get"}),", ",t("code",{children:"router.post"}),", validation middleware, Zod schemas."]})]}),e("div",{className:"space-y-3",children:[e("h3",{className:"flex items-center gap-2 font-semibold text-xl",children:[t(h,{size:18,className:"text-purple-400"}),"Next.js API Routes"]}),t(p,{language:"typescript",filename:"app/api/users/[id]/route.ts (before)",code:`export async function GET(
30
+ });`}),e("p",{className:"text-muted-foreground text-sm",children:["Detected: ",t("code",{children:"router.get"}),", ",t("code",{children:"router.post"}),", validation middleware, Zod schemas."]})]}),e("div",{className:"space-y-3",children:[e("h3",{className:"flex items-center gap-2 font-semibold text-xl",children:[t(n,{size:18,className:"text-purple-400"}),"Next.js API Routes"]}),t(r,{language:"typescript",filename:"app/api/users/[id]/route.ts (before)",code:`export async function GET(
31
31
  request: Request,
32
32
  { params }: { params: { id: string } }
33
33
  ) {
@@ -39,7 +39,7 @@ export async function POST(request: Request) {
39
39
  const body = await request.json();
40
40
  const user = await createUser(body);
41
41
  return Response.json(user, { status: 201 });
42
- }`}),e("p",{className:"text-muted-foreground text-sm",children:["Detected: ",t("code",{children:"GET"}),", ",t("code",{children:"POST"})," exports in"," ",t("code",{children:"app/api/**/route.ts"})," and ",t("code",{children:"pages/api/**/*.ts"}),"."]})]}),e("div",{className:"space-y-3",children:[t("h2",{className:"font-bold text-2xl",children:"3) Understanding generated contracts"}),t("p",{className:"text-muted-foreground text-sm",children:"The import command generates ContractSpec operations with TODO placeholders for fields it cannot infer:"}),t(p,{language:"typescript",filename:".contractspec/generated/users.operation.ts",code:`import { defineQuery, defineCommand } from "@contractspec/lib.contracts-spec";
42
+ }`}),e("p",{className:"text-muted-foreground text-sm",children:["Detected: ",t("code",{children:"GET"}),", ",t("code",{children:"POST"})," exports in"," ",t("code",{children:"app/api/**/route.ts"})," and ",t("code",{children:"pages/api/**/*.ts"}),"."]})]}),e("div",{className:"space-y-3",children:[t("h2",{className:"font-bold text-2xl",children:"3) Understanding generated contracts"}),t("p",{className:"text-muted-foreground text-sm",children:"The import command generates ContractSpec operations with TODO placeholders for fields it cannot infer:"}),t(r,{language:"typescript",filename:".contractspec/generated/users.operation.ts",code:`import { defineQuery, defineCommand } from "@contractspec/lib.contracts-spec";
43
43
  import { SchemaModel, ScalarTypeEnum } from "@contractspec/lib.schema";
44
44
 
45
45
  export const GetUserQuery = defineQuery({
@@ -99,7 +99,7 @@ export const CreateUserCommand = defineCommand({
99
99
  transport: {
100
100
  rest: { method: "POST", path: "/users" },
101
101
  },
102
- });`})]}),e("div",{className:"space-y-3",children:[t("h2",{className:"font-bold text-2xl",children:"4) Customizing imports"}),e("div",{className:"flex items-center gap-2",children:[t(P,{size:18,className:"text-violet-400"}),t("h3",{className:"font-semibold text-lg",children:"Available options"})]}),t("div",{className:"overflow-x-auto",children:e("table",{className:"w-full text-sm",children:[t("thead",{children:e("tr",{className:"border-white/10 border-b",children:[t("th",{className:"py-2 pr-4 text-left",children:"Option"}),t("th",{className:"py-2 pr-4 text-left",children:"Description"}),t("th",{className:"py-2 text-left",children:"Example"})]})}),e("tbody",{className:"text-muted-foreground",children:[e("tr",{className:"border-white/5 border-b",children:[t("td",{className:"py-2 pr-4",children:t("code",{children:"--scope"})}),t("td",{className:"py-2 pr-4",children:"Limit to specific directories"}),t("td",{className:"py-2",children:t("code",{children:"--scope src/users src/auth"})})]}),e("tr",{className:"border-white/5 border-b",children:[t("td",{className:"py-2 pr-4",children:t("code",{children:"--framework"})}),t("td",{className:"py-2 pr-4",children:"Force a specific framework"}),t("td",{className:"py-2",children:t("code",{children:"--framework express"})})]}),e("tr",{className:"border-white/5 border-b",children:[t("td",{className:"py-2 pr-4",children:t("code",{children:"--output"})}),t("td",{className:"py-2 pr-4",children:"Output directory"}),t("td",{className:"py-2",children:t("code",{children:"--output ./contracts"})})]}),e("tr",{className:"border-white/5 border-b",children:[t("td",{className:"py-2 pr-4",children:t("code",{children:"--dry-run"})}),t("td",{className:"py-2 pr-4",children:"Preview without writing files"}),t("td",{className:"py-2",children:t("code",{children:"--dry-run"})})]}),e("tr",{className:"border-white/5 border-b",children:[t("td",{className:"py-2 pr-4",children:t("code",{children:"--analyze"})}),t("td",{className:"py-2 pr-4",children:"Analysis only, no code generation"}),t("td",{className:"py-2",children:t("code",{children:"--analyze"})})]}),e("tr",{children:[t("td",{className:"py-2 pr-4",children:t("code",{children:"--json"})}),t("td",{className:"py-2 pr-4",children:"Output as JSON for scripting"}),t("td",{className:"py-2",children:t("code",{children:"--json"})})]})]})]})}),t(p,{language:"bash",filename:"import-options",code:`# Import only specific modules
102
+ });`})]}),e("div",{className:"space-y-3",children:[t("h2",{className:"font-bold text-2xl",children:"4) Customizing imports"}),e("div",{className:"flex items-center gap-2",children:[t(f,{size:18,className:"text-violet-400"}),t("h3",{className:"font-semibold text-lg",children:"Available options"})]}),t("div",{className:"overflow-x-auto",children:e("table",{className:"w-full text-sm",children:[t("thead",{children:e("tr",{className:"border-white/10 border-b",children:[t("th",{className:"py-2 pr-4 text-left",children:"Option"}),t("th",{className:"py-2 pr-4 text-left",children:"Description"}),t("th",{className:"py-2 text-left",children:"Example"})]})}),e("tbody",{className:"text-muted-foreground",children:[e("tr",{className:"border-white/5 border-b",children:[t("td",{className:"py-2 pr-4",children:t("code",{children:"--scope"})}),t("td",{className:"py-2 pr-4",children:"Limit to specific directories"}),t("td",{className:"py-2",children:t("code",{children:"--scope src/users src/auth"})})]}),e("tr",{className:"border-white/5 border-b",children:[t("td",{className:"py-2 pr-4",children:t("code",{children:"--framework"})}),t("td",{className:"py-2 pr-4",children:"Force a specific framework"}),t("td",{className:"py-2",children:t("code",{children:"--framework express"})})]}),e("tr",{className:"border-white/5 border-b",children:[t("td",{className:"py-2 pr-4",children:t("code",{children:"--output"})}),t("td",{className:"py-2 pr-4",children:"Output directory"}),t("td",{className:"py-2",children:t("code",{children:"--output ./contracts"})})]}),e("tr",{className:"border-white/5 border-b",children:[t("td",{className:"py-2 pr-4",children:t("code",{children:"--dry-run"})}),t("td",{className:"py-2 pr-4",children:"Preview without writing files"}),t("td",{className:"py-2",children:t("code",{children:"--dry-run"})})]}),e("tr",{className:"border-white/5 border-b",children:[t("td",{className:"py-2 pr-4",children:t("code",{children:"--analyze"})}),t("td",{className:"py-2 pr-4",children:"Analysis only, no code generation"}),t("td",{className:"py-2",children:t("code",{children:"--analyze"})})]}),e("tr",{children:[t("td",{className:"py-2 pr-4",children:t("code",{children:"--json"})}),t("td",{className:"py-2 pr-4",children:"Output as JSON for scripting"}),t("td",{className:"py-2",children:t("code",{children:"--json"})})]})]})]})}),t(r,{language:"bash",filename:"import-options",code:`# Import only specific modules
103
103
  contractspec import ./src --scope src/users src/orders
104
104
 
105
105
  # Preview with analysis
@@ -109,7 +109,7 @@ contractspec import ./src --dry-run --analyze
109
109
  contractspec import ./src --output ./src/contracts/generated
110
110
 
111
111
  # Get JSON for CI/scripting
112
- contractspec import ./src --json > import-result.json`})]}),e("div",{className:"space-y-3",children:[t("h2",{className:"font-bold text-2xl",children:"5) Registering imported contracts"}),t("p",{className:"text-muted-foreground text-sm",children:"After import, register contracts and add handlers:"}),t(p,{language:"typescript",filename:"src/contracts/registry.ts",code:`import {
112
+ contractspec import ./src --json > import-result.json`})]}),e("div",{className:"space-y-3",children:[t("h2",{className:"font-bold text-2xl",children:"5) Registering imported contracts"}),t("p",{className:"text-muted-foreground text-sm",children:"After import, register contracts and add handlers:"}),t(r,{language:"typescript",filename:"src/contracts/registry.ts",code:`import {
113
113
  OperationSpecRegistry,
114
114
  installOp,
115
115
  } from "@contractspec/lib.contracts-spec/operations";
@@ -129,4 +129,4 @@ installOp(registry, GetUserQuery, async (input) => {
129
129
  installOp(registry, CreateUserCommand, async (input) => {
130
130
  const user = await db.user.create({ data: input });
131
131
  return { id: user.id };
132
- });`})]}),e("div",{className:"space-y-3",children:[t("h2",{className:"font-bold text-2xl",children:"6) After importing"}),e("ol",{className:"list-decimal space-y-2 pl-5 text-muted-foreground text-sm",children:[e("li",{children:[t("strong",{children:"Review generated contracts"})," — Check the TODO placeholders and fill in descriptions, owners, and tags."]}),e("li",{children:[t("strong",{children:"Refine schemas"})," — Add proper types, validation rules, and error definitions."]}),e("li",{children:[t("strong",{children:"Run validation"})," —"," ",t("code",{children:"contractspec validate"})," to ensure contracts are valid."]}),e("li",{children:[t("strong",{children:"Register and wire handlers"})," — Connect contracts to your existing business logic."]}),e("li",{children:[t("strong",{children:"Iterate"})," — The imported contracts are a starting point. Refine them as your spec matures."]})]})]}),e("div",{className:"space-y-3",children:[e("h2",{className:"flex items-center gap-2 font-bold text-2xl",children:[t(i,{size:20,className:"text-yellow-400"}),"Troubleshooting"]}),e("div",{className:"space-y-4",children:[e("div",{className:"card-subtle space-y-2 p-4",children:[t("h3",{className:"font-semibold",children:"Framework not detected"}),e("p",{className:"text-muted-foreground text-sm",children:["Use ",t("code",{children:"--framework <name>"})," to force a specific framework. Check that your entry files follow standard patterns."]})]}),e("div",{className:"card-subtle space-y-2 p-4",children:[t("h3",{className:"font-semibold",children:"Missing schemas"}),e("p",{className:"text-muted-foreground text-sm",children:["Schema inference works best with explicit types. If using"," ",t("code",{children:"any"})," or dynamic types, you'll see TODO placeholders. Fill them in manually."]})]}),e("div",{className:"card-subtle space-y-2 p-4",children:[t("h3",{className:"font-semibold",children:"Partial imports"}),e("p",{className:"text-muted-foreground text-sm",children:["Some endpoints may not be detected if they use unconventional patterns. Use ",t("code",{children:"--analyze"})," to see what was found, then add missing contracts manually."]})]})]})]}),t(d,{title:"Want evidence-driven migration priorities?",body:"Studio clusters product signals into scored patterns, then proposes contract changes and execution-ready work for the highest-impact areas."})]}),e("div",{className:"flex items-center gap-4 pt-4",children:[e(n,{href:"/docs/guides/spec-validation-and-typing",className:"btn-primary",children:["Next: Spec validation + typing ",t(v,{size:16})]}),t(n,{href:"/docs/guides",className:"btn-ghost",children:"Back to guides"})]})]})}export{G as GuideImportExistingCodebasesPage};
132
+ });`})]}),e("div",{className:"space-y-3",children:[t("h2",{className:"font-bold text-2xl",children:"6) After importing"}),e("ol",{className:"list-decimal space-y-2 pl-5 text-muted-foreground text-sm",children:[e("li",{children:[t("strong",{children:"Review generated contracts"})," — Check the TODO placeholders and fill in descriptions, owners, and tags."]}),e("li",{children:[t("strong",{children:"Refine schemas"})," — Add proper types, validation rules, and error definitions."]}),e("li",{children:[t("strong",{children:"Run validation"})," —"," ",t("code",{children:"contractspec validate"})," to ensure contracts are valid."]}),e("li",{children:[t("strong",{children:"Register and wire handlers"})," — Connect contracts to your existing business logic."]}),e("li",{children:[t("strong",{children:"Iterate"})," — The imported contracts are a starting point. Refine them as your spec matures."]})]})]}),e("div",{className:"space-y-3",children:[e("h2",{className:"flex items-center gap-2 font-bold text-2xl",children:[t(P,{size:20,className:"text-yellow-400"}),"Troubleshooting"]}),e("div",{className:"space-y-4",children:[e("div",{className:"card-subtle space-y-2 p-4",children:[t("h3",{className:"font-semibold",children:"Framework not detected"}),e("p",{className:"text-muted-foreground text-sm",children:["Use ",t("code",{children:"--framework <name>"})," to force a specific framework. Check that your entry files follow standard patterns."]})]}),e("div",{className:"card-subtle space-y-2 p-4",children:[t("h3",{className:"font-semibold",children:"Missing schemas"}),e("p",{className:"text-muted-foreground text-sm",children:["Schema inference works best with explicit types. If using"," ",t("code",{children:"any"})," or dynamic types, you'll see TODO placeholders. Fill them in manually."]})]}),e("div",{className:"card-subtle space-y-2 p-4",children:[t("h3",{className:"font-semibold",children:"Partial imports"}),e("p",{className:"text-muted-foreground text-sm",children:["Some endpoints may not be detected if they use unconventional patterns. Use ",t("code",{children:"--analyze"})," to see what was found, then add missing contracts manually."]})]})]})]}),t(m,{title:"Want evidence-driven migration priorities?",body:"Studio clusters product signals into scored patterns, then proposes contract changes and execution-ready work for the highest-impact areas."})]}),e("div",{className:"flex items-center gap-4 pt-4",children:[e(u,{href:"/docs/guides/spec-validation-and-typing",className:"btn-primary",children:["Next: Spec validation + typing ",t(b,{size:16})]}),t(u,{href:"/docs/guides",className:"btn-ghost",children:"Back to guides"})]})]})}export{O as GuideImportExistingCodebasesPage};
@@ -1,5 +1,5 @@
1
- import l from"@contractspec/lib.ui-link";import{jsx as o,jsxs as d}from"react/jsx-runtime";function c({title:i="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:p="https://www.contractspec.studio/docs"}){return d("div",{className:"card-subtle space-y-3 p-6",children:[o("h3",{className:"font-semibold text-lg",children:i}),o("p",{className:"text-muted-foreground text-sm",children:n}),o(l,{href:p,className:"btn-primary",children:s})]})}import{CodeBlock as a}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 b(){return t("div",{className:"space-y-8",children:[t("div",{className:"space-y-3",children:[e("h1",{className:"font-bold text-4xl",children:"Next.js: add one endpoint"}),e("p",{className:"text-lg text-muted-foreground",children:"Add ContractSpec to an existing Next.js App Router project by wiring a single operation end-to-end with validation and types."})]}),t("div",{className:"card-subtle space-y-4 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"What you'll build"}),t("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[e("li",{children:"One OperationSpec with SchemaModel validation."}),e("li",{children:"A registry wiring the operation to its handler."}),e("li",{children:"A Next.js route handler that exposes the operation."})]})]}),t("div",{className:"space-y-6",children:[t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"1) Install core packages"}),e(a,{language:"bash",filename:"nextjs-install",code:`bun add -D contractspec
2
- bun add @contractspec/lib.contracts-spec @contractspec/lib.contracts-runtime-server-rest @contractspec/lib.schema`}),t("p",{className:"text-muted-foreground text-sm",children:["Expected output: ",e("code",{children:"added 3 packages"})," and a lockfile update."]})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"2) Define the operation spec"}),t("p",{className:"text-muted-foreground text-sm",children:["Create ",e("code",{children:"src/contracts/healthcheck.operation.ts"}),":"]}),e(a,{language:"typescript",filename:"src/contracts/healthcheck.operation.ts",code:`import { defineQuery } from "@contractspec/lib.contracts-spec/operations";
1
+ var l=Object.defineProperty;var d=(a)=>a;function m(a,o){this[a]=d.bind(null,o)}var f=(a,o)=>{for(var r in o)l(a,r,{get:o[r],enumerable:!0,configurable:!0,set:m.bind(o,r)})};var y=(a,o)=>()=>(a&&(o=a(a=0)),o);import h from"@contractspec/lib.ui-link";import{jsx as i,jsxs as u}from"react/jsx-runtime";function n({title:a="Need the operating layer on top of OSS ContractSpec?",body:o="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:r="See what Studio adds",href:p="https://www.contractspec.studio/docs"}){return u("div",{className:"card-subtle space-y-3 p-6",children:[i("h3",{className:"font-semibold text-lg",children:a}),i("p",{className:"text-muted-foreground text-sm",children:o}),i(h,{href:p,className:"btn-primary",children:r})]})}import{CodeBlock as c}from"@contractspec/lib.design-system";import s from"@contractspec/lib.ui-link";import{ChevronRight as g}from"lucide-react";import{jsx as e,jsxs as t}from"react/jsx-runtime";function E(){return t("div",{className:"space-y-8",children:[t("div",{className:"space-y-3",children:[e("h1",{className:"font-bold text-4xl",children:"Next.js: add one endpoint"}),e("p",{className:"text-lg text-muted-foreground",children:"Add ContractSpec to an existing Next.js App Router project by wiring a single operation end-to-end with validation and types."})]}),t("div",{className:"card-subtle space-y-4 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"What you'll build"}),t("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[e("li",{children:"One OperationSpec with SchemaModel validation."}),e("li",{children:"A registry wiring the operation to its handler."}),e("li",{children:"A Next.js route handler that exposes the operation."})]})]}),t("div",{className:"space-y-6",children:[t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"1) Install core packages"}),e(c,{language:"bash",filename:"nextjs-install",code:`bun add -D contractspec
2
+ bun add @contractspec/lib.contracts-spec @contractspec/lib.contracts-runtime-server-rest @contractspec/lib.schema`}),t("p",{className:"text-muted-foreground text-sm",children:["Expected output: ",e("code",{children:"added 3 packages"})," and a lockfile update."]})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"2) Define the operation spec"}),t("p",{className:"text-muted-foreground text-sm",children:["Create ",e("code",{children:"src/contracts/healthcheck.operation.ts"}),":"]}),e(c,{language:"typescript",filename:"src/contracts/healthcheck.operation.ts",code:`import { defineQuery } from "@contractspec/lib.contracts-spec/operations";
3
3
  import { SchemaModel, ScalarTypeEnum } from "@contractspec/lib.schema";
4
4
 
5
5
  const HealthcheckOutput = new SchemaModel({
@@ -30,7 +30,7 @@ export const HealthcheckQuery = defineQuery({
30
30
  gql: { field: "healthcheck_get" },
31
31
  mcp: { toolName: "healthcheck_get-v1" },
32
32
  },
33
- });`})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"3) Register the operation"}),t("p",{className:"text-muted-foreground text-sm",children:["Create ",e("code",{children:"src/contracts/registry.ts"}),":"]}),e(a,{language:"typescript",filename:"src/contracts/registry.ts",code:`import {
33
+ });`})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"3) Register the operation"}),t("p",{className:"text-muted-foreground text-sm",children:["Create ",e("code",{children:"src/contracts/registry.ts"}),":"]}),e(c,{language:"typescript",filename:"src/contracts/registry.ts",code:`import {
34
34
  OperationSpecRegistry,
35
35
  installOp,
36
36
  } from "@contractspec/lib.contracts-spec/operations";
@@ -41,7 +41,7 @@ export const registry = new OperationSpecRegistry();
41
41
  installOp(registry, HealthcheckQuery, async () => ({
42
42
  status: "ok",
43
43
  checkedAt: new Date().toISOString(),
44
- }));`})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"4) Add the Next.js handler"}),t("p",{className:"text-muted-foreground text-sm",children:["Create ",e("code",{children:"app/api/ops/[...route]/route.ts"}),":"]}),e(a,{language:"typescript",filename:"app/api/ops/[...route]/route.ts",code:`import { makeNextAppHandler } from "@contractspec/lib.contracts-runtime-server-rest/rest-next-app";
44
+ }));`})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"4) Add the Next.js handler"}),t("p",{className:"text-muted-foreground text-sm",children:["Create ",e("code",{children:"app/api/ops/[...route]/route.ts"}),":"]}),e(c,{language:"typescript",filename:"app/api/ops/[...route]/route.ts",code:`import { makeNextAppHandler } from "@contractspec/lib.contracts-runtime-server-rest/rest-next-app";
45
45
  import { registry } from "@/contracts/registry";
46
46
 
47
47
  const handler = makeNextAppHandler(registry, async () => ({
@@ -49,8 +49,8 @@ const handler = makeNextAppHandler(registry, async () => ({
49
49
  tenantId: "public",
50
50
  }));
51
51
 
52
- export { handler as GET, handler as POST };`}),t("p",{className:"text-muted-foreground text-sm",children:["Expected output: the route responds at",e("code",{children:" /api/ops/healthcheck.get"}),"."]})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"5) Validate the spec"}),e(a,{language:"bash",filename:"nextjs-validate",code:"contractspec validate src/contracts/healthcheck.operation.ts"}),t("p",{className:"text-muted-foreground text-sm",children:["Expected output: ",e("code",{children:"Validation passed"}),"."]})]}),t("div",{className:"card-subtle space-y-3 p-6",children:[e("h3",{className:"font-semibold text-lg",children:"Example package"}),t("p",{className:"text-muted-foreground text-sm",children:["Use ",e("code",{children:"@contractspec/example.lifecycle-dashboard"})," as a lightweight Next.js snippet reference."]}),e(a,{language:"bash",filename:"nextjs-example",code:`# Inspect the example docs
52
+ export { handler as GET, handler as POST };`}),t("p",{className:"text-muted-foreground text-sm",children:["Expected output: the route responds at",e("code",{children:" /api/ops/healthcheck.get"}),"."]})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"5) Validate the spec"}),e(c,{language:"bash",filename:"nextjs-validate",code:"contractspec validate src/contracts/healthcheck.operation.ts"}),t("p",{className:"text-muted-foreground text-sm",children:["Expected output: ",e("code",{children:"Validation passed"}),"."]})]}),t("div",{className:"card-subtle space-y-3 p-6",children:[e("h3",{className:"font-semibold text-lg",children:"Example package"}),t("p",{className:"text-muted-foreground text-sm",children:["Use ",e("code",{children:"@contractspec/example.lifecycle-dashboard"})," as a lightweight Next.js snippet reference."]}),e(c,{language:"bash",filename:"nextjs-example",code:`# Inspect the example docs
53
53
  contractspec examples show lifecycle-dashboard
54
54
 
55
55
  # Validate all example manifests in this repo
56
- contractspec examples validate --repo-root .`})]}),e(c,{title:"Want real product evidence behind endpoint changes?",body:"Studio correlates meetings, support, analytics, and code signals before compiling endpoint decisions into spec diffs."})]}),t("div",{className:"flex items-center gap-4 pt-4",children:[t(r,{href:"/docs/guides/spec-validation-and-typing",className:"btn-primary",children:["Next: Spec validation + typing ",e(m,{size:16})]}),e(r,{href:"/docs/guides",className:"btn-ghost",children:"Back to guides"})]})]})}export{b as GuideNextjsOneEndpointPage};
56
+ contractspec examples validate --repo-root .`})]}),e(n,{title:"Want real product evidence behind endpoint changes?",body:"Studio correlates meetings, support, analytics, and code signals before compiling endpoint decisions into spec diffs."})]}),t("div",{className:"flex items-center gap-4 pt-4",children:[t(s,{href:"/docs/guides/spec-validation-and-typing",className:"btn-primary",children:["Next: Spec validation + typing ",e(g,{size:16})]}),e(s,{href:"/docs/guides",className:"btn-ghost",children:"Back to guides"})]})]})}export{E as GuideNextjsOneEndpointPage};
@@ -1,4 +1,4 @@
1
- import{CodeBlock as t}from"@contractspec/lib.design-system";import c from"@contractspec/lib.ui-link";import{ChevronRight as r}from"lucide-react";import{jsx as e,jsxs as a}from"react/jsx-runtime";var l=["root `README.md` and generated root `AGENTS.md` inputs when contributor or operator workflow changes","the nearest package `README.md` and `AGENTS.md` for any touched public package surface","website docs and `/llms*` summaries when the release changes how users or contributors should work"];function d(){return a("div",{className:"space-y-8",children:[a("div",{className:"space-y-3",children:[e("h1",{className:"font-bold text-4xl",children:"Author release capsules"}),e("p",{className:"text-lg text-muted-foreground",children:"Pair each publishable changeset with a structured release capsule so changelog, upgrade, and docs surfaces all read from the same release source of truth."})]}),a("div",{className:"card-subtle space-y-4 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"What you'll build"}),a("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[a("li",{children:["A ",e("code",{children:".changeset/<slug>.md"})," file for package/version intent."]}),a("li",{children:["A ",e("code",{children:".changeset/<slug>.release.yaml"})," companion for audiences, migrations, validation, and evidence."]}),e("li",{children:"Generated release artifacts that the website changelog and upgrade flows can consume safely."})]})]}),a("div",{className:"space-y-6",children:[a("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"1) Create the paired changeset files"}),e("p",{className:"text-muted-foreground text-sm",children:"The Markdown file states the package bumps and reader-facing change intent. The YAML file carries the structured release metadata."}),e(t,{language:"yaml",filename:".changeset/contract-dx-first-slice.release.yaml",code:`schemaVersion: "1"
1
+ var n=Object.defineProperty;var o=(t)=>t;function i(t,s){this[t]=o.bind(null,s)}var m=(t,s)=>{for(var r in s)n(t,r,{get:s[r],enumerable:!0,configurable:!0,set:i.bind(s,r)})};var h=(t,s)=>()=>(t&&(s=t(t=0)),s);import{CodeBlock as c}from"@contractspec/lib.design-system";import l from"@contractspec/lib.ui-link";import{ChevronRight as d}from"lucide-react";import{jsx as e,jsxs as a}from"react/jsx-runtime";var u=["root `README.md` and generated root `AGENTS.md` inputs when contributor or operator workflow changes","the nearest package `README.md` and `AGENTS.md` for any touched public package surface","website docs and `/llms*` summaries when the release changes how users or contributors should work"];function v(){return a("div",{className:"space-y-8",children:[a("div",{className:"space-y-3",children:[e("h1",{className:"font-bold text-4xl",children:"Author release capsules"}),e("p",{className:"text-lg text-muted-foreground",children:"Pair each publishable changeset with a structured release capsule so changelog, upgrade, and docs surfaces all read from the same release source of truth."})]}),a("div",{className:"card-subtle space-y-4 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"What you'll build"}),a("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[a("li",{children:["A ",e("code",{children:".changeset/<slug>.md"})," file for package/version intent."]}),a("li",{children:["A ",e("code",{children:".changeset/<slug>.release.yaml"})," companion for audiences, migrations, validation, and evidence."]}),e("li",{children:"Generated release artifacts that the website changelog and upgrade flows can consume safely."})]})]}),a("div",{className:"space-y-6",children:[a("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"1) Create the paired changeset files"}),e("p",{className:"text-muted-foreground text-sm",children:"The Markdown file states the package bumps and reader-facing change intent. The YAML file carries the structured release metadata."}),e(c,{language:"yaml",filename:".changeset/contract-dx-first-slice.release.yaml",code:`schemaVersion: "1"
2
2
  slug: contract-dx-first-slice
3
3
  summary: Improve app-config, theme, and feature authoring with explicit validation and shared setup alignment.
4
4
  isBreaking: false
@@ -9,7 +9,7 @@ validation:
9
9
  commands:
10
10
  - "cd packages/libs/contracts-spec && bun run test && bun run typecheck"
11
11
  evidence:
12
- - "Package-level validation entrypoints now back setup, docs, and CLI authoring flows."`}),e("p",{className:"text-muted-foreground text-sm",children:"Expected output: every publishable slug has both the human-facing changeset and the structured release capsule beside it."})]}),a("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"2) Use the release authoring commands instead of raw drift-prone edits"}),e(t,{language:"bash",filename:"release-authoring",code:`contractspec release init --summary "Improve app-config, theme, and feature authoring"
12
+ - "Package-level validation entrypoints now back setup, docs, and CLI authoring flows."`}),e("p",{className:"text-muted-foreground text-sm",children:"Expected output: every publishable slug has both the human-facing changeset and the structured release capsule beside it."})]}),a("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"2) Use the release authoring commands instead of raw drift-prone edits"}),e(c,{language:"bash",filename:"release-authoring",code:`contractspec release init --summary "Improve app-config, theme, and feature authoring"
13
13
 
14
14
  # Or revise an existing capsule with the guided flow
15
- contractspec release edit contract-dx-first-slice`}),e("p",{className:"text-muted-foreground text-sm",children:"Expected output: the CLI scaffolds or revises the paired files with the current release schema instead of leaving maintainers to hand-roll YAML structure."})]}),a("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"3) Build the generated release artifacts before consuming them"}),e(t,{language:"bash",filename:"release-build",code:"contractspec release build"}),e("p",{className:"text-muted-foreground text-sm",children:"Expected output: `generated/releases/manifest.json`, `generated/releases/upgrade-manifest.json`, and the related customer/maintainer guidance files are refreshed from the release capsules."})]}),a("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"4) Enforce completeness before publishing or building the changelog"}),e(t,{language:"bash",filename:"release-check",code:"contractspec release check --strict"}),e("p",{className:"text-muted-foreground text-sm",children:"Expected output: missing capsules, incomplete migration guidance, or stale generated release artifacts are flagged before the website changelog or publish workflow treats the release data as canonical."})]}),a("div",{className:"card-subtle space-y-3 p-6",children:[e("h3",{className:"font-semibold text-lg",children:"5) Sync the public docs if workflow expectations changed"}),e("ul",{className:"space-y-2 text-muted-foreground text-sm",children:l.map((s)=>e("li",{children:s},s))})]})]}),a("div",{className:"flex items-center gap-4 pt-4",children:[a(c,{href:"/docs/guides/connect-in-a-repo",className:"btn-primary",children:["Connect guide ",e(r,{size:16})]}),e(c,{href:"/changelog",className:"btn-ghost",children:"Website changelog"})]})]})}export{d as GuideReleaseCapsulesPage};
15
+ contractspec release edit contract-dx-first-slice`}),e("p",{className:"text-muted-foreground text-sm",children:"Expected output: the CLI scaffolds or revises the paired files with the current release schema instead of leaving maintainers to hand-roll YAML structure."})]}),a("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"3) Build the generated release artifacts before consuming them"}),e(c,{language:"bash",filename:"release-build",code:"contractspec release build"}),e("p",{className:"text-muted-foreground text-sm",children:"Expected output: `generated/releases/manifest.json`, `generated/releases/upgrade-manifest.json`, and the related customer/maintainer guidance files are refreshed from the release capsules."})]}),a("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"4) Enforce completeness before publishing or building the changelog"}),e(c,{language:"bash",filename:"release-check",code:"contractspec release check --strict"}),e("p",{className:"text-muted-foreground text-sm",children:"Expected output: missing capsules, incomplete migration guidance, or stale generated release artifacts are flagged before the website changelog or publish workflow treats the release data as canonical."})]}),a("div",{className:"card-subtle space-y-3 p-6",children:[e("h3",{className:"font-semibold text-lg",children:"5) Sync the public docs if workflow expectations changed"}),e("ul",{className:"space-y-2 text-muted-foreground text-sm",children:u.map((t)=>e("li",{children:t},t))})]})]}),a("div",{className:"flex items-center gap-4 pt-4",children:[a(l,{href:"/docs/guides/connect-in-a-repo",className:"btn-primary",children:["Connect guide ",e(d,{size:16})]}),e(l,{href:"/changelog",className:"btn-ghost",children:"Website changelog"})]})]})}export{v as GuideReleaseCapsulesPage};
@@ -1,4 +1,4 @@
1
- import p from"@contractspec/lib.ui-link";import{jsx as o,jsxs as d}from"react/jsx-runtime";function i({title:c="Need the operating layer on top of OSS ContractSpec?",body:r="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:l="https://www.contractspec.studio/docs"}){return d("div",{className:"card-subtle space-y-3 p-6",children:[o("h3",{className:"font-semibold text-lg",children:c}),o("p",{className:"text-muted-foreground text-sm",children:r}),o(p,{href:l,className:"btn-primary",children:s})]})}import{CodeBlock as a}from"@contractspec/lib.design-system";import n from"@contractspec/lib.ui-link";import{ChevronRight as m}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-3",children:[e("h1",{className:"font-bold text-4xl",children:"Spec-driven validation + typing"}),e("p",{className:"text-lg text-muted-foreground",children:"Define a single operation with SchemaModel, generate validation, and keep your existing handler logic."})]}),t("div",{className:"card-subtle space-y-4 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"What you'll build"}),t("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[e("li",{children:"One command spec with explicit input/output models."}),e("li",{children:"Validation + typing without rewriting your service layer."}),e("li",{children:"Clear acceptance scenarios for regression safety."})]})]}),t("div",{className:"space-y-6",children:[t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"1) Define the spec"}),t("p",{className:"text-muted-foreground text-sm",children:["Create ",e("code",{children:"src/contracts/contact-create.operation.ts"}),":"]}),e(a,{language:"typescript",filename:"src/contracts/contact-create.operation.ts",code:`import { defineCommand } from "@contractspec/lib.contracts-spec/operations";
1
+ var p=Object.defineProperty;var d=(a)=>a;function m(a,o){this[a]=d.bind(null,o)}var g=(a,o)=>{for(var i in o)p(a,i,{get:o[i],enumerable:!0,configurable:!0,set:m.bind(o,i)})};var y=(a,o)=>()=>(a&&(o=a(a=0)),o);import u from"@contractspec/lib.ui-link";import{jsx as c,jsxs as h}from"react/jsx-runtime";function r({title:a="Need the operating layer on top of OSS ContractSpec?",body:o="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:i="See what Studio adds",href:l="https://www.contractspec.studio/docs"}){return h("div",{className:"card-subtle space-y-3 p-6",children:[c("h3",{className:"font-semibold text-lg",children:a}),c("p",{className:"text-muted-foreground text-sm",children:o}),c(u,{href:l,className:"btn-primary",children:i})]})}import{CodeBlock as n}from"@contractspec/lib.design-system";import s from"@contractspec/lib.ui-link";import{ChevronRight as f}from"lucide-react";import{jsx as e,jsxs as t}from"react/jsx-runtime";function O(){return t("div",{className:"space-y-8",children:[t("div",{className:"space-y-3",children:[e("h1",{className:"font-bold text-4xl",children:"Spec-driven validation + typing"}),e("p",{className:"text-lg text-muted-foreground",children:"Define a single operation with SchemaModel, generate validation, and keep your existing handler logic."})]}),t("div",{className:"card-subtle space-y-4 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"What you'll build"}),t("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[e("li",{children:"One command spec with explicit input/output models."}),e("li",{children:"Validation + typing without rewriting your service layer."}),e("li",{children:"Clear acceptance scenarios for regression safety."})]})]}),t("div",{className:"space-y-6",children:[t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"1) Define the spec"}),t("p",{className:"text-muted-foreground text-sm",children:["Create ",e("code",{children:"src/contracts/contact-create.operation.ts"}),":"]}),e(n,{language:"typescript",filename:"src/contracts/contact-create.operation.ts",code:`import { defineCommand } from "@contractspec/lib.contracts-spec/operations";
2
2
  import { SchemaModel, ScalarTypeEnum } from "@contractspec/lib.schema";
3
3
 
4
4
  const ContactInput = new SchemaModel({
@@ -44,7 +44,7 @@ export const ContactCreateCommand = defineCommand({
44
44
  },
45
45
  ],
46
46
  },
47
- });`})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"2) Wire the handler"}),e("p",{className:"text-muted-foreground text-sm",children:"Keep your existing code. Just ensure the handler returns the output shape defined above."}),e(a,{language:"typescript",filename:"src/handlers/contact-create.ts",code:`import { ContactCreateCommand } from "@/contracts/contact-create.operation";
47
+ });`})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"2) Wire the handler"}),e("p",{className:"text-muted-foreground text-sm",children:"Keep your existing code. Just ensure the handler returns the output shape defined above."}),e(n,{language:"typescript",filename:"src/handlers/contact-create.ts",code:`import { ContactCreateCommand } from "@/contracts/contact-create.operation";
48
48
 
49
49
  export async function handleContactCreate(
50
50
  input: (typeof ContactCreateCommand)["io"]["input"],
@@ -56,8 +56,8 @@ export const ContactCreateCommand = defineCommand({
56
56
  email: input.email,
57
57
  createdAt: new Date().toISOString(),
58
58
  };
59
- }`})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"3) Validate"}),e(a,{language:"bash",filename:"spec-validation",code:"contractspec validate src/contracts/contact-create.operation.ts"}),t("p",{className:"text-muted-foreground text-sm",children:["Expected output: ",e("code",{children:"Validation passed"}),"."]})]}),t("div",{className:"card-subtle space-y-3 p-6",children:[e("h3",{className:"font-semibold text-lg",children:"Example package"}),e("p",{className:"text-muted-foreground text-sm",children:"The CRM Pipeline example includes real specs, handlers, and presentations for contact + deal flows."}),e(a,{language:"bash",filename:"crm-example",code:`# Build + validate the CRM pipeline example
59
+ }`})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"3) Validate"}),e(n,{language:"bash",filename:"spec-validation",code:"contractspec validate src/contracts/contact-create.operation.ts"}),t("p",{className:"text-muted-foreground text-sm",children:["Expected output: ",e("code",{children:"Validation passed"}),"."]})]}),t("div",{className:"card-subtle space-y-3 p-6",children:[e("h3",{className:"font-semibold text-lg",children:"Example package"}),e("p",{className:"text-muted-foreground text-sm",children:"The CRM Pipeline example includes real specs, handlers, and presentations for contact + deal flows."}),e(n,{language:"bash",filename:"crm-example",code:`# Build + validate the CRM pipeline example
60
60
  cd packages/examples/crm-pipeline
61
61
  bun install
62
62
  bun run build
63
- bun run validate`})]}),e(i,{title:"Need validation tied to real outcomes?",body:"Studio links checks to evidence, focus decisions, and post-release verification so specs evolve with product truth."})]}),t("div",{className:"flex items-center gap-4 pt-4",children:[t(n,{href:"/docs/guides/generate-docs-clients-schemas",className:"btn-primary",children:["Next: Generate docs + clients ",e(m,{size:16})]}),e(n,{href:"/docs/guides",className:"btn-ghost",children:"Back to guides"})]})]})}export{C as GuideSpecValidationTypingPage};
63
+ bun run validate`})]}),e(r,{title:"Need validation tied to real outcomes?",body:"Studio links checks to evidence, focus decisions, and post-release verification so specs evolve with product truth."})]}),t("div",{className:"flex items-center gap-4 pt-4",children:[t(s,{href:"/docs/guides/generate-docs-clients-schemas",className:"btn-primary",children:["Next: Generate docs + clients ",e(f,{size:16})]}),e(s,{href:"/docs/guides",className:"btn-ghost",children:"Back to guides"})]})]})}export{O as GuideSpecValidationTypingPage};
@@ -1,5 +1,5 @@
1
- import{CodeBlock as a}from"@contractspec/lib.design-system";import n from"@contractspec/lib.ui-link";import{ArrowRight as r,CheckCircle2 as s,GitBranch as o}from"lucide-react";import{jsx as e,jsxs as t}from"react/jsx-runtime";var d=[{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:"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 t("div",{className:"space-y-10",children:[t("div",{className:"space-y-3",children:[e("p",{className:"editorial-kicker",children:"Build"}),e("h1",{className:"font-serif text-4xl tracking-[-0.04em] md:text-5xl",children:"Adoption guides for teams that want to keep their code."}),e("p",{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."})]}),e("div",{className:"grid gap-4 md:grid-cols-2",children:d.map((i)=>t(n,{href:i.href,className:"editorial-panel",children:[t("div",{className:"flex items-start justify-between gap-4",children:[t("div",{children:[e("h2",{className:"font-semibold text-xl",children:i.title}),e("p",{className:"mt-2 text-muted-foreground text-sm leading-7",children:i.description})]}),e(r,{className:"mt-1 shrink-0",size:18})]}),t("div",{className:"mt-4 flex items-center gap-2 text-muted-foreground text-xs",children:[e(s,{size:14}),t("span",{children:["Target time: ",i.time]})]})]},i.href))}),t("div",{className:"editorial-panel space-y-4",children:[t("div",{className:"flex items-center gap-2 font-semibold text-[color:var(--rust)] text-sm uppercase tracking-[0.2em]",children:[e(o,{size:16}),"Working style"]}),t("ul",{className:"editorial-list",children:[t("li",{children:[e("span",{className:"editorial-list-marker"}),e("span",{children:"Run each guide in a branch or sandboxed workspace."})]}),t("li",{children:[e("span",{className:"editorial-list-marker"}),e("span",{children:"Prefer one bounded surface at a time: one endpoint, one workflow, one integration, one unsafe module."})]}),t("li",{children:[e("span",{className:"editorial-list-marker"}),e("span",{children:"Use the example and reference outputs to verify what changed, not just the narrative page."})]})]}),e(a,{language:"bash",filename:"guides-quickstart",code:`# list example systems
1
+ var r=Object.defineProperty;var s=(t)=>t;function o(t,a){this[t]=s.bind(null,a)}var u=(t,a)=>{for(var n in a)r(t,n,{get:a[n],enumerable:!0,configurable:!0,set:o.bind(a,n)})};var f=(t,a)=>()=>(t&&(a=t(t=0)),a);import{CodeBlock as d}from"@contractspec/lib.design-system";import c from"@contractspec/lib.ui-link";import{ArrowRight as l,CheckCircle2 as m,GitBranch as p}from"lucide-react";import{jsx as e,jsxs as i}from"react/jsx-runtime";var h=[{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:"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 w(){return i("div",{className:"space-y-10",children:[i("div",{className:"space-y-3",children:[e("p",{className:"editorial-kicker",children:"Build"}),e("h1",{className:"font-serif text-4xl tracking-[-0.04em] md:text-5xl",children:"Adoption guides for teams that want to keep their code."}),e("p",{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."})]}),e("div",{className:"grid gap-4 md:grid-cols-2",children:h.map((t)=>i(c,{href:t.href,className:"editorial-panel",children:[i("div",{className:"flex items-start justify-between gap-4",children:[i("div",{children:[e("h2",{className:"font-semibold text-xl",children:t.title}),e("p",{className:"mt-2 text-muted-foreground text-sm leading-7",children:t.description})]}),e(l,{className:"mt-1 shrink-0",size:18})]}),i("div",{className:"mt-4 flex items-center gap-2 text-muted-foreground text-xs",children:[e(m,{size:14}),i("span",{children:["Target time: ",t.time]})]})]},t.href))}),i("div",{className:"editorial-panel space-y-4",children:[i("div",{className:"flex items-center gap-2 font-semibold text-[color:var(--rust)] text-sm uppercase tracking-[0.2em]",children:[e(p,{size:16}),"Working style"]}),i("ul",{className:"editorial-list",children:[i("li",{children:[e("span",{className:"editorial-list-marker"}),e("span",{children:"Run each guide in a branch or sandboxed workspace."})]}),i("li",{children:[e("span",{className:"editorial-list-marker"}),e("span",{children:"Prefer one bounded surface at a time: one endpoint, one workflow, one integration, one unsafe module."})]}),i("li",{children:[e("span",{className:"editorial-list-marker"}),e("span",{children:"Use the example and reference outputs to verify what changed, not just the narrative page."})]})]}),e(d,{language:"bash",filename:"guides-quickstart",code:`# list example systems
2
2
  contractspec examples list
3
3
 
4
4
  # validate the examples in this workspace
5
- contractspec examples validate --repo-root .`})]})]})}export{p as GuidesIndexPage};
5
+ contractspec examples validate --repo-root .`})]})]})}export{w as GuidesIndexPage};