@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,2 +1,2 @@
1
1
  // @bun
2
- import{jsx as e,jsxs as p}from"react/jsx-runtime";function m(){return p("div",{className:"space-y-8",children:[p("div",{className:"space-y-4",children:[e("h1",{className:"font-bold text-4xl",children:"Automation platforms"}),e("p",{className:"text-muted-foreground",children:"Automation platforms connect apps and automate tasks through triggers and actions. They serve operations and non-technical users well but stop short of generating full applications or enforcing fine-grained policies."})]}),p("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Feature comparison"}),e("div",{className:"overflow-x-auto rounded-lg border border-border/50",children:p("table",{className:"w-full text-left text-sm",children:[e("thead",{className:"bg-card/50",children:p("tr",{className:"border-border/50 border-b",children:[e("th",{className:"px-4 py-3 font-semibold",children:"Feature"}),e("th",{className:"px-4 py-3 font-semibold",children:"Zapier"}),e("th",{className:"px-4 py-3 font-semibold",children:"Make (Integromat)"}),e("th",{className:"px-4 py-3 font-semibold",children:"n8n"}),e("th",{className:"px-4 py-3 font-semibold",children:"Pipedream"})]})}),p("tbody",{className:"divide-y divide-border/50",children:[p("tr",{children:[e("td",{className:"px-4 py-3 align-top font-semibold",children:"Workflow model"}),e("td",{className:"px-4 py-3 align-top",children:"Zaps: trigger + one or more actions"}),e("td",{className:"px-4 py-3 align-top",children:"Real-time visual orchestration for AI agents and automations"}),e("td",{className:"px-4 py-3 align-top",children:"Node-based workflow builder with drag-and-drop and code; build multi-step AI agents"}),e("td",{className:"px-4 py-3 align-top",children:"Workflows connect any API; Pipedream Connect SDK adds integrations quickly"})]}),p("tr",{children:[e("td",{className:"px-4 py-3 align-top font-semibold",children:"Visual builder?"}),e("td",{className:"px-4 py-3 align-top",children:"Yes (simple; web-based)."}),e("td",{className:"px-4 py-3 align-top",children:"Yes; AI-assisted editor"}),e("td",{className:"px-4 py-3 align-top",children:"Yes; visual canvas."}),e("td",{className:"px-4 py-3 align-top",children:"Code-centric editor; no visual UI builder"})]}),p("tr",{children:[e("td",{className:"px-4 py-3 align-top font-semibold",children:"Self-host?"}),e("td",{className:"px-4 py-3 align-top",children:"No (cloud only)."}),e("td",{className:"px-4 py-3 align-top",children:"Cloud only."}),e("td",{className:"px-4 py-3 align-top",children:"Yes (Docker, self-host)"}),e("td",{className:"px-4 py-3 align-top",children:"Cloud only (hosted)."})]}),p("tr",{children:[e("td",{className:"px-4 py-3 align-top font-semibold",children:"Integrations & AI"}),e("td",{className:"px-4 py-3 align-top",children:"Connects almost 8 000 apps; limited AI features."}),e("td",{className:"px-4 py-3 align-top",children:"3 000+ pre-built apps; supports GenAI tools; GDPR/SOC2 and SSO"}),e("td",{className:"px-4 py-3 align-top",children:"Integrates LLMs; allows JS or Python code and library imports; chatbots with Slack/Teams"}),e("td",{className:"px-4 py-3 align-top",children:"MCP servers add 3 000+ APIs and 10 000+ tools to agents; AI agent builder prompts and deploys agents; SOC 2/ HIPAA/GDPR compliant"})]}),p("tr",{children:[e("td",{className:"px-4 py-3 align-top font-semibold",children:"Policy & UI generation"}),e("td",{className:"px-4 py-3 align-top",children:"No policy engine; does not generate user interfaces."}),e("td",{className:"px-4 py-3 align-top",children:"No policy engine; does not generate UIs beyond a workflow dashboard."}),e("td",{className:"px-4 py-3 align-top",children:"No policy engine; no UI builder"}),e("td",{className:"px-4 py-3 align-top",children:"No policy engine; does not generate UI."})]})]})]})})]}),p("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Why ContractSpec differs"}),p("ul",{className:"space-y-2 text-muted-foreground",children:[p("li",{children:[e("strong",{children:"Full application generation"})," \u2013 ContractSpec compiles specs into back-end, events and user interfaces for both web and mobile."]}),p("li",{children:[e("strong",{children:"Policy enforcement"})," \u2013 A built-in policy engine governs PII access and mutations across the UI."]}),p("li",{children:[e("strong",{children:"Customisation via overlays"})," \u2013 Non-technical users can safely personalise layouts while respecting policies."]}),p("li",{children:[e("strong",{children:"Extensible capabilities"})," \u2013 Connect to external APIs and services via capability providers while maintaining type safety."]})]}),e("p",{className:"text-muted-foreground",children:"Automation tools simplify integrations and tasks; ContractSpec goes further by generating a complete, policy-safe application around your data and processes."})]})]})}import g from"@contractspec/lib.ui-link";import{jsx as l,jsxs as r}from"react/jsx-runtime";function y(){return r("div",{className:"space-y-8",children:[r("div",{className:"space-y-4",children:[l("h1",{className:"font-bold text-4xl",children:"Enterprise orchestration platforms"}),l("p",{className:"text-muted-foreground",children:"Enterprise orchestration platforms manage mission-critical workloads and integrate deeply with ERP systems. They prioritise governance, reliability and compliance, but they do not provide spec-driven app generation or per-user customisation."})]}),r("div",{className:"space-y-4",children:[l("h2",{className:"font-bold text-2xl",children:"Redwood RunMyJobs"}),r("p",{className:"text-muted-foreground",children:[l(g,{href:"https://www.redwood.com/workload-automation/",className:"underline decoration-dotted underline-offset-4 hover:text-foreground",target:"_blank",rel:"noreferrer",children:"RunMyJobs by Redwood"})," ","is a cloud-native service orchestration and automation platform. Key attributes include:"]}),r("ul",{className:"space-y-2 text-muted-foreground",children:[r("li",{children:[l("strong",{children:"Self-service portal."})," Business users can run and customise workloads while IT ensures governance and compliance"]}),r("li",{children:[l("strong",{children:"Full-stack orchestration."})," Integrates with both SAP and non-SAP systems; Redwood is recognised as a Leader in Gartner\u2019s Magic Quadrant for service orchestration"]}),r("li",{children:[l("strong",{children:"Observability and AI insights."})," Dashboards and AI-enhanced analytics identify bottlenecks and forecast issues"]}),r("li",{children:[l("strong",{children:"Deep SAP integration."})," Supports SAP\u2019s latest technologies and orchestrates mission-critical business processes"]}),r("li",{children:[l("strong",{children:"Connectors & wizard."})," Provides pre-built connectors and a wizard to link on-prem and cloud systems"]})]})]}),r("div",{className:"space-y-4",children:[l("h3",{className:"font-semibold text-xl",children:"Comparison with ContractSpec"}),l("div",{className:"overflow-x-auto rounded-lg border border-border/50",children:r("table",{className:"w-full text-left text-sm",children:[l("thead",{className:"bg-card/50",children:r("tr",{className:"border-border/50 border-b",children:[l("th",{className:"px-4 py-3 font-semibold",children:"Aspect"}),l("th",{className:"px-4 py-3 font-semibold",children:"RunMyJobs"}),l("th",{className:"px-4 py-3 font-semibold",children:"ContractSpec"})]})}),r("tbody",{className:"divide-y divide-border/50",children:[r("tr",{children:[l("td",{className:"px-4 py-3 align-top",children:l("strong",{children:"Target user"})}),l("td",{className:"px-4 py-3 align-top",children:"Enterprise IT and operations teams automating SAP and mission-critical workflows."}),l("td",{className:"px-4 py-3 align-top",children:"Developers, product teams and SMBs wanting to generate policy-safe apps with customisable UIs."})]}),r("tr",{children:[l("td",{className:"px-4 py-3 align-top",children:l("strong",{children:"Workload focus"})}),l("td",{className:"px-4 py-3 align-top",children:"Service orchestration and job scheduling across ERP/legacy systems"}),l("td",{className:"px-4 py-3 align-top",children:"End-to-end application generation with back-end, UI and policies."})]}),r("tr",{children:[l("td",{className:"px-4 py-3 align-top",children:l("strong",{children:"User interface"})}),l("td",{className:"px-4 py-3 align-top",children:"Self-service portal to run/monitor jobs; no custom UI generation for new apps."}),l("td",{className:"px-4 py-3 align-top",children:"Generates React/React-Native UIs from specs; users can personalise layout via overlays."})]}),r("tr",{children:[l("td",{className:"px-4 py-3 align-top",children:l("strong",{children:"Open source"})}),l("td",{className:"px-4 py-3 align-top",children:"Proprietary SaaS; enterprise agreements."}),l("td",{className:"px-4 py-3 align-top",children:"Core compiler is proprietary; SDK and certain modules may be open-source; offers hosted and on-prem options."})]}),r("tr",{children:[l("td",{className:"px-4 py-3 align-top",children:l("strong",{children:"Policy & personalisation"})}),l("td",{className:"px-4 py-3 align-top",children:"IT controls governance; no per-user overlay concept."}),l("td",{className:"px-4 py-3 align-top",children:"Built-in policy engine and per-user overlays for safe personalisation."})]})]})]})}),l("p",{className:"text-muted-foreground",children:"Redwood RunMyJobs is designed for orchestrating enterprise workloads and SAP processes. ContractSpec targets a different problem: generating complete applications from typed specs and letting end users adapt them safely."})]})]})}import{jsx as a,jsxs as s}from"react/jsx-runtime";function u(){return s("div",{className:"space-y-8",children:[s("div",{className:"space-y-4",children:[a("h1",{className:"font-bold text-4xl",children:"Internal-tool builders"}),a("p",{className:"text-muted-foreground",children:"Internal-tool builders let teams quickly assemble dashboards and admin panels. These platforms often provide drag-and-drop UIs and connectors to databases and APIs, but they rely on developers to write custom code for business logic and seldom enforce policies across surfaces."})]}),s("div",{className:"space-y-4",children:[a("h2",{className:"font-bold text-2xl",children:"Feature comparison"}),a("div",{className:"overflow-x-auto rounded-lg border border-border/50",children:s("table",{className:"w-full text-left text-sm",children:[a("thead",{className:"bg-card/50",children:s("tr",{className:"border-border/50 border-b",children:[a("th",{className:"px-4 py-3 font-semibold",children:"Feature"}),a("th",{className:"px-4 py-3 font-semibold",children:"Retool"}),a("th",{className:"px-4 py-3 font-semibold",children:"Appsmith"}),a("th",{className:"px-4 py-3 font-semibold",children:"ToolJet"}),a("th",{className:"px-4 py-3 font-semibold",children:"Budibase"})]})}),s("tbody",{className:"divide-y divide-border/50",children:[s("tr",{children:[a("td",{className:"px-4 py-3 align-top font-semibold",children:"UI builder"}),a("td",{className:"px-4 py-3 align-top",children:"Drag-and-drop canvas; shape UI components easily"}),a("td",{className:"px-4 py-3 align-top",children:"Visual builder with drag-and-drop widgets"}),a("td",{className:"px-4 py-3 align-top",children:"Drag-and-drop UI widgets (tables, charts, forms)"}),a("td",{className:"px-4 py-3 align-top",children:"Pre-built components and templates for mobile/desktop"})]}),s("tr",{children:[a("td",{className:"px-4 py-3 align-top font-semibold",children:"Custom code & logic"}),a("td",{className:"px-4 py-3 align-top",children:"Full code insertion anywhere via IDE"}),a("td",{className:"px-4 py-3 align-top",children:"Logic via JavaScript or natural-language prompts in a central IDE"}),a("td",{className:"px-4 py-3 align-top",children:"Supports business logic in JavaScript or Python queries"}),a("td",{className:"px-4 py-3 align-top",children:"Custom logic via JavaScript; plugins and external embeds"})]}),s("tr",{children:[a("td",{className:"px-4 py-3 align-top font-semibold",children:"Data connectors"}),a("td",{className:"px-4 py-3 align-top",children:"Wide support for databases and APIs (PostgreSQL, MongoDB, GraphQL, etc.)."}),a("td",{className:"px-4 py-3 align-top",children:"Connects to LLMs and databases"}),a("td",{className:"px-4 py-3 align-top",children:"Built-in database; connects to PostgreSQL, MongoDB, APIs, GraphQL, SaaS"}),a("td",{className:"px-4 py-3 align-top",children:"Connects to external databases, REST, CSV or built-in DB"})]}),s("tr",{children:[a("td",{className:"px-4 py-3 align-top font-semibold",children:"Open source & self-host"}),a("td",{className:"px-4 py-3 align-top",children:"Proprietary; cloud or on-prem subscription."}),a("td",{className:"px-4 py-3 align-top",children:"Open source (Apache-2.0); self-host or cloud."}),a("td",{className:"px-4 py-3 align-top",children:"Open source; self-host via Docker or cloud."}),a("td",{className:"px-4 py-3 align-top",children:"Open source; self-host via Docker/Kubernetes"})]}),s("tr",{children:[a("td",{className:"px-4 py-3 align-top font-semibold",children:"Policy & personalisation"}),a("td",{className:"px-4 py-3 align-top",children:"No built-in policy engine; personalisation limited to user roles."}),a("td",{className:"px-4 py-3 align-top",children:"No typed policy engine; customisation depends on user roles."}),a("td",{className:"px-4 py-3 align-top",children:"No policy engine; personalisation via user roles."}),a("td",{className:"px-4 py-3 align-top",children:"No policy engine; personalisation via RBAC & SSO"})]})]})]})})]}),s("div",{className:"space-y-3",children:[a("h2",{className:"font-bold text-2xl",children:"ContractSpec\u2019s differences"}),s("ul",{className:"space-y-2 text-muted-foreground",children:[s("li",{children:[a("strong",{children:"Typed specifications"})," produce both the API and UI. You define capabilities, data views and workflows, and the compiler generates code, forms and screens\u2014no manual widget wiring."]}),s("li",{children:[a("strong",{children:"Policy enforcement"})," at run time ensures PII and ABAC rules across the entire app."]}),s("li",{children:[a("strong",{children:"Overlay personalisation"})," allows tenants and users to change layouts safely without code."]}),s("li",{children:[a("strong",{children:"Unified mobile/web runtime"})," means you don\u2019t need separate builders for React Native vs web."]})]}),a("p",{className:"text-muted-foreground",children:"Internal-tool builders are useful for quick dashboards. ContractSpec extends this by generating the whole stack from specs and enforcing policies throughout."})]})]})}import{jsx as n,jsxs as c}from"react/jsx-runtime";function N(){return c("div",{className:"space-y-8",children:[c("div",{className:"space-y-4",children:[n("h1",{className:"font-bold text-4xl",children:"Comparison overview"}),n("p",{className:"text-muted-foreground",children:"ContractSpec sits at the intersection of several tool categories. To appreciate its unique offering\u2014typed specifications for back-end, front-end, workflows and policies with a unified web/mobile runtime\u2014this section compares it to related products."}),c("p",{className:"text-muted-foreground",children:["ContractSpec uses ",n("strong",{children:"runtime adapters"})," to serve typed"," ",n("strong",{children:"Operations"})," (Commands/Queries),"," ",n("strong",{children:"DataViews"}),", ",n("strong",{children:"Workflows"}),", and"," ",n("strong",{children:"Policies"})," as REST/GraphQL/MCP endpoints. A"," ",n("strong",{children:"policy decision point"})," governs every operation, and"," ",n("strong",{children:"OverlaySpecs"})," allow non-technical users to personalise screens safely. Few competitors offer this combination of runtime type safety, policy enforcement, and end-user customisation."]})]}),c("div",{className:"space-y-4",children:[n("h2",{className:"font-bold text-2xl",children:"Tool categories"}),n("div",{className:"overflow-x-auto rounded-lg border border-border/50",children:c("table",{className:"w-full text-left text-sm",children:[n("thead",{className:"bg-card/50",children:c("tr",{className:"border-border/50 border-b",children:[n("th",{className:"px-4 py-3 font-semibold",children:"Category"}),n("th",{className:"px-4 py-3 font-semibold",children:"Examples"}),n("th",{className:"px-4 py-3 font-semibold",children:"What they do"}),n("th",{className:"px-4 py-3 font-semibold",children:"Limitations"})]})}),c("tbody",{className:"divide-y divide-border/50",children:[c("tr",{children:[n("td",{className:"px-4 py-3 align-top",children:n("strong",{children:"Workflow engines"})}),n("td",{className:"px-4 py-3 align-top",children:"Prefect, Kestra, Temporal, Airflow, Dagster, Hatchet, Windmill"}),n("td",{className:"px-4 py-3 align-top",children:"Orchestrate code or data pipelines; handle retries, scheduling and observability"}),n("td",{className:"px-4 py-3 align-top",children:"Require writing code; no automatic UI generation or policy enforcement."})]}),c("tr",{children:[n("td",{className:"px-4 py-3 align-top",children:n("strong",{children:"Internal-tool builders"})}),n("td",{className:"px-4 py-3 align-top",children:"Retool, Appsmith, ToolJet, Budibase"}),n("td",{className:"px-4 py-3 align-top",children:"Drag-and-drop dashboards and admin panels; connect to databases/APIs"}),n("td",{className:"px-4 py-3 align-top",children:"No typed back-end spec; limited enforcement of policies; custom code glues logic."})]}),c("tr",{children:[n("td",{className:"px-4 py-3 align-top",children:n("strong",{children:"Automation platforms"})}),n("td",{className:"px-4 py-3 align-top",children:"Zapier, Make, n8n, Pipedream"}),n("td",{className:"px-4 py-3 align-top",children:"Connect apps via triggers and actions; visual or low-code interfaces"}),n("td",{className:"px-4 py-3 align-top",children:"Automate tasks but do not generate full apps or enforce per-field policies."})]}),c("tr",{children:[n("td",{className:"px-4 py-3 align-top",children:n("strong",{children:"Enterprise orchestrators"})}),n("td",{className:"px-4 py-3 align-top",children:"Redwood RunMyJobs"}),n("td",{className:"px-4 py-3 align-top",children:"Automate mission-critical workloads with self-service portals and SAP integrations"}),n("td",{className:"px-4 py-3 align-top",children:"Focus on IT workloads; not built for custom app creation or per-user customisation."})]})]})]})}),n("p",{className:"text-muted-foreground",children:"Use the pages below to explore each group in detail and see how ContractSpec compares."})]})]})}import{jsx as o,jsxs as i}from"react/jsx-runtime";function f(){return i("div",{className:"space-y-8",children:[i("div",{className:"space-y-4",children:[o("h1",{className:"font-bold text-4xl",children:"Windmill"}),i("p",{className:"text-muted-foreground",children:["Windmill is an open-source platform that turns"," ",o("strong",{children:"scripts"})," into endpoints, workflows and UIs. It seeks to remove boilerplate by generating interfaces and workflows around existing code"]})]}),i("div",{className:"space-y-4",children:[o("h2",{className:"font-bold text-2xl",children:"Platform features"}),i("ul",{className:"space-y-3 text-muted-foreground",children:[i("li",{children:[o("strong",{children:"Script-driven model."})," Write scripts in TypeScript, Python, Go, PHP, Bash, C#, SQL or Rust; Windmill infers dependencies, creates lockfiles and JSON schemas, then serves minimal UIs automatically"]}),i("li",{children:[o("strong",{children:"Visual flow editor."})," Compose scripts into workflows with retries, error handling, loops, branching, suspending flows and approval steps"]}),i("li",{children:[o("strong",{children:"Low-code UI builder."})," Build dashboards and admin panels using inline scripts and trigger flows from the UI"]}),i("li",{children:[o("strong",{children:"Enterprise readiness."})," Features include RBAC permissions, secret management, OAuth handling, CLI/git sync, scheduling and webhooks"]}),i("li",{children:[o("strong",{children:"Use cases."})," Deploy scripts as webhooks or cron jobs; create \u201Capplicative workflows\u201D combining external APIs; build ETLs and interactive dashboards"]}),i("li",{children:[o("strong",{children:"Open source & self-hosting."})," Windmill emphasises an open-source codebase and self-hosting options"]})]})]}),i("div",{className:"space-y-4",children:[o("h2",{className:"font-bold text-2xl",children:"Comparison with ContractSpec"}),o("div",{className:"overflow-x-auto rounded-lg border border-border/50",children:i("table",{className:"w-full text-left text-sm",children:[o("thead",{className:"bg-card/50",children:i("tr",{className:"border-border/50 border-b",children:[o("th",{className:"px-4 py-3 font-semibold",children:"Feature"}),o("th",{className:"px-4 py-3 font-semibold",children:"Windmill"}),o("th",{className:"px-4 py-3 font-semibold",children:"ContractSpec"})]})}),i("tbody",{className:"divide-y divide-border/50",children:[i("tr",{children:[o("td",{className:"px-4 py-3 align-top",children:o("strong",{children:"Entry model"})}),o("td",{className:"px-4 py-3 align-top",children:"Write scripts; platform auto-generates UI and workflows"}),o("td",{className:"px-4 py-3 align-top",children:"Define typed specs (Capabilities, DataViews, Workflows, Policies); compiler outputs back-end, front-end and forms."})]}),i("tr",{children:[o("td",{className:"px-4 py-3 align-top",children:o("strong",{children:"Language support"})}),o("td",{className:"px-4 py-3 align-top",children:"20+ languages via embedded runtimes"}),o("td",{className:"px-4 py-3 align-top",children:"Uses TypeScript/JavaScript for providers; supports other back-ends through capability providers."})]}),i("tr",{children:[o("td",{className:"px-4 py-3 align-top",children:o("strong",{children:"UI generation"})}),o("td",{className:"px-4 py-3 align-top",children:"Minimal UI forms from script parameters; low-code app builder"}),o("td",{className:"px-4 py-3 align-top",children:"Generates full web and mobile UIs from specs; user layouts can be customised via signed overlays."})]}),i("tr",{children:[o("td",{className:"px-4 py-3 align-top",children:o("strong",{children:"Policy & personalization"})}),o("td",{className:"px-4 py-3 align-top",children:"RBAC and secret management; no per-user overlay concept"}),o("td",{className:"px-4 py-3 align-top",children:"Built-in policy engine enforcing ABAC/PII on every render/mutate; overlays allow safe per-user customisation."})]}),i("tr",{children:[o("td",{className:"px-4 py-3 align-top",children:o("strong",{children:"Open source"})}),o("td",{className:"px-4 py-3 align-top",children:"Fully open source and self-hostable"}),o("td",{className:"px-4 py-3 align-top",children:"Closed-source core (SDK is open); offers hosted and on-prem modes."})]}),i("tr",{children:[o("td",{className:"px-4 py-3 align-top",children:o("strong",{children:"Ideal for"})}),o("td",{className:"px-4 py-3 align-top",children:"Teams wanting to expose scripts as APIs, workflows or dashboards without heavy infrastructure."}),o("td",{className:"px-4 py-3 align-top",children:"Teams needing a spec-driven platform that generates code and UI, enforces policies and lets non-technical users tailor the experience."})]})]})]})}),i("p",{className:"text-muted-foreground",children:["Windmill excels at converting scripts into workflows and admin panels. ContractSpec takes a ",o("strong",{children:"spec-first"})," approach, generating the entire stack and enforcing policies, making it suitable for long-lived applications that must evolve safely."]})]})]})}import{jsx as t,jsxs as d}from"react/jsx-runtime";function b(){return d("div",{className:"space-y-8",children:[d("div",{className:"space-y-4",children:[t("h1",{className:"font-bold text-4xl",children:"Workflow engines"}),t("p",{className:"text-muted-foreground",children:"Workflow engines orchestrate long-running tasks and data pipelines. They provide retries, scheduling and visibility, but most expect developers to write code and do not generate user interfaces. Here\u2019s how the major engines compare to ContractSpec."})]}),d("div",{className:"space-y-4",children:[t("h2",{className:"font-bold text-2xl",children:"Key differences summary"}),t("div",{className:"overflow-x-auto rounded-lg border border-border/50",children:d("table",{className:"w-full text-left text-sm",children:[t("thead",{className:"bg-card/50",children:d("tr",{className:"border-border/50 border-b",children:[t("th",{className:"px-4 py-3 font-semibold",children:"Engine"}),t("th",{className:"px-4 py-3 font-semibold",children:"Core strengths"}),t("th",{className:"px-4 py-3 font-semibold",children:"UI generation?"}),t("th",{className:"px-4 py-3 font-semibold",children:"Policy/PII enforcement?"}),t("th",{className:"px-4 py-3 font-semibold",children:"Self-host?"}),t("th",{className:"px-4 py-3 font-semibold",children:"Primary use"})]})}),d("tbody",{className:"divide-y divide-border/50",children:[d("tr",{children:[t("td",{className:"px-4 py-3 align-top",children:t("strong",{children:"Prefect"})}),t("td",{className:"px-4 py-3 align-top",children:"Python-native; dynamic DAGs adapt to change; annotate code without rewriting; strong observability and audit logs"}),t("td",{className:"px-4 py-3 align-top",children:"No"}),t("td",{className:"px-4 py-3 align-top",children:"No"}),t("td",{className:"px-4 py-3 align-top",children:"Yes"}),t("td",{className:"px-4 py-3 align-top",children:"Data pipelines and dynamic workflows."})]}),d("tr",{children:[t("td",{className:"px-4 py-3 align-top",children:t("strong",{children:"Kestra"})}),t("td",{className:"px-4 py-3 align-top",children:"Declarative YAML; event-driven triggers; mix of code and no-code; write logic in Python/R/Java/Julia/Ruby; deploy anywhere"}),t("td",{className:"px-4 py-3 align-top",children:"No"}),t("td",{className:"px-4 py-3 align-top",children:"No"}),t("td",{className:"px-4 py-3 align-top",children:"Yes"}),t("td",{className:"px-4 py-3 align-top",children:"Data pipelines and hybrid orchestration."})]}),d("tr",{children:[t("td",{className:"px-4 py-3 align-top",children:t("strong",{children:"Temporal"})}),t("td",{className:"px-4 py-3 align-top",children:"Durable execution; workflows never lose state; multi-language SDKs; automatic retries"}),t("td",{className:"px-4 py-3 align-top",children:"No"}),t("td",{className:"px-4 py-3 align-top",children:"No"}),t("td",{className:"px-4 py-3 align-top",children:"Yes"}),t("td",{className:"px-4 py-3 align-top",children:"Durable microservice and business workflows."})]}),d("tr",{children:[t("td",{className:"px-4 py-3 align-top",children:t("strong",{children:"Airflow"})}),t("td",{className:"px-4 py-3 align-top",children:"Open-source; define workflows as Python code; schedule and monitor via UI; extensible via custom operators"}),t("td",{className:"px-4 py-3 align-top",children:"No"}),t("td",{className:"px-4 py-3 align-top",children:"No"}),t("td",{className:"px-4 py-3 align-top",children:"Yes"}),t("td",{className:"px-4 py-3 align-top",children:"Data ETL pipelines."})]}),d("tr",{children:[t("td",{className:"px-4 py-3 align-top",children:t("strong",{children:"Dagster"})}),t("td",{className:"px-4 py-3 align-top",children:"Data-asset model; local testing and reusable components; built-in data quality and catalog; orchestrates AI/data pipelines across multiple tools"}),t("td",{className:"px-4 py-3 align-top",children:"No"}),t("td",{className:"px-4 py-3 align-top",children:"No"}),t("td",{className:"px-4 py-3 align-top",children:"Yes"}),t("td",{className:"px-4 py-3 align-top",children:"Data/AI pipelines with strong observability."})]}),d("tr",{children:[t("td",{className:"px-4 py-3 align-top",children:t("strong",{children:"Hatchet"})}),t("td",{className:"px-4 py-3 align-top",children:"Modern engine focused on performance and durability; tasks and workflows as code; durable functions with guardrails and retries"}),t("td",{className:"px-4 py-3 align-top",children:"No"}),t("td",{className:"px-4 py-3 align-top",children:"No"}),t("td",{className:"px-4 py-3 align-top",children:"Yes"}),t("td",{className:"px-4 py-3 align-top",children:"High-throughput background jobs and microservices."})]}),d("tr",{children:[t("td",{className:"px-4 py-3 align-top",children:t("strong",{children:"Windmill"})}),t("td",{className:"px-4 py-3 align-top",children:"Multi-language scripts; auto-generates UI; integrated flow editor"}),t("td",{className:"px-4 py-3 align-top",children:"Yes (basic)"}),t("td",{className:"px-4 py-3 align-top",children:"RBAC & secrets only"}),t("td",{className:"px-4 py-3 align-top",children:"Yes"}),t("td",{className:"px-4 py-3 align-top",children:"Scripts into workflows and dashboards."})]})]})]})})]}),d("div",{className:"space-y-3",children:[t("h2",{className:"font-bold text-2xl",children:"Why ContractSpec differs"}),d("ul",{className:"space-y-2 text-muted-foreground",children:[d("li",{children:[t("strong",{children:"Spec-first generation"})," \u2013 Instead of writing code, you define typed specs for capabilities, data views and workflows; the compiler outputs both back-end and front-end."]}),d("li",{children:[t("strong",{children:"Policy engine"})," \u2013 Every render and mutate passes through an ABAC/PII policy decision point."]}),d("li",{children:[t("strong",{children:"Personalisation"})," \u2013 Signed OverlaySpecs allow tenant/user-specific UI changes without touching code."]}),d("li",{children:[t("strong",{children:"Unified runtime"})," \u2013 React/React-Native rendering ensures consistent experiences across web and mobile."]})]}),t("p",{className:"text-muted-foreground",children:"Workflow engines are excellent for orchestrating back-end tasks. ContractSpec builds on this by serving complete applications with runtime policy enforcement and user personalisation via TypeScript specs."})]})]})}export{b as ComparisonWorkflowEnginesPage,f as ComparisonWindmillPage,N as ComparisonOverviewPage,u as ComparisonInternalToolBuildersPage,y as ComparisonEnterprisePlatformsPage,m as ComparisonAutomationPlatformsPage};
2
+ var u=Object.defineProperty;var N=(m)=>m;function f(m,g){this[m]=N.bind(null,g)}var S=(m,g)=>{for(var y in g)u(m,y,{get:g[y],enumerable:!0,configurable:!0,set:f.bind(g,y)})};var P=(m,g)=>()=>(m&&(g=m(m=0)),g);import{jsx as e,jsxs as p}from"react/jsx-runtime";function b(){return p("div",{className:"space-y-8",children:[p("div",{className:"space-y-4",children:[e("h1",{className:"font-bold text-4xl",children:"Automation platforms"}),e("p",{className:"text-muted-foreground",children:"Automation platforms connect apps and automate tasks through triggers and actions. They serve operations and non-technical users well but stop short of generating full applications or enforcing fine-grained policies."})]}),p("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Feature comparison"}),e("div",{className:"overflow-x-auto rounded-lg border border-border/50",children:p("table",{className:"w-full text-left text-sm",children:[e("thead",{className:"bg-card/50",children:p("tr",{className:"border-border/50 border-b",children:[e("th",{className:"px-4 py-3 font-semibold",children:"Feature"}),e("th",{className:"px-4 py-3 font-semibold",children:"Zapier"}),e("th",{className:"px-4 py-3 font-semibold",children:"Make (Integromat)"}),e("th",{className:"px-4 py-3 font-semibold",children:"n8n"}),e("th",{className:"px-4 py-3 font-semibold",children:"Pipedream"})]})}),p("tbody",{className:"divide-y divide-border/50",children:[p("tr",{children:[e("td",{className:"px-4 py-3 align-top font-semibold",children:"Workflow model"}),e("td",{className:"px-4 py-3 align-top",children:"Zaps: trigger + one or more actions"}),e("td",{className:"px-4 py-3 align-top",children:"Real-time visual orchestration for AI agents and automations"}),e("td",{className:"px-4 py-3 align-top",children:"Node-based workflow builder with drag-and-drop and code; build multi-step AI agents"}),e("td",{className:"px-4 py-3 align-top",children:"Workflows connect any API; Pipedream Connect SDK adds integrations quickly"})]}),p("tr",{children:[e("td",{className:"px-4 py-3 align-top font-semibold",children:"Visual builder?"}),e("td",{className:"px-4 py-3 align-top",children:"Yes (simple; web-based)."}),e("td",{className:"px-4 py-3 align-top",children:"Yes; AI-assisted editor"}),e("td",{className:"px-4 py-3 align-top",children:"Yes; visual canvas."}),e("td",{className:"px-4 py-3 align-top",children:"Code-centric editor; no visual UI builder"})]}),p("tr",{children:[e("td",{className:"px-4 py-3 align-top font-semibold",children:"Self-host?"}),e("td",{className:"px-4 py-3 align-top",children:"No (cloud only)."}),e("td",{className:"px-4 py-3 align-top",children:"Cloud only."}),e("td",{className:"px-4 py-3 align-top",children:"Yes (Docker, self-host)"}),e("td",{className:"px-4 py-3 align-top",children:"Cloud only (hosted)."})]}),p("tr",{children:[e("td",{className:"px-4 py-3 align-top font-semibold",children:"Integrations & AI"}),e("td",{className:"px-4 py-3 align-top",children:"Connects almost 8 000 apps; limited AI features."}),e("td",{className:"px-4 py-3 align-top",children:"3 000+ pre-built apps; supports GenAI tools; GDPR/SOC2 and SSO"}),e("td",{className:"px-4 py-3 align-top",children:"Integrates LLMs; allows JS or Python code and library imports; chatbots with Slack/Teams"}),e("td",{className:"px-4 py-3 align-top",children:"MCP servers add 3 000+ APIs and 10 000+ tools to agents; AI agent builder prompts and deploys agents; SOC 2/ HIPAA/GDPR compliant"})]}),p("tr",{children:[e("td",{className:"px-4 py-3 align-top font-semibold",children:"Policy & UI generation"}),e("td",{className:"px-4 py-3 align-top",children:"No policy engine; does not generate user interfaces."}),e("td",{className:"px-4 py-3 align-top",children:"No policy engine; does not generate UIs beyond a workflow dashboard."}),e("td",{className:"px-4 py-3 align-top",children:"No policy engine; no UI builder"}),e("td",{className:"px-4 py-3 align-top",children:"No policy engine; does not generate UI."})]})]})]})})]}),p("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Why ContractSpec differs"}),p("ul",{className:"space-y-2 text-muted-foreground",children:[p("li",{children:[e("strong",{children:"Full application generation"})," \u2013 ContractSpec compiles specs into back-end, events and user interfaces for both web and mobile."]}),p("li",{children:[e("strong",{children:"Policy enforcement"})," \u2013 A built-in policy engine governs PII access and mutations across the UI."]}),p("li",{children:[e("strong",{children:"Customisation via overlays"})," \u2013 Non-technical users can safely personalise layouts while respecting policies."]}),p("li",{children:[e("strong",{children:"Extensible capabilities"})," \u2013 Connect to external APIs and services via capability providers while maintaining type safety."]})]}),e("p",{className:"text-muted-foreground",children:"Automation tools simplify integrations and tasks; ContractSpec goes further by generating a complete, policy-safe application around your data and processes."})]})]})}import h from"@contractspec/lib.ui-link";import{jsx as l,jsxs as r}from"react/jsx-runtime";function v(){return r("div",{className:"space-y-8",children:[r("div",{className:"space-y-4",children:[l("h1",{className:"font-bold text-4xl",children:"Enterprise orchestration platforms"}),l("p",{className:"text-muted-foreground",children:"Enterprise orchestration platforms manage mission-critical workloads and integrate deeply with ERP systems. They prioritise governance, reliability and compliance, but they do not provide spec-driven app generation or per-user customisation."})]}),r("div",{className:"space-y-4",children:[l("h2",{className:"font-bold text-2xl",children:"Redwood RunMyJobs"}),r("p",{className:"text-muted-foreground",children:[l(h,{href:"https://www.redwood.com/workload-automation/",className:"underline decoration-dotted underline-offset-4 hover:text-foreground",target:"_blank",rel:"noreferrer",children:"RunMyJobs by Redwood"})," ","is a cloud-native service orchestration and automation platform. Key attributes include:"]}),r("ul",{className:"space-y-2 text-muted-foreground",children:[r("li",{children:[l("strong",{children:"Self-service portal."})," Business users can run and customise workloads while IT ensures governance and compliance"]}),r("li",{children:[l("strong",{children:"Full-stack orchestration."})," Integrates with both SAP and non-SAP systems; Redwood is recognised as a Leader in Gartner\u2019s Magic Quadrant for service orchestration"]}),r("li",{children:[l("strong",{children:"Observability and AI insights."})," Dashboards and AI-enhanced analytics identify bottlenecks and forecast issues"]}),r("li",{children:[l("strong",{children:"Deep SAP integration."})," Supports SAP\u2019s latest technologies and orchestrates mission-critical business processes"]}),r("li",{children:[l("strong",{children:"Connectors & wizard."})," Provides pre-built connectors and a wizard to link on-prem and cloud systems"]})]})]}),r("div",{className:"space-y-4",children:[l("h3",{className:"font-semibold text-xl",children:"Comparison with ContractSpec"}),l("div",{className:"overflow-x-auto rounded-lg border border-border/50",children:r("table",{className:"w-full text-left text-sm",children:[l("thead",{className:"bg-card/50",children:r("tr",{className:"border-border/50 border-b",children:[l("th",{className:"px-4 py-3 font-semibold",children:"Aspect"}),l("th",{className:"px-4 py-3 font-semibold",children:"RunMyJobs"}),l("th",{className:"px-4 py-3 font-semibold",children:"ContractSpec"})]})}),r("tbody",{className:"divide-y divide-border/50",children:[r("tr",{children:[l("td",{className:"px-4 py-3 align-top",children:l("strong",{children:"Target user"})}),l("td",{className:"px-4 py-3 align-top",children:"Enterprise IT and operations teams automating SAP and mission-critical workflows."}),l("td",{className:"px-4 py-3 align-top",children:"Developers, product teams and SMBs wanting to generate policy-safe apps with customisable UIs."})]}),r("tr",{children:[l("td",{className:"px-4 py-3 align-top",children:l("strong",{children:"Workload focus"})}),l("td",{className:"px-4 py-3 align-top",children:"Service orchestration and job scheduling across ERP/legacy systems"}),l("td",{className:"px-4 py-3 align-top",children:"End-to-end application generation with back-end, UI and policies."})]}),r("tr",{children:[l("td",{className:"px-4 py-3 align-top",children:l("strong",{children:"User interface"})}),l("td",{className:"px-4 py-3 align-top",children:"Self-service portal to run/monitor jobs; no custom UI generation for new apps."}),l("td",{className:"px-4 py-3 align-top",children:"Generates React/React-Native UIs from specs; users can personalise layout via overlays."})]}),r("tr",{children:[l("td",{className:"px-4 py-3 align-top",children:l("strong",{children:"Open source"})}),l("td",{className:"px-4 py-3 align-top",children:"Proprietary SaaS; enterprise agreements."}),l("td",{className:"px-4 py-3 align-top",children:"Core compiler is proprietary; SDK and certain modules may be open-source; offers hosted and on-prem options."})]}),r("tr",{children:[l("td",{className:"px-4 py-3 align-top",children:l("strong",{children:"Policy & personalisation"})}),l("td",{className:"px-4 py-3 align-top",children:"IT controls governance; no per-user overlay concept."}),l("td",{className:"px-4 py-3 align-top",children:"Built-in policy engine and per-user overlays for safe personalisation."})]})]})]})}),l("p",{className:"text-muted-foreground",children:"Redwood RunMyJobs is designed for orchestrating enterprise workloads and SAP processes. ContractSpec targets a different problem: generating complete applications from typed specs and letting end users adapt them safely."})]})]})}import{jsx as a,jsxs as s}from"react/jsx-runtime";function w(){return s("div",{className:"space-y-8",children:[s("div",{className:"space-y-4",children:[a("h1",{className:"font-bold text-4xl",children:"Internal-tool builders"}),a("p",{className:"text-muted-foreground",children:"Internal-tool builders let teams quickly assemble dashboards and admin panels. These platforms often provide drag-and-drop UIs and connectors to databases and APIs, but they rely on developers to write custom code for business logic and seldom enforce policies across surfaces."})]}),s("div",{className:"space-y-4",children:[a("h2",{className:"font-bold text-2xl",children:"Feature comparison"}),a("div",{className:"overflow-x-auto rounded-lg border border-border/50",children:s("table",{className:"w-full text-left text-sm",children:[a("thead",{className:"bg-card/50",children:s("tr",{className:"border-border/50 border-b",children:[a("th",{className:"px-4 py-3 font-semibold",children:"Feature"}),a("th",{className:"px-4 py-3 font-semibold",children:"Retool"}),a("th",{className:"px-4 py-3 font-semibold",children:"Appsmith"}),a("th",{className:"px-4 py-3 font-semibold",children:"ToolJet"}),a("th",{className:"px-4 py-3 font-semibold",children:"Budibase"})]})}),s("tbody",{className:"divide-y divide-border/50",children:[s("tr",{children:[a("td",{className:"px-4 py-3 align-top font-semibold",children:"UI builder"}),a("td",{className:"px-4 py-3 align-top",children:"Drag-and-drop canvas; shape UI components easily"}),a("td",{className:"px-4 py-3 align-top",children:"Visual builder with drag-and-drop widgets"}),a("td",{className:"px-4 py-3 align-top",children:"Drag-and-drop UI widgets (tables, charts, forms)"}),a("td",{className:"px-4 py-3 align-top",children:"Pre-built components and templates for mobile/desktop"})]}),s("tr",{children:[a("td",{className:"px-4 py-3 align-top font-semibold",children:"Custom code & logic"}),a("td",{className:"px-4 py-3 align-top",children:"Full code insertion anywhere via IDE"}),a("td",{className:"px-4 py-3 align-top",children:"Logic via JavaScript or natural-language prompts in a central IDE"}),a("td",{className:"px-4 py-3 align-top",children:"Supports business logic in JavaScript or Python queries"}),a("td",{className:"px-4 py-3 align-top",children:"Custom logic via JavaScript; plugins and external embeds"})]}),s("tr",{children:[a("td",{className:"px-4 py-3 align-top font-semibold",children:"Data connectors"}),a("td",{className:"px-4 py-3 align-top",children:"Wide support for databases and APIs (PostgreSQL, MongoDB, GraphQL, etc.)."}),a("td",{className:"px-4 py-3 align-top",children:"Connects to LLMs and databases"}),a("td",{className:"px-4 py-3 align-top",children:"Built-in database; connects to PostgreSQL, MongoDB, APIs, GraphQL, SaaS"}),a("td",{className:"px-4 py-3 align-top",children:"Connects to external databases, REST, CSV or built-in DB"})]}),s("tr",{children:[a("td",{className:"px-4 py-3 align-top font-semibold",children:"Open source & self-host"}),a("td",{className:"px-4 py-3 align-top",children:"Proprietary; cloud or on-prem subscription."}),a("td",{className:"px-4 py-3 align-top",children:"Open source (Apache-2.0); self-host or cloud."}),a("td",{className:"px-4 py-3 align-top",children:"Open source; self-host via Docker or cloud."}),a("td",{className:"px-4 py-3 align-top",children:"Open source; self-host via Docker/Kubernetes"})]}),s("tr",{children:[a("td",{className:"px-4 py-3 align-top font-semibold",children:"Policy & personalisation"}),a("td",{className:"px-4 py-3 align-top",children:"No built-in policy engine; personalisation limited to user roles."}),a("td",{className:"px-4 py-3 align-top",children:"No typed policy engine; customisation depends on user roles."}),a("td",{className:"px-4 py-3 align-top",children:"No policy engine; personalisation via user roles."}),a("td",{className:"px-4 py-3 align-top",children:"No policy engine; personalisation via RBAC & SSO"})]})]})]})})]}),s("div",{className:"space-y-3",children:[a("h2",{className:"font-bold text-2xl",children:"ContractSpec\u2019s differences"}),s("ul",{className:"space-y-2 text-muted-foreground",children:[s("li",{children:[a("strong",{children:"Typed specifications"})," produce both the API and UI. You define capabilities, data views and workflows, and the compiler generates code, forms and screens\u2014no manual widget wiring."]}),s("li",{children:[a("strong",{children:"Policy enforcement"})," at run time ensures PII and ABAC rules across the entire app."]}),s("li",{children:[a("strong",{children:"Overlay personalisation"})," allows tenants and users to change layouts safely without code."]}),s("li",{children:[a("strong",{children:"Unified mobile/web runtime"})," means you don\u2019t need separate builders for React Native vs web."]})]}),a("p",{className:"text-muted-foreground",children:"Internal-tool builders are useful for quick dashboards. ContractSpec extends this by generating the whole stack from specs and enforcing policies throughout."})]})]})}import{jsx as n,jsxs as c}from"react/jsx-runtime";function I(){return c("div",{className:"space-y-8",children:[c("div",{className:"space-y-4",children:[n("h1",{className:"font-bold text-4xl",children:"Comparison overview"}),n("p",{className:"text-muted-foreground",children:"ContractSpec sits at the intersection of several tool categories. To appreciate its unique offering\u2014typed specifications for back-end, front-end, workflows and policies with a unified web/mobile runtime\u2014this section compares it to related products."}),c("p",{className:"text-muted-foreground",children:["ContractSpec uses ",n("strong",{children:"runtime adapters"})," to serve typed"," ",n("strong",{children:"Operations"})," (Commands/Queries),"," ",n("strong",{children:"DataViews"}),", ",n("strong",{children:"Workflows"}),", and"," ",n("strong",{children:"Policies"})," as REST/GraphQL/MCP endpoints. A"," ",n("strong",{children:"policy decision point"})," governs every operation, and"," ",n("strong",{children:"OverlaySpecs"})," allow non-technical users to personalise screens safely. Few competitors offer this combination of runtime type safety, policy enforcement, and end-user customisation."]})]}),c("div",{className:"space-y-4",children:[n("h2",{className:"font-bold text-2xl",children:"Tool categories"}),n("div",{className:"overflow-x-auto rounded-lg border border-border/50",children:c("table",{className:"w-full text-left text-sm",children:[n("thead",{className:"bg-card/50",children:c("tr",{className:"border-border/50 border-b",children:[n("th",{className:"px-4 py-3 font-semibold",children:"Category"}),n("th",{className:"px-4 py-3 font-semibold",children:"Examples"}),n("th",{className:"px-4 py-3 font-semibold",children:"What they do"}),n("th",{className:"px-4 py-3 font-semibold",children:"Limitations"})]})}),c("tbody",{className:"divide-y divide-border/50",children:[c("tr",{children:[n("td",{className:"px-4 py-3 align-top",children:n("strong",{children:"Workflow engines"})}),n("td",{className:"px-4 py-3 align-top",children:"Prefect, Kestra, Temporal, Airflow, Dagster, Hatchet, Windmill"}),n("td",{className:"px-4 py-3 align-top",children:"Orchestrate code or data pipelines; handle retries, scheduling and observability"}),n("td",{className:"px-4 py-3 align-top",children:"Require writing code; no automatic UI generation or policy enforcement."})]}),c("tr",{children:[n("td",{className:"px-4 py-3 align-top",children:n("strong",{children:"Internal-tool builders"})}),n("td",{className:"px-4 py-3 align-top",children:"Retool, Appsmith, ToolJet, Budibase"}),n("td",{className:"px-4 py-3 align-top",children:"Drag-and-drop dashboards and admin panels; connect to databases/APIs"}),n("td",{className:"px-4 py-3 align-top",children:"No typed back-end spec; limited enforcement of policies; custom code glues logic."})]}),c("tr",{children:[n("td",{className:"px-4 py-3 align-top",children:n("strong",{children:"Automation platforms"})}),n("td",{className:"px-4 py-3 align-top",children:"Zapier, Make, n8n, Pipedream"}),n("td",{className:"px-4 py-3 align-top",children:"Connect apps via triggers and actions; visual or low-code interfaces"}),n("td",{className:"px-4 py-3 align-top",children:"Automate tasks but do not generate full apps or enforce per-field policies."})]}),c("tr",{children:[n("td",{className:"px-4 py-3 align-top",children:n("strong",{children:"Enterprise orchestrators"})}),n("td",{className:"px-4 py-3 align-top",children:"Redwood RunMyJobs"}),n("td",{className:"px-4 py-3 align-top",children:"Automate mission-critical workloads with self-service portals and SAP integrations"}),n("td",{className:"px-4 py-3 align-top",children:"Focus on IT workloads; not built for custom app creation or per-user customisation."})]})]})]})}),n("p",{className:"text-muted-foreground",children:"Use the pages below to explore each group in detail and see how ContractSpec compares."})]})]})}import{jsx as o,jsxs as i}from"react/jsx-runtime";function C(){return i("div",{className:"space-y-8",children:[i("div",{className:"space-y-4",children:[o("h1",{className:"font-bold text-4xl",children:"Windmill"}),i("p",{className:"text-muted-foreground",children:["Windmill is an open-source platform that turns"," ",o("strong",{children:"scripts"})," into endpoints, workflows and UIs. It seeks to remove boilerplate by generating interfaces and workflows around existing code"]})]}),i("div",{className:"space-y-4",children:[o("h2",{className:"font-bold text-2xl",children:"Platform features"}),i("ul",{className:"space-y-3 text-muted-foreground",children:[i("li",{children:[o("strong",{children:"Script-driven model."})," Write scripts in TypeScript, Python, Go, PHP, Bash, C#, SQL or Rust; Windmill infers dependencies, creates lockfiles and JSON schemas, then serves minimal UIs automatically"]}),i("li",{children:[o("strong",{children:"Visual flow editor."})," Compose scripts into workflows with retries, error handling, loops, branching, suspending flows and approval steps"]}),i("li",{children:[o("strong",{children:"Low-code UI builder."})," Build dashboards and admin panels using inline scripts and trigger flows from the UI"]}),i("li",{children:[o("strong",{children:"Enterprise readiness."})," Features include RBAC permissions, secret management, OAuth handling, CLI/git sync, scheduling and webhooks"]}),i("li",{children:[o("strong",{children:"Use cases."})," Deploy scripts as webhooks or cron jobs; create \u201Capplicative workflows\u201D combining external APIs; build ETLs and interactive dashboards"]}),i("li",{children:[o("strong",{children:"Open source & self-hosting."})," Windmill emphasises an open-source codebase and self-hosting options"]})]})]}),i("div",{className:"space-y-4",children:[o("h2",{className:"font-bold text-2xl",children:"Comparison with ContractSpec"}),o("div",{className:"overflow-x-auto rounded-lg border border-border/50",children:i("table",{className:"w-full text-left text-sm",children:[o("thead",{className:"bg-card/50",children:i("tr",{className:"border-border/50 border-b",children:[o("th",{className:"px-4 py-3 font-semibold",children:"Feature"}),o("th",{className:"px-4 py-3 font-semibold",children:"Windmill"}),o("th",{className:"px-4 py-3 font-semibold",children:"ContractSpec"})]})}),i("tbody",{className:"divide-y divide-border/50",children:[i("tr",{children:[o("td",{className:"px-4 py-3 align-top",children:o("strong",{children:"Entry model"})}),o("td",{className:"px-4 py-3 align-top",children:"Write scripts; platform auto-generates UI and workflows"}),o("td",{className:"px-4 py-3 align-top",children:"Define typed specs (Capabilities, DataViews, Workflows, Policies); compiler outputs back-end, front-end and forms."})]}),i("tr",{children:[o("td",{className:"px-4 py-3 align-top",children:o("strong",{children:"Language support"})}),o("td",{className:"px-4 py-3 align-top",children:"20+ languages via embedded runtimes"}),o("td",{className:"px-4 py-3 align-top",children:"Uses TypeScript/JavaScript for providers; supports other back-ends through capability providers."})]}),i("tr",{children:[o("td",{className:"px-4 py-3 align-top",children:o("strong",{children:"UI generation"})}),o("td",{className:"px-4 py-3 align-top",children:"Minimal UI forms from script parameters; low-code app builder"}),o("td",{className:"px-4 py-3 align-top",children:"Generates full web and mobile UIs from specs; user layouts can be customised via signed overlays."})]}),i("tr",{children:[o("td",{className:"px-4 py-3 align-top",children:o("strong",{children:"Policy & personalization"})}),o("td",{className:"px-4 py-3 align-top",children:"RBAC and secret management; no per-user overlay concept"}),o("td",{className:"px-4 py-3 align-top",children:"Built-in policy engine enforcing ABAC/PII on every render/mutate; overlays allow safe per-user customisation."})]}),i("tr",{children:[o("td",{className:"px-4 py-3 align-top",children:o("strong",{children:"Open source"})}),o("td",{className:"px-4 py-3 align-top",children:"Fully open source and self-hostable"}),o("td",{className:"px-4 py-3 align-top",children:"Closed-source core (SDK is open); offers hosted and on-prem modes."})]}),i("tr",{children:[o("td",{className:"px-4 py-3 align-top",children:o("strong",{children:"Ideal for"})}),o("td",{className:"px-4 py-3 align-top",children:"Teams wanting to expose scripts as APIs, workflows or dashboards without heavy infrastructure."}),o("td",{className:"px-4 py-3 align-top",children:"Teams needing a spec-driven platform that generates code and UI, enforces policies and lets non-technical users tailor the experience."})]})]})]})}),i("p",{className:"text-muted-foreground",children:["Windmill excels at converting scripts into workflows and admin panels. ContractSpec takes a ",o("strong",{children:"spec-first"})," approach, generating the entire stack and enforcing policies, making it suitable for long-lived applications that must evolve safely."]})]})]})}import{jsx as t,jsxs as d}from"react/jsx-runtime";function k(){return d("div",{className:"space-y-8",children:[d("div",{className:"space-y-4",children:[t("h1",{className:"font-bold text-4xl",children:"Workflow engines"}),t("p",{className:"text-muted-foreground",children:"Workflow engines orchestrate long-running tasks and data pipelines. They provide retries, scheduling and visibility, but most expect developers to write code and do not generate user interfaces. Here\u2019s how the major engines compare to ContractSpec."})]}),d("div",{className:"space-y-4",children:[t("h2",{className:"font-bold text-2xl",children:"Key differences summary"}),t("div",{className:"overflow-x-auto rounded-lg border border-border/50",children:d("table",{className:"w-full text-left text-sm",children:[t("thead",{className:"bg-card/50",children:d("tr",{className:"border-border/50 border-b",children:[t("th",{className:"px-4 py-3 font-semibold",children:"Engine"}),t("th",{className:"px-4 py-3 font-semibold",children:"Core strengths"}),t("th",{className:"px-4 py-3 font-semibold",children:"UI generation?"}),t("th",{className:"px-4 py-3 font-semibold",children:"Policy/PII enforcement?"}),t("th",{className:"px-4 py-3 font-semibold",children:"Self-host?"}),t("th",{className:"px-4 py-3 font-semibold",children:"Primary use"})]})}),d("tbody",{className:"divide-y divide-border/50",children:[d("tr",{children:[t("td",{className:"px-4 py-3 align-top",children:t("strong",{children:"Prefect"})}),t("td",{className:"px-4 py-3 align-top",children:"Python-native; dynamic DAGs adapt to change; annotate code without rewriting; strong observability and audit logs"}),t("td",{className:"px-4 py-3 align-top",children:"No"}),t("td",{className:"px-4 py-3 align-top",children:"No"}),t("td",{className:"px-4 py-3 align-top",children:"Yes"}),t("td",{className:"px-4 py-3 align-top",children:"Data pipelines and dynamic workflows."})]}),d("tr",{children:[t("td",{className:"px-4 py-3 align-top",children:t("strong",{children:"Kestra"})}),t("td",{className:"px-4 py-3 align-top",children:"Declarative YAML; event-driven triggers; mix of code and no-code; write logic in Python/R/Java/Julia/Ruby; deploy anywhere"}),t("td",{className:"px-4 py-3 align-top",children:"No"}),t("td",{className:"px-4 py-3 align-top",children:"No"}),t("td",{className:"px-4 py-3 align-top",children:"Yes"}),t("td",{className:"px-4 py-3 align-top",children:"Data pipelines and hybrid orchestration."})]}),d("tr",{children:[t("td",{className:"px-4 py-3 align-top",children:t("strong",{children:"Temporal"})}),t("td",{className:"px-4 py-3 align-top",children:"Durable execution; workflows never lose state; multi-language SDKs; automatic retries"}),t("td",{className:"px-4 py-3 align-top",children:"No"}),t("td",{className:"px-4 py-3 align-top",children:"No"}),t("td",{className:"px-4 py-3 align-top",children:"Yes"}),t("td",{className:"px-4 py-3 align-top",children:"Durable microservice and business workflows."})]}),d("tr",{children:[t("td",{className:"px-4 py-3 align-top",children:t("strong",{children:"Airflow"})}),t("td",{className:"px-4 py-3 align-top",children:"Open-source; define workflows as Python code; schedule and monitor via UI; extensible via custom operators"}),t("td",{className:"px-4 py-3 align-top",children:"No"}),t("td",{className:"px-4 py-3 align-top",children:"No"}),t("td",{className:"px-4 py-3 align-top",children:"Yes"}),t("td",{className:"px-4 py-3 align-top",children:"Data ETL pipelines."})]}),d("tr",{children:[t("td",{className:"px-4 py-3 align-top",children:t("strong",{children:"Dagster"})}),t("td",{className:"px-4 py-3 align-top",children:"Data-asset model; local testing and reusable components; built-in data quality and catalog; orchestrates AI/data pipelines across multiple tools"}),t("td",{className:"px-4 py-3 align-top",children:"No"}),t("td",{className:"px-4 py-3 align-top",children:"No"}),t("td",{className:"px-4 py-3 align-top",children:"Yes"}),t("td",{className:"px-4 py-3 align-top",children:"Data/AI pipelines with strong observability."})]}),d("tr",{children:[t("td",{className:"px-4 py-3 align-top",children:t("strong",{children:"Hatchet"})}),t("td",{className:"px-4 py-3 align-top",children:"Modern engine focused on performance and durability; tasks and workflows as code; durable functions with guardrails and retries"}),t("td",{className:"px-4 py-3 align-top",children:"No"}),t("td",{className:"px-4 py-3 align-top",children:"No"}),t("td",{className:"px-4 py-3 align-top",children:"Yes"}),t("td",{className:"px-4 py-3 align-top",children:"High-throughput background jobs and microservices."})]}),d("tr",{children:[t("td",{className:"px-4 py-3 align-top",children:t("strong",{children:"Windmill"})}),t("td",{className:"px-4 py-3 align-top",children:"Multi-language scripts; auto-generates UI; integrated flow editor"}),t("td",{className:"px-4 py-3 align-top",children:"Yes (basic)"}),t("td",{className:"px-4 py-3 align-top",children:"RBAC & secrets only"}),t("td",{className:"px-4 py-3 align-top",children:"Yes"}),t("td",{className:"px-4 py-3 align-top",children:"Scripts into workflows and dashboards."})]})]})]})})]}),d("div",{className:"space-y-3",children:[t("h2",{className:"font-bold text-2xl",children:"Why ContractSpec differs"}),d("ul",{className:"space-y-2 text-muted-foreground",children:[d("li",{children:[t("strong",{children:"Spec-first generation"})," \u2013 Instead of writing code, you define typed specs for capabilities, data views and workflows; the compiler outputs both back-end and front-end."]}),d("li",{children:[t("strong",{children:"Policy engine"})," \u2013 Every render and mutate passes through an ABAC/PII policy decision point."]}),d("li",{children:[t("strong",{children:"Personalisation"})," \u2013 Signed OverlaySpecs allow tenant/user-specific UI changes without touching code."]}),d("li",{children:[t("strong",{children:"Unified runtime"})," \u2013 React/React-Native rendering ensures consistent experiences across web and mobile."]})]}),t("p",{className:"text-muted-foreground",children:"Workflow engines are excellent for orchestrating back-end tasks. ContractSpec builds on this by serving complete applications with runtime policy enforcement and user personalisation via TypeScript specs."})]})]})}export{k as ComparisonWorkflowEnginesPage,C as ComparisonWindmillPage,I as ComparisonOverviewPage,w as ComparisonInternalToolBuildersPage,v as ComparisonEnterprisePlatformsPage,b as ComparisonAutomationPlatformsPage};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- var i=[{key:"start",title:"Start",description:"Install ContractSpec, wire a first contract, and adopt it into an existing codebase."},{key:"core-model",title:"Core Model",description:"Learn how contracts, generated surfaces, policies, overlays, and safe regeneration fit together."},{key:"build",title:"Build",description:"Use practical guides, libraries, architecture patterns, and examples to ship real surfaces."},{key:"operate",title:"Operate",description:"Run the system safely with governance, auditability, tracing, and operator-grade controls."},{key:"integrations",title:"Integrations",description:"Connect models, messaging, storage, payments, search, and external systems through typed bindings."},{key:"reference",title:"Reference",description:"Search generated contract docs, inspect example packages, and navigate the system as source of truth."},{key:"studio",title:"Studio",description:"Understand what Studio adds on top of the open system and when to adopt it."}],o=[{href:"/docs",title:"Documentation",description:"OSS-first documentation for ContractSpec, the open spec system for AI-native software.",audience:"oss",ctaMode:"oss-next"},{href:"/docs/getting-started/start-here",title:"Start here",description:"The fastest path from install to your first contract and generated surface.",section:"start",order:10,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/getting-started/installation",title:"Installation",description:"Install the CLI and core packages, then prepare a workspace for incremental adoption.",section:"start",order:20,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/getting-started/hello-world",title:"Hello world",description:"Define a first operation, generate the surface, and verify the end-to-end loop.",section:"start",order:30,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/getting-started/compatibility",title:"Compatibility",description:"Check the supported runtimes, package managers, and adoption assumptions before rollout.",section:"start",order:40,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/getting-started/tools",title:"Developer tools",description:"Use the CLI, editors, and helper tooling that make the OSS workflow practical day to day.",section:"start",order:50,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/getting-started/troubleshooting",title:"Troubleshooting",description:"Resolve the common installation, validation, and runtime mistakes you hit during first adoption.",section:"start",order:60,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/specs",title:"Contracts and specs",description:"Understand the spec model that drives generated surfaces, validation, policy, and safe regeneration.",section:"core-model",order:10,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/specs/capabilities",title:"Capabilities",description:"Model commands, queries, presentations, and events as explicit contract surfaces.",section:"core-model",order:20,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/specs/dataviews",title:"Data views",description:"Define queryable, presentable views that stay aligned with the rest of the system.",section:"core-model",order:30,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/specs/workflows",title:"Workflows",description:"Compose multi-step behavior from typed contracts, policies, and runtime orchestration.",section:"core-model",order:40,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/specs/policy",title:"Policy",description:"Apply consistent governance, access rules, and risk controls across every surface.",section:"core-model",order:50,primaryNav:!0,audience:"operator",ctaMode:"oss-next"},{href:"/docs/specs/overlays",title:"Overlays",description:"Customize generated surfaces safely without forking the system or breaking regeneration.",section:"core-model",order:60,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/specs/module-bundles",title:"Module bundles",description:"Define AI-native surfaces as typed bundle specs that resolve into personalized, auditable runtime plans.",section:"core-model",order:70,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/specs/connect",title:"ContractSpec Connect",description:"Guard coding-agent edits and shell actions with task-scoped context, plan packets, patch verdicts, and review packets.",section:"core-model",order:80,navTitle:"Connect",primaryNav:!0,audience:"operator",ctaMode:"oss-next"},{href:"/docs/specs/builder-control-plane",title:"Builder control plane",description:"Route multimodal authoring work through governed builder contracts, provider policies, readiness gates, and mobile review flows.",section:"core-model",order:90,primaryNav:!0,audience:"studio-bridge",ctaMode:"studio-bridge"},{href:"/docs/guides/contract-types",title:"Contract types",description:"Choose the right contract surface for the behavior you want to make explicit.",section:"core-model",order:100,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/guides",title:"Guides",description:"Follow concrete adoption paths for existing apps, generated docs, CI gating, and typed surfaces.",section:"build",order:10,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/guides/nextjs-one-endpoint",title:"Adopt one endpoint in Next.js",description:"Start with one endpoint, one contract, and one generated surface in an existing Next.js app.",section:"build",order:20,navTitle:"Next.js endpoint",primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/guides/import-existing-codebases",title:"Import an existing codebase",description:"Stabilize a live codebase incrementally instead of rewriting it from scratch.",section:"build",order:30,navTitle:"Import existing code",primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/guides/spec-validation-and-typing",title:"Validation and typing",description:"Keep runtime validation and TypeScript types aligned from the same source definitions.",section:"build",order:40,navTitle:"Validation and typing",primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/guides/generate-docs-clients-schemas",title:"Generate docs, clients, and schemas",description:"Export stable docs and client-facing artifacts from the same contract layer.",section:"build",order:50,navTitle:"Generate docs and clients",primaryNav:!0,audience:"oss",ctaMode:"reference"},{href:"/docs/guides/docs-generation-pipeline",title:"Docs generation pipeline",description:"Feed generated docs into the public docs site without breaking source-of-truth ownership.",section:"build",order:60,navTitle:"Docs pipeline",primaryNav:!0,audience:"oss",ctaMode:"reference"},{href:"/docs/guides/first-module-bundle",title:"Build a first module bundle",description:"Define one bundle spec, resolve a personalized surface plan, and render it through the React host layer.",section:"build",order:65,navTitle:"First module bundle",primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/guides/host-builder-workbench",title:"Host the Builder workbench",description:"Load a Builder workspace snapshot, wire common commands, and keep runtime mode plus mobile review flows explicit.",section:"build",order:66,navTitle:"Host Builder workbench",primaryNav:!0,audience:"studio-bridge",ctaMode:"studio-bridge"},{href:"/docs/guides/connect-in-a-repo",title:"Use Connect in a repo",description:"Enable Connect in workspace config, verify agent actions, and inspect local review and replay artifacts.",section:"build",order:67,navTitle:"Connect in a repo",primaryNav:!0,audience:"operator",ctaMode:"oss-next"},{href:"/docs/libraries",title:"Libraries overview",description:"Navigate the core libraries, runtimes, and system packages that make up the open foundation.",section:"build",order:70,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/architecture",title:"Architecture",description:"See how the spec layer, runtimes, integrations, and multi-surface outputs fit together.",section:"build",order:80,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/safety",title:"Operate safely",description:"Add auditability, migrations, policy controls, and trustworthy release behavior from the start.",section:"operate",order:10,navTitle:"Safety overview",primaryNav:!0,audience:"operator",ctaMode:"oss-next"},{href:"/docs/guides/ci-contract-diff-gating",title:"CI diff gating",description:"Use deterministic checks to block drift and risky changes before they reach production.",section:"operate",order:20,primaryNav:!0,audience:"operator",ctaMode:"oss-next"},{href:"/docs/guides/release-capsules",title:"Author release capsules",description:"Pair changesets with structured release capsules, generate release artifacts, and keep changelog plus docs surfaces aligned.",section:"operate",order:25,navTitle:"Release capsules",primaryNav:!0,audience:"operator",ctaMode:"reference"},{href:"/docs/safety/security-trust",title:"Security and trust",description:"Understand the trust model, artifact validation expectations, and operational boundaries.",section:"operate",order:30,primaryNav:!0,audience:"operator",ctaMode:"oss-next"},{href:"/docs/safety/auditing",title:"Audit trails",description:"Track changes, policy decisions, and operational actions with a clear evidence trail.",section:"operate",order:40,primaryNav:!0,audience:"operator",ctaMode:"oss-next"},{href:"/docs/safety/migrations",title:"Migrations",description:"Evolve schemas and data safely without abandoning the contract layer.",section:"operate",order:50,primaryNav:!0,audience:"operator",ctaMode:"oss-next"},{href:"/docs/safety/tenant-isolation",title:"Tenant isolation",description:"Keep tenant data, config, policies, and integrations separated at runtime.",section:"operate",order:60,primaryNav:!0,audience:"operator",ctaMode:"oss-next"},{href:"/docs/knowledge",title:"Knowledge and context",description:"Bind trusted knowledge sources to the system without losing governance or isolation.",section:"operate",order:70,primaryNav:!0,audience:"operator",ctaMode:"oss-next"},{href:"/docs/advanced/telemetry",title:"Telemetry",description:"Instrument surfaces, collect evidence, and keep observability aligned with the contract model.",section:"operate",order:80,primaryNav:!0,audience:"operator",ctaMode:"oss-next"},{href:"/docs/advanced/workflow-monitoring",title:"Workflow monitoring",description:"Observe multi-step execution with enough context to understand failures and regressions.",section:"operate",order:90,primaryNav:!0,audience:"operator",ctaMode:"oss-next"},{href:"/docs/ops/distributed-tracing",title:"Distributed tracing",description:"Trace contract execution across integrations, workflows, and generated surfaces.",section:"operate",order:100,primaryNav:!0,audience:"operator",ctaMode:"oss-next"},{href:"/docs/integrations",title:"Integrations overview",description:"Understand the binding model for external services, providers, and tenant-owned connections.",section:"integrations",order:10,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/integrations/spec-model",title:"Integration spec model",description:"Define what an integration provides before wiring it into an app or runtime.",section:"integrations",order:20,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/integrations/openai",title:"OpenAI integration",description:"Connect OpenAI through typed capabilities, explicit provider config, and governed runtime usage.",section:"integrations",order:30,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/integrations/mistral",title:"Mistral integration",description:"Use Mistral through the same provider contract model and runtime guardrails.",section:"integrations",order:40,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/integrations/qdrant",title:"Qdrant integration",description:"Store and retrieve knowledge embeddings with explicit provider configuration and ownership.",section:"integrations",order:50,primaryNav:!0,audience:"operator",ctaMode:"oss-next"},{href:"/docs/integrations/stripe",title:"Stripe integration",description:"Bind payments and billing behavior without smearing provider logic across the codebase.",section:"integrations",order:60,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/integrations/twilio",title:"Twilio integration",description:"Handle messaging and telephony through typed transport boundaries and explicit configuration.",section:"integrations",order:70,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/integrations/github",title:"GitHub integration",description:"Push execution context into GitHub workflows and automation surfaces without hidden glue.",section:"integrations",order:80,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/reference",title:"Contract reference",description:"Browse the generated reference index for public contract surfaces, versions, and examples.",section:"reference",order:10,primaryNav:!0,audience:"reference",ctaMode:"reference"},{href:"/docs/examples",title:"Examples",description:"Explore runnable examples and use them as reference implementations for new systems.",section:"reference",order:20,primaryNav:!0,audience:"reference",ctaMode:"reference"},{href:"/docs/studio",title:"Studio overview",description:"See what Studio adds on top of OSS ContractSpec and when a team should adopt the operating layer.",section:"studio",order:10,primaryNav:!0,audience:"studio-bridge",ctaMode:"studio-bridge"},{href:"/docs/manifesto",title:"Manifesto",description:"Why ContractSpec is built as an open system, how incremental adoption works, and why Studio stays additive.",audience:"secondary"},{href:"/docs/intent/contract-first-api",title:"Contract-first API",description:"Use contracts as the durable source of truth for API behavior and generated surfaces.",audience:"secondary"},{href:"/docs/intent/spec-driven-development",title:"Spec-driven development",description:"See how explicit specs stabilize change across APIs, UI, data, and agent-facing surfaces.",audience:"secondary"},{href:"/docs/intent/deterministic-codegen",title:"Deterministic regeneration",description:"Understand safe regeneration, conflict boundaries, and why teams keep control of the output.",audience:"secondary"},{href:"/docs/intent/schema-validation-typescript",title:"Schema validation and TypeScript",description:"Keep schema, runtime validation, and TypeScript behavior aligned without duplicate work.",audience:"secondary"},{href:"/docs/intent/openapi-alternative",title:"OpenAPI alternative",description:"Compare a multi-surface contract system with API-only description tooling.",audience:"secondary"},{href:"/docs/intent/generate-client-from-schema",title:"Generate client from schema",description:"Generate client-facing artifacts from the same source that drives runtime behavior.",audience:"secondary"},{href:"/docs/comparison",title:"Comparison overview",description:"Compare ContractSpec with workflow engines, internal-tool builders, and enterprise orchestration products.",audience:"secondary"},{href:"/docs/comparison/workflow-engines",title:"Workflow engines",description:"Contrast a contract system with workflow-only orchestration approaches.",audience:"secondary"},{href:"/docs/comparison/internal-tool-builders",title:"Internal-tool builders",description:"Compare ContractSpec with builders that optimize for screens instead of durable system contracts.",audience:"secondary"},{href:"/docs/comparison/automation-platforms",title:"Automation platforms",description:"Compare automation-first tools with a system that owns explicit contracts and generated surfaces.",audience:"secondary"},{href:"/docs/comparison/windmill",title:"Windmill comparison",description:"Understand where Windmill fits and where ContractSpec solves a different class of system problem.",audience:"secondary"},{href:"/docs/comparison/enterprise-platforms",title:"Enterprise orchestrators",description:"Compare ContractSpec with enterprise platforms that centralize execution in a closed operating surface.",audience:"secondary"},{href:"/docs/ecosystem/templates",title:"Templates",description:"Use templates and starter systems as proof points and accelerators for OSS adoption.",audience:"secondary"},{href:"/docs/ecosystem/plugins",title:"Plugins",description:"Explore marketplace and editor integrations that support the OSS workflow.",audience:"secondary"},{href:"/docs/ecosystem/registry",title:"Registry",description:"Inspect registry and manifest concepts that help package reusable capability surfaces.",audience:"secondary"}];function c(e){return o.find((t)=>t.href===e)}function n(){return i.map((e)=>({...e,items:o.filter((t)=>t.section===e.key&&t.primaryNav).sort((t,r)=>(t.order??0)-(r.order??0))}))}function a(){return o.filter((e)=>e.primaryNav).sort((e,t)=>i.findIndex((r)=>r.key===e.section)-i.findIndex((r)=>r.key===t.section)||(e.order??0)-(t.order??0))}function d(e){let t=a(),r=t.findIndex((s)=>s.href===e);if(r<0)return{previous:null,next:null};return{previous:t[r-1]??null,next:t[r+1]??null}}function p(){return o.filter((e)=>e.audience==="secondary")}function l(){return n().map((e)=>({...e,featured:e.items.slice(0,3)}))}export{p as getSecondaryDocsPages,a as getPrimaryDocsTraversal,n as getPrimaryDocsSections,c as getDocsPageByHref,d as getDocsNextPrevious,l as getDocsHomeSections,i as DOCS_PRIMARY_SECTIONS,o as DOCS_PAGES};
2
+ var n=Object.defineProperty;var a=(e)=>e;function c(e,t){this[e]=a.bind(null,t)}var l=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0,configurable:!0,set:c.bind(t,r)})};var u=(e,t)=>()=>(e&&(t=e(e=0)),t);var i=[{key:"start",title:"Start",description:"Install ContractSpec, wire a first contract, and adopt it into an existing codebase."},{key:"core-model",title:"Core Model",description:"Learn how contracts, generated surfaces, policies, overlays, and safe regeneration fit together."},{key:"build",title:"Build",description:"Use practical guides, libraries, architecture patterns, and examples to ship real surfaces."},{key:"operate",title:"Operate",description:"Run the system safely with governance, auditability, tracing, and operator-grade controls."},{key:"integrations",title:"Integrations",description:"Connect models, messaging, storage, payments, search, and external systems through typed bindings."},{key:"reference",title:"Reference",description:"Search generated contract docs, inspect example packages, and navigate the system as source of truth."},{key:"studio",title:"Studio",description:"Understand what Studio adds on top of the open system and when to adopt it."}],o=[{href:"/docs",title:"Documentation",description:"OSS-first documentation for ContractSpec, the open spec system for AI-native software.",audience:"oss",ctaMode:"oss-next"},{href:"/docs/getting-started/start-here",title:"Start here",description:"The fastest path from install to your first contract and generated surface.",section:"start",order:10,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/getting-started/installation",title:"Installation",description:"Install the CLI and core packages, then prepare a workspace for incremental adoption.",section:"start",order:20,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/getting-started/hello-world",title:"Hello world",description:"Define a first operation, generate the surface, and verify the end-to-end loop.",section:"start",order:30,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/getting-started/compatibility",title:"Compatibility",description:"Check the supported runtimes, package managers, and adoption assumptions before rollout.",section:"start",order:40,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/getting-started/tools",title:"Developer tools",description:"Use the CLI, editors, and helper tooling that make the OSS workflow practical day to day.",section:"start",order:50,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/getting-started/troubleshooting",title:"Troubleshooting",description:"Resolve the common installation, validation, and runtime mistakes you hit during first adoption.",section:"start",order:60,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/specs",title:"Contracts and specs",description:"Understand the spec model that drives generated surfaces, validation, policy, and safe regeneration.",section:"core-model",order:10,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/specs/capabilities",title:"Capabilities",description:"Model commands, queries, presentations, and events as explicit contract surfaces.",section:"core-model",order:20,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/specs/dataviews",title:"Data views",description:"Define queryable, presentable views that stay aligned with the rest of the system.",section:"core-model",order:30,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/specs/workflows",title:"Workflows",description:"Compose multi-step behavior from typed contracts, policies, and runtime orchestration.",section:"core-model",order:40,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/specs/policy",title:"Policy",description:"Apply consistent governance, access rules, and risk controls across every surface.",section:"core-model",order:50,primaryNav:!0,audience:"operator",ctaMode:"oss-next"},{href:"/docs/specs/overlays",title:"Overlays",description:"Customize generated surfaces safely without forking the system or breaking regeneration.",section:"core-model",order:60,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/specs/module-bundles",title:"Module bundles",description:"Define AI-native surfaces as typed bundle specs that resolve into personalized, auditable runtime plans.",section:"core-model",order:70,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/specs/connect",title:"ContractSpec Connect",description:"Guard coding-agent edits and shell actions with task-scoped context, plan packets, patch verdicts, and review packets.",section:"core-model",order:80,navTitle:"Connect",primaryNav:!0,audience:"operator",ctaMode:"oss-next"},{href:"/docs/specs/builder-control-plane",title:"Builder control plane",description:"Route multimodal authoring work through governed builder contracts, provider policies, readiness gates, and mobile review flows.",section:"core-model",order:90,primaryNav:!0,audience:"studio-bridge",ctaMode:"studio-bridge"},{href:"/docs/guides/contract-types",title:"Contract types",description:"Choose the right contract surface for the behavior you want to make explicit.",section:"core-model",order:100,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/guides",title:"Guides",description:"Follow concrete adoption paths for existing apps, generated docs, CI gating, and typed surfaces.",section:"build",order:10,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/guides/nextjs-one-endpoint",title:"Adopt one endpoint in Next.js",description:"Start with one endpoint, one contract, and one generated surface in an existing Next.js app.",section:"build",order:20,navTitle:"Next.js endpoint",primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/guides/import-existing-codebases",title:"Import an existing codebase",description:"Stabilize a live codebase incrementally instead of rewriting it from scratch.",section:"build",order:30,navTitle:"Import existing code",primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/guides/spec-validation-and-typing",title:"Validation and typing",description:"Keep runtime validation and TypeScript types aligned from the same source definitions.",section:"build",order:40,navTitle:"Validation and typing",primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/guides/generate-docs-clients-schemas",title:"Generate docs, clients, and schemas",description:"Export stable docs and client-facing artifacts from the same contract layer.",section:"build",order:50,navTitle:"Generate docs and clients",primaryNav:!0,audience:"oss",ctaMode:"reference"},{href:"/docs/guides/docs-generation-pipeline",title:"Docs generation pipeline",description:"Feed generated docs into the public docs site without breaking source-of-truth ownership.",section:"build",order:60,navTitle:"Docs pipeline",primaryNav:!0,audience:"oss",ctaMode:"reference"},{href:"/docs/guides/first-module-bundle",title:"Build a first module bundle",description:"Define one bundle spec, resolve a personalized surface plan, and render it through the React host layer.",section:"build",order:65,navTitle:"First module bundle",primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/guides/host-builder-workbench",title:"Host the Builder workbench",description:"Load a Builder workspace snapshot, wire common commands, and keep runtime mode plus mobile review flows explicit.",section:"build",order:66,navTitle:"Host Builder workbench",primaryNav:!0,audience:"studio-bridge",ctaMode:"studio-bridge"},{href:"/docs/guides/connect-in-a-repo",title:"Use Connect in a repo",description:"Enable Connect in workspace config, verify agent actions, and inspect local review and replay artifacts.",section:"build",order:67,navTitle:"Connect in a repo",primaryNav:!0,audience:"operator",ctaMode:"oss-next"},{href:"/docs/libraries",title:"Libraries overview",description:"Navigate the core libraries, runtimes, and system packages that make up the open foundation.",section:"build",order:70,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/libraries/cross-platform-ui",title:"Cross-platform UI",description:"Understand how the presentation runtimes, ui-kit-web, ui-kit, and design-system stay aligned across React and React Native.",section:"build",order:71,audience:"oss",ctaMode:"oss-next"},{href:"/docs/architecture",title:"Architecture",description:"See how the spec layer, runtimes, integrations, and multi-surface outputs fit together.",section:"build",order:80,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/safety",title:"Operate safely",description:"Add auditability, migrations, policy controls, and trustworthy release behavior from the start.",section:"operate",order:10,navTitle:"Safety overview",primaryNav:!0,audience:"operator",ctaMode:"oss-next"},{href:"/docs/guides/ci-contract-diff-gating",title:"CI diff gating",description:"Use deterministic checks to block drift and risky changes before they reach production.",section:"operate",order:20,primaryNav:!0,audience:"operator",ctaMode:"oss-next"},{href:"/docs/guides/release-capsules",title:"Author release capsules",description:"Pair changesets with structured release capsules, generate release artifacts, and keep changelog plus docs surfaces aligned.",section:"operate",order:25,navTitle:"Release capsules",primaryNav:!0,audience:"operator",ctaMode:"reference"},{href:"/docs/safety/security-trust",title:"Security and trust",description:"Understand the trust model, artifact validation expectations, and operational boundaries.",section:"operate",order:30,primaryNav:!0,audience:"operator",ctaMode:"oss-next"},{href:"/docs/safety/auditing",title:"Audit trails",description:"Track changes, policy decisions, and operational actions with a clear evidence trail.",section:"operate",order:40,primaryNav:!0,audience:"operator",ctaMode:"oss-next"},{href:"/docs/safety/migrations",title:"Migrations",description:"Evolve schemas and data safely without abandoning the contract layer.",section:"operate",order:50,primaryNav:!0,audience:"operator",ctaMode:"oss-next"},{href:"/docs/safety/tenant-isolation",title:"Tenant isolation",description:"Keep tenant data, config, policies, and integrations separated at runtime.",section:"operate",order:60,primaryNav:!0,audience:"operator",ctaMode:"oss-next"},{href:"/docs/knowledge",title:"Knowledge and context",description:"Bind trusted knowledge sources to the system without losing governance or isolation.",section:"operate",order:70,primaryNav:!0,audience:"operator",ctaMode:"oss-next"},{href:"/docs/advanced/telemetry",title:"Telemetry",description:"Instrument surfaces, collect evidence, and keep observability aligned with the contract model.",section:"operate",order:80,primaryNav:!0,audience:"operator",ctaMode:"oss-next"},{href:"/docs/advanced/workflow-monitoring",title:"Workflow monitoring",description:"Observe multi-step execution with enough context to understand failures and regressions.",section:"operate",order:90,primaryNav:!0,audience:"operator",ctaMode:"oss-next"},{href:"/docs/ops/distributed-tracing",title:"Distributed tracing",description:"Trace contract execution across integrations, workflows, and generated surfaces.",section:"operate",order:100,primaryNav:!0,audience:"operator",ctaMode:"oss-next"},{href:"/docs/integrations",title:"Integrations overview",description:"Understand the binding model for external services, providers, and tenant-owned connections.",section:"integrations",order:10,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/integrations/spec-model",title:"Integration spec model",description:"Define what an integration provides before wiring it into an app or runtime.",section:"integrations",order:20,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/integrations/openai",title:"OpenAI integration",description:"Connect OpenAI through typed capabilities, explicit provider config, and governed runtime usage.",section:"integrations",order:30,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/integrations/mistral",title:"Mistral integration",description:"Use Mistral through the same provider contract model and runtime guardrails.",section:"integrations",order:40,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/integrations/qdrant",title:"Qdrant integration",description:"Store and retrieve knowledge embeddings with explicit provider configuration and ownership.",section:"integrations",order:50,primaryNav:!0,audience:"operator",ctaMode:"oss-next"},{href:"/docs/integrations/stripe",title:"Stripe integration",description:"Bind payments and billing behavior without smearing provider logic across the codebase.",section:"integrations",order:60,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/integrations/twilio",title:"Twilio integration",description:"Handle messaging and telephony through typed transport boundaries and explicit configuration.",section:"integrations",order:70,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/integrations/github",title:"GitHub integration",description:"Push execution context into GitHub workflows and automation surfaces without hidden glue.",section:"integrations",order:80,primaryNav:!0,audience:"oss",ctaMode:"oss-next"},{href:"/docs/reference",title:"Contract reference",description:"Browse the generated reference index for public contract surfaces, versions, and examples.",section:"reference",order:10,primaryNav:!0,audience:"reference",ctaMode:"reference"},{href:"/docs/examples",title:"Examples",description:"Explore runnable examples and use them as reference implementations for new systems.",section:"reference",order:20,primaryNav:!0,audience:"reference",ctaMode:"reference"},{href:"/docs/studio",title:"Studio overview",description:"See what Studio adds on top of OSS ContractSpec and when a team should adopt the operating layer.",section:"studio",order:10,primaryNav:!0,audience:"studio-bridge",ctaMode:"studio-bridge"},{href:"/docs/manifesto",title:"Manifesto",description:"Why ContractSpec is built as an open system, how incremental adoption works, and why Studio stays additive.",audience:"secondary"},{href:"/docs/intent/contract-first-api",title:"Contract-first API",description:"Use contracts as the durable source of truth for API behavior and generated surfaces.",audience:"secondary"},{href:"/docs/intent/spec-driven-development",title:"Spec-driven development",description:"See how explicit specs stabilize change across APIs, UI, data, and agent-facing surfaces.",audience:"secondary"},{href:"/docs/intent/deterministic-codegen",title:"Deterministic regeneration",description:"Understand safe regeneration, conflict boundaries, and why teams keep control of the output.",audience:"secondary"},{href:"/docs/intent/schema-validation-typescript",title:"Schema validation and TypeScript",description:"Keep schema, runtime validation, and TypeScript behavior aligned without duplicate work.",audience:"secondary"},{href:"/docs/intent/openapi-alternative",title:"OpenAPI alternative",description:"Compare a multi-surface contract system with API-only description tooling.",audience:"secondary"},{href:"/docs/intent/generate-client-from-schema",title:"Generate client from schema",description:"Generate client-facing artifacts from the same source that drives runtime behavior.",audience:"secondary"},{href:"/docs/comparison",title:"Comparison overview",description:"Compare ContractSpec with workflow engines, internal-tool builders, and enterprise orchestration products.",audience:"secondary"},{href:"/docs/comparison/workflow-engines",title:"Workflow engines",description:"Contrast a contract system with workflow-only orchestration approaches.",audience:"secondary"},{href:"/docs/comparison/internal-tool-builders",title:"Internal-tool builders",description:"Compare ContractSpec with builders that optimize for screens instead of durable system contracts.",audience:"secondary"},{href:"/docs/comparison/automation-platforms",title:"Automation platforms",description:"Compare automation-first tools with a system that owns explicit contracts and generated surfaces.",audience:"secondary"},{href:"/docs/comparison/windmill",title:"Windmill comparison",description:"Understand where Windmill fits and where ContractSpec solves a different class of system problem.",audience:"secondary"},{href:"/docs/comparison/enterprise-platforms",title:"Enterprise orchestrators",description:"Compare ContractSpec with enterprise platforms that centralize execution in a closed operating surface.",audience:"secondary"},{href:"/docs/ecosystem/templates",title:"Templates",description:"Use templates and starter systems as proof points and accelerators for OSS adoption.",audience:"secondary"},{href:"/docs/ecosystem/plugins",title:"Plugins",description:"Explore marketplace and editor integrations that support the OSS workflow.",audience:"secondary"},{href:"/docs/ecosystem/registry",title:"Registry",description:"Inspect registry and manifest concepts that help package reusable capability surfaces.",audience:"secondary"}];function h(e){return o.find((t)=>t.href===e)}function d(){return i.map((e)=>({...e,items:o.filter((t)=>t.section===e.key&&t.primaryNav).sort((t,r)=>(t.order??0)-(r.order??0))}))}function p(){return o.filter((e)=>e.primaryNav).sort((e,t)=>i.findIndex((r)=>r.key===e.section)-i.findIndex((r)=>r.key===t.section)||(e.order??0)-(t.order??0))}function m(e){let t=p(),r=t.findIndex((s)=>s.href===e);if(r<0)return{previous:null,next:null};return{previous:t[r-1]??null,next:t[r+1]??null}}function g(){return o.filter((e)=>e.audience==="secondary")}function y(){return d().map((e)=>({...e,featured:e.items.slice(0,3)}))}export{g as getSecondaryDocsPages,p as getPrimaryDocsTraversal,d as getPrimaryDocsSections,h as getDocsPageByHref,m as getDocsNextPrevious,y as getDocsHomeSections,i as DOCS_PRIMARY_SECTIONS,o as DOCS_PAGES};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{CodeBlock as r}from"@contractspec/lib.design-system";import t from"@contractspec/lib.ui-link";import{ChevronRight as l}from"lucide-react";import{jsx as e,jsxs as a}from"react/jsx-runtime";function s(){return a("div",{className:"space-y-8",children:[a("div",{className:"space-y-3",children:[e("h1",{className:"font-bold text-4xl",children:"Integrations"}),e("p",{className:"text-lg text-muted-foreground",children:"Reference integrations show how to extend ContractSpec with real-world adapters and generators."})]}),a("div",{className:"card-subtle space-y-4 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"Reference plugin"}),e("p",{className:"text-muted-foreground text-sm",children:"The example markdown generator plugin ships as a working reference implementation."}),e(r,{language:"bash",filename:"install-example",code:`bun add @contractspec/lib.plugin.example-generator
2
+ var o=Object.defineProperty;var n=(a)=>a;function s(a,t){this[a]=n.bind(null,t)}var c=(a,t)=>{for(var l in t)o(a,l,{get:t[l],enumerable:!0,configurable:!0,set:s.bind(t,l)})};var d=(a,t)=>()=>(a&&(t=a(a=0)),t);import{CodeBlock as m}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 r}from"react/jsx-runtime";function v(){return r("div",{className:"space-y-8",children:[r("div",{className:"space-y-3",children:[e("h1",{className:"font-bold text-4xl",children:"Integrations"}),e("p",{className:"text-lg text-muted-foreground",children:"Reference integrations show how to extend ContractSpec with real-world adapters and generators."})]}),r("div",{className:"card-subtle space-y-4 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"Reference plugin"}),e("p",{className:"text-muted-foreground text-sm",children:"The example markdown generator plugin ships as a working reference implementation."}),e(m,{language:"bash",filename:"install-example",code:`bun add @contractspec/lib.plugin.example-generator
3
3
 
4
4
  # Or in a workspace
5
- bun add -D @contractspec/lib.plugin.example-generator`})]}),a("div",{className:"card-subtle space-y-4 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"Providers and adapters"}),a("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[e("li",{children:"Payments: Stripe"}),e("li",{children:"Email: Postmark, Gmail"}),e("li",{children:"AI: OpenAI, Mistral"}),e("li",{children:"Voice: ElevenLabs, Mistral"}),e("li",{children:"Vector DB: Qdrant"}),e("li",{children:"Storage: GCS"})]}),e("p",{className:"text-muted-foreground text-sm",children:"Use provider modules as inspiration for adapter plugins."})]}),a("div",{className:"flex items-center gap-4 pt-4",children:[a(t,{href:"/docs/ecosystem/registry",className:"btn-primary",children:["Marketplace manifest ",e(l,{size:16})]}),e(t,{href:"/docs/ecosystem/templates",className:"btn-ghost",children:"Authoring templates"})]})]})}export{s as EcosystemIntegrationsPage};
5
+ bun add -D @contractspec/lib.plugin.example-generator`})]}),r("div",{className:"card-subtle space-y-4 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"Providers and adapters"}),r("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[e("li",{children:"Payments: Stripe"}),e("li",{children:"Email: Postmark, Gmail"}),e("li",{children:"AI: OpenAI, Mistral"}),e("li",{children:"Voice: ElevenLabs, Mistral"}),e("li",{children:"Vector DB: Qdrant"}),e("li",{children:"Storage: GCS"})]}),e("p",{className:"text-muted-foreground text-sm",children:"Use provider modules as inspiration for adapter plugins."})]}),r("div",{className:"flex items-center gap-4 pt-4",children:[r(i,{href:"/docs/ecosystem/registry",className:"btn-primary",children:["Marketplace manifest ",e(p,{size:16})]}),e(i,{href:"/docs/ecosystem/templates",className:"btn-ghost",children:"Authoring templates"})]})]})}export{v as EcosystemIntegrationsPage};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{CodeBlock as t}from"@contractspec/lib.design-system";import c from"@contractspec/lib.ui-link";import{ChevronRight as o}from"lucide-react";import{jsx as e,jsxs as a}from"react/jsx-runtime";function l(){return a("div",{className:"space-y-8",children:[a("div",{className:"space-y-3",children:[e("h1",{className:"font-bold text-4xl",children:"Cursor marketplace plugins"}),e("p",{className:"text-lg text-muted-foreground",children:"ContractSpec ships a focused Cursor marketplace catalog for the product and key libraries."})]}),a("div",{className:"card-subtle space-y-4 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"Catalog at a glance"}),a("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[a("li",{children:[e("code",{children:"contractspec"})," - Product-level workflow and release guardrails."]}),a("li",{children:[e("code",{children:"contractspec-contracts-spec"})," -",e("code",{children:"@contractspec/lib.contracts-spec"})," governance."]}),a("li",{children:[e("code",{children:"contractspec-contracts-integrations"})," -",e("code",{children:"@contractspec/lib.contracts-integrations"})," governance."]}),a("li",{children:[e("code",{children:"contractspec-ai-agent"})," -",e("code",{children:"@contractspec/lib.ai-agent"})," orchestration guardrails."]})]})]}),a("div",{className:"space-y-6",children:[a("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Where plugin sources live"}),e("p",{className:"text-muted-foreground text-sm",children:"Marketplace plugin artifacts are kept in a dedicated package, while the canonical reusable source lives in agentpacks under `packs/`."}),e(t,{language:"text",filename:"catalog-layout",code:`packages/apps-registry/cursor-marketplace/
2
+ var s=Object.defineProperty;var l=(t)=>t;function i(t,c){this[t]=l.bind(null,c)}var d=(t,c)=>{for(var o in c)s(t,o,{get:c[o],enumerable:!0,configurable:!0,set:i.bind(c,o)})};var m=(t,c)=>()=>(t&&(c=t(t=0)),c);import{CodeBlock as r}from"@contractspec/lib.design-system";import n from"@contractspec/lib.ui-link";import{ChevronRight as p}from"lucide-react";import{jsx as e,jsxs as a}from"react/jsx-runtime";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:"Cursor marketplace plugins"}),e("p",{className:"text-lg text-muted-foreground",children:"ContractSpec ships a focused Cursor marketplace catalog for the product and key libraries."})]}),a("div",{className:"card-subtle space-y-4 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"Catalog at a glance"}),a("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[a("li",{children:[e("code",{children:"contractspec"})," - Product-level workflow and release guardrails."]}),a("li",{children:[e("code",{children:"contractspec-contracts-spec"})," -",e("code",{children:"@contractspec/lib.contracts-spec"})," governance."]}),a("li",{children:[e("code",{children:"contractspec-contracts-integrations"})," -",e("code",{children:"@contractspec/lib.contracts-integrations"})," governance."]}),a("li",{children:[e("code",{children:"contractspec-ai-agent"})," -",e("code",{children:"@contractspec/lib.ai-agent"})," orchestration guardrails."]})]})]}),a("div",{className:"space-y-6",children:[a("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Where plugin sources live"}),e("p",{className:"text-muted-foreground text-sm",children:"Marketplace plugin artifacts are kept in a dedicated package, while the canonical reusable source lives in agentpacks under `packs/`."}),e(r,{language:"text",filename:"catalog-layout",code:`packages/apps-registry/cursor-marketplace/
3
3
  .cursor-plugin/marketplace.json
4
4
  plugins/
5
5
  contractspec/
@@ -8,7 +8,7 @@ import{CodeBlock as t}from"@contractspec/lib.design-system";import c from"@contr
8
8
  contractspec-ai-agent/
9
9
 
10
10
  packs/
11
- contractspec-contracts-spec/`})]}),a("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Root marketplace manifest"}),e("p",{className:"text-muted-foreground text-sm",children:"Cursor submission reads the catalog manifest inside the marketplace package and resolves plugin paths relative to that package."}),e(t,{language:"json",filename:"packages/apps-registry/cursor-marketplace/.cursor-plugin/marketplace.json",code:`{
11
+ contractspec-contracts-spec/`})]}),a("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Root marketplace manifest"}),e("p",{className:"text-muted-foreground text-sm",children:"Cursor submission reads the catalog manifest inside the marketplace package and resolves plugin paths relative to that package."}),e(r,{language:"json",filename:"packages/apps-registry/cursor-marketplace/.cursor-plugin/marketplace.json",code:`{
12
12
  "name": "contractspec-marketplace",
13
13
  "owner": { "name": "ContractSpec Team" },
14
14
  "plugins": [
@@ -29,7 +29,7 @@ packs/
29
29
  "source": "plugins/contractspec-ai-agent"
30
30
  }
31
31
  ]
32
- }`})]}),a("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Generated multi-host system"}),e("p",{className:"text-muted-foreground text-sm",children:"The Cursor plugin is publishable metadata only. Customer-facing Cursor, Claude Code, and Codex outputs are generated from the same pack source with hook and MCP delivery."})]}),a("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Validation gate"}),e("p",{className:"text-muted-foreground text-sm",children:"Validate all marketplace plugins before publishing."}),e(t,{language:"bash",filename:"validate-marketplace",code:`bun run plugin:contractspec:validate
32
+ }`})]}),a("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Generated multi-host system"}),e("p",{className:"text-muted-foreground text-sm",children:"The Cursor plugin is publishable metadata only. Customer-facing Cursor, Claude Code, and Codex outputs are generated from the same pack source with hook and MCP delivery."})]}),a("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Validation gate"}),e("p",{className:"text-muted-foreground text-sm",children:"Validate all marketplace plugins before publishing."}),e(r,{language:"bash",filename:"validate-marketplace",code:`bun run plugin:contractspec:validate
33
33
 
34
34
  # Optional when offline
35
- SKIP_PLUGIN_NETWORK_CHECK=1 bun run plugin:contractspec:validate`})]})]}),a("div",{className:"flex items-center gap-4 pt-4",children:[a(c,{href:"/docs/ecosystem/templates",className:"btn-primary",children:["Author a plugin ",e(o,{size:16})]}),e(c,{href:"/docs/ecosystem/registry",className:"btn-ghost",children:"Manifest details"})]})]})}export{l as EcosystemPluginsPage};
35
+ SKIP_PLUGIN_NETWORK_CHECK=1 bun run plugin:contractspec:validate`})]})]}),a("div",{className:"flex items-center gap-4 pt-4",children:[a(n,{href:"/docs/ecosystem/templates",className:"btn-primary",children:["Author a plugin ",e(p,{size:16})]}),e(n,{href:"/docs/ecosystem/registry",className:"btn-ghost",children:"Manifest details"})]})]})}export{v as EcosystemPluginsPage};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{CodeBlock as t}from"@contractspec/lib.design-system";import c from"@contractspec/lib.ui-link";import{ChevronRight as n}from"lucide-react";import{jsx as e,jsxs as a}from"react/jsx-runtime";function l(){return a("div",{className:"space-y-8",children:[a("div",{className:"space-y-3",children:[e("h1",{className:"font-bold text-4xl",children:"Marketplace manifest"}),e("p",{className:"text-lg text-muted-foreground",children:"ContractSpec publishes a multi-plugin Cursor marketplace catalog from a single root manifest."})]}),a("div",{className:"card-subtle space-y-4 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"Root manifest shape"}),a("p",{className:"text-muted-foreground text-sm",children:["Cursor reads"," ",e("code",{children:"packages/apps-registry/cursor-marketplace/.cursor-plugin/marketplace.json"})," ","for the catalog and resolves each plugin source path from there."]}),e(t,{language:"json",filename:"packages/apps-registry/cursor-marketplace/.cursor-plugin/marketplace.json",code:`{
2
+ var r=Object.defineProperty;var l=(a)=>a;function p(a,t){this[a]=l.bind(null,t)}var m=(a,t)=>{for(var n in t)r(a,n,{get:t[n],enumerable:!0,configurable:!0,set:p.bind(t,n)})};var u=(a,t)=>()=>(a&&(t=a(a=0)),t);import{CodeBlock as s}from"@contractspec/lib.design-system";import o from"@contractspec/lib.ui-link";import{ChevronRight as i}from"lucide-react";import{jsx as e,jsxs as c}from"react/jsx-runtime";function v(){return c("div",{className:"space-y-8",children:[c("div",{className:"space-y-3",children:[e("h1",{className:"font-bold text-4xl",children:"Marketplace manifest"}),e("p",{className:"text-lg text-muted-foreground",children:"ContractSpec publishes a multi-plugin Cursor marketplace catalog from a single root manifest."})]}),c("div",{className:"card-subtle space-y-4 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"Root manifest shape"}),c("p",{className:"text-muted-foreground text-sm",children:["Cursor reads"," ",e("code",{children:"packages/apps-registry/cursor-marketplace/.cursor-plugin/marketplace.json"})," ","for the catalog and resolves each plugin source path from there."]}),e(s,{language:"json",filename:"packages/apps-registry/cursor-marketplace/.cursor-plugin/marketplace.json",code:`{
3
3
  "name": "contractspec-marketplace",
4
4
  "owner": { "name": "ContractSpec Team" },
5
5
  "plugins": [
@@ -12,13 +12,13 @@ import{CodeBlock as t}from"@contractspec/lib.design-system";import c from"@contr
12
12
  "source": "plugins/contractspec-contracts-spec"
13
13
  }
14
14
  ]
15
- }`})]}),a("div",{className:"card-subtle space-y-4 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"Per-plugin contract"}),e("p",{className:"text-muted-foreground text-sm",children:"Each plugin source must include a Cursor plugin manifest and composable assets. The publishable plugin is derived from a reusable pack and then validated here."}),e(t,{language:"text",filename:"plugin-layout",code:`plugins/<plugin-name>/
15
+ }`})]}),c("div",{className:"card-subtle space-y-4 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"Per-plugin contract"}),e("p",{className:"text-muted-foreground text-sm",children:"Each plugin source must include a Cursor plugin manifest and composable assets. The publishable plugin is derived from a reusable pack and then validated here."}),e(s,{language:"text",filename:"plugin-layout",code:`plugins/<plugin-name>/
16
16
  .cursor-plugin/plugin.json
17
17
  rules/
18
18
  commands/
19
19
  agents/
20
20
  skills/
21
- .mcp.json`}),e(t,{language:"bash",filename:"validate-catalog",code:`bun run plugin:contractspec:validate
21
+ .mcp.json`}),e(s,{language:"bash",filename:"validate-catalog",code:`bun run plugin:contractspec:validate
22
22
 
23
23
  # Optional in offline environments
24
- SKIP_PLUGIN_NETWORK_CHECK=1 bun run plugin:contractspec:validate`})]}),a("div",{className:"flex items-center gap-4 pt-4",children:[a(c,{href:"/docs/ecosystem/integrations",className:"btn-primary",children:["Integrations ",e(n,{size:16})]}),e(c,{href:"/docs/ecosystem/templates",className:"btn-ghost",children:"Plugin authoring templates"})]})]})}export{l as EcosystemRegistryPage};
24
+ SKIP_PLUGIN_NETWORK_CHECK=1 bun run plugin:contractspec:validate`})]}),c("div",{className:"flex items-center gap-4 pt-4",children:[c(o,{href:"/docs/ecosystem/integrations",className:"btn-primary",children:["Integrations ",e(i,{size:16})]}),e(o,{href:"/docs/ecosystem/templates",className:"btn-ghost",children:"Plugin authoring templates"})]})]})}export{v as EcosystemRegistryPage};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import p from"@contractspec/lib.ui-link";import{jsx as a,jsxs as d}from"react/jsx-runtime";function o({title:l="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:c="https://www.contractspec.studio/docs"}){return d("div",{className:"card-subtle space-y-3 p-6",children:[a("h3",{className:"font-semibold text-lg",children:l}),a("p",{className:"text-muted-foreground text-sm",children:n}),a(p,{href:c,className:"btn-primary",children:s})]})}import{CodeBlock as i}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 N(){return t("div",{className:"space-y-8",children:[t("div",{className:"space-y-3",children:[e("h1",{className:"font-bold text-4xl",children:"Plugin authoring templates"}),e("p",{className:"text-lg text-muted-foreground",children:"Scaffold focused Cursor plugins for ContractSpec product and core libraries."})]}),t("div",{className:"card-subtle space-y-4 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"Create a focused plugin"}),e("p",{className:"text-muted-foreground text-sm",children:"Start from a scoped domain and keep each plugin aligned to one product or library surface."}),e(i,{language:"bash",filename:"catalog-authoring-layout",code:`packages/apps-registry/cursor-marketplace/
2
+ var p=Object.defineProperty;var d=(t)=>t;function m(t,a){this[t]=d.bind(null,a)}var h=(t,a)=>{for(var i in a)p(t,i,{get:a[i],enumerable:!0,configurable:!0,set:m.bind(a,i)})};var b=(t,a)=>()=>(t&&(a=t(t=0)),a);import u from"@contractspec/lib.ui-link";import{jsx as r,jsxs as g}from"react/jsx-runtime";function l({title:t="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:i="See what Studio adds",href:c="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:t}),r("p",{className:"text-muted-foreground text-sm",children:a}),r(u,{href:c,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 o}from"react/jsx-runtime";function L(){return o("div",{className:"space-y-8",children:[o("div",{className:"space-y-3",children:[e("h1",{className:"font-bold text-4xl",children:"Plugin authoring templates"}),e("p",{className:"text-lg text-muted-foreground",children:"Scaffold focused Cursor plugins for ContractSpec product and core libraries."})]}),o("div",{className:"card-subtle space-y-4 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"Create a focused plugin"}),e("p",{className:"text-muted-foreground text-sm",children:"Start from a scoped domain and keep each plugin aligned to one product or library surface."}),e(n,{language:"bash",filename:"catalog-authoring-layout",code:`packages/apps-registry/cursor-marketplace/
3
3
  plugins/
4
4
  <plugin-name>/
5
5
  .cursor-plugin/plugin.json
@@ -7,8 +7,8 @@ import p from"@contractspec/lib.ui-link";import{jsx as a,jsxs as d}from"react/js
7
7
  commands/
8
8
  agents/
9
9
  skills/
10
- .mcp.json`})]}),t("div",{className:"card-subtle space-y-4 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"Template outputs"}),t("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[e("li",{children:".cursor-plugin/plugin.json with plugin metadata and paths"}),e("li",{children:"rules/, commands/, agents/, and skills/ content directories"}),e("li",{children:".mcp.json with all MCP server declarations used by the plugin"}),e("li",{children:"README.md describing scope and governance boundaries"})]})]}),t("div",{className:"card-subtle space-y-4 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"Validate before submission"}),e(i,{language:"bash",filename:"validate-marketplace-catalog",code:`# Validate all plugins referenced by root marketplace manifest
10
+ .mcp.json`})]}),o("div",{className:"card-subtle space-y-4 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"Template outputs"}),o("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[e("li",{children:".cursor-plugin/plugin.json with plugin metadata and paths"}),e("li",{children:"rules/, commands/, agents/, and skills/ content directories"}),e("li",{children:".mcp.json with all MCP server declarations used by the plugin"}),e("li",{children:"README.md describing scope and governance boundaries"})]})]}),o("div",{className:"card-subtle space-y-4 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"Validate before submission"}),e(n,{language:"bash",filename:"validate-marketplace-catalog",code:`# Validate all plugins referenced by root marketplace manifest
11
11
  bun run plugin:contractspec:validate
12
12
 
13
13
  # Optional in offline environments
14
- SKIP_PLUGIN_NETWORK_CHECK=1 bun run plugin:contractspec:validate`})]}),e(o,{title:"Need evidence-backed template iteration?",body:"Studio helps teams prioritize template changes from real product signals and export implementation-ready task packs."}),t("div",{className:"flex items-center gap-4 pt-4",children:[t(r,{href:"/docs/ecosystem/plugins",className:"btn-primary",children:["Marketplace plugins ",e(m,{size:16})]}),e(r,{href:"/docs/ecosystem/registry",className:"btn-ghost",children:"Marketplace manifest"})]})]})}export{N as EcosystemTemplatesPage};
14
+ SKIP_PLUGIN_NETWORK_CHECK=1 bun run plugin:contractspec:validate`})]}),e(l,{title:"Need evidence-backed template iteration?",body:"Studio helps teams prioritize template changes from real product signals and export implementation-ready task packs."}),o("div",{className:"flex items-center gap-4 pt-4",children:[o(s,{href:"/docs/ecosystem/plugins",className:"btn-primary",children:["Marketplace plugins ",e(f,{size:16})]}),e(s,{href:"/docs/ecosystem/registry",className:"btn-ghost",children:"Marketplace manifest"})]})]})}export{L as EcosystemTemplatesPage};
@@ -1,8 +1,8 @@
1
1
  // @bun
2
- import{CodeBlock as k}from"@contractspec/lib.design-system";import m from"@contractspec/lib.ui-link";import{ChevronRight as C}from"lucide-react";import{jsx as a,jsxs as n}from"react/jsx-runtime";function P(){return n("div",{className:"space-y-8",children:[n("div",{className:"space-y-3",children:[a("h1",{className:"font-bold text-4xl",children:"Integrations"}),a("p",{className:"text-lg text-muted-foreground",children:"Reference integrations show how to extend ContractSpec with real-world adapters and generators."})]}),n("div",{className:"card-subtle space-y-4 p-6",children:[a("h2",{className:"font-bold text-2xl",children:"Reference plugin"}),a("p",{className:"text-muted-foreground text-sm",children:"The example markdown generator plugin ships as a working reference implementation."}),a(k,{language:"bash",filename:"install-example",code:`bun add @contractspec/lib.plugin.example-generator
2
+ var k=Object.defineProperty;var C=(c)=>c;function P(c,n){this[c]=C.bind(null,n)}var z=(c,n)=>{for(var p in n)k(c,p,{get:n[p],enumerable:!0,configurable:!0,set:P.bind(n,p)})};var A=(c,n)=>()=>(c&&(n=c(c=0)),n);import{CodeBlock as S}from"@contractspec/lib.design-system";import g from"@contractspec/lib.ui-link";import{ChevronRight as w}from"lucide-react";import{jsx as a,jsxs as s}from"react/jsx-runtime";function E(){return s("div",{className:"space-y-8",children:[s("div",{className:"space-y-3",children:[a("h1",{className:"font-bold text-4xl",children:"Integrations"}),a("p",{className:"text-lg text-muted-foreground",children:"Reference integrations show how to extend ContractSpec with real-world adapters and generators."})]}),s("div",{className:"card-subtle space-y-4 p-6",children:[a("h2",{className:"font-bold text-2xl",children:"Reference plugin"}),a("p",{className:"text-muted-foreground text-sm",children:"The example markdown generator plugin ships as a working reference implementation."}),a(S,{language:"bash",filename:"install-example",code:`bun add @contractspec/lib.plugin.example-generator
3
3
 
4
4
  # Or in a workspace
5
- bun add -D @contractspec/lib.plugin.example-generator`})]}),n("div",{className:"card-subtle space-y-4 p-6",children:[a("h2",{className:"font-bold text-2xl",children:"Providers and adapters"}),n("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[a("li",{children:"Payments: Stripe"}),a("li",{children:"Email: Postmark, Gmail"}),a("li",{children:"AI: OpenAI, Mistral"}),a("li",{children:"Voice: ElevenLabs, Mistral"}),a("li",{children:"Vector DB: Qdrant"}),a("li",{children:"Storage: GCS"})]}),a("p",{className:"text-muted-foreground text-sm",children:"Use provider modules as inspiration for adapter plugins."})]}),n("div",{className:"flex items-center gap-4 pt-4",children:[n(m,{href:"/docs/ecosystem/registry",className:"btn-primary",children:["Marketplace manifest ",a(C,{size:16})]}),a(m,{href:"/docs/ecosystem/templates",className:"btn-ghost",children:"Authoring templates"})]})]})}import{CodeBlock as s}from"@contractspec/lib.design-system";import d from"@contractspec/lib.ui-link";import{ChevronRight as S}from"lucide-react";import{jsx as e,jsxs as t}from"react/jsx-runtime";function w(){return t("div",{className:"space-y-8",children:[t("div",{className:"space-y-3",children:[e("h1",{className:"font-bold text-4xl",children:"Cursor marketplace plugins"}),e("p",{className:"text-lg text-muted-foreground",children:"ContractSpec ships a focused Cursor marketplace catalog for the product and key libraries."})]}),t("div",{className:"card-subtle space-y-4 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"Catalog at a glance"}),t("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[t("li",{children:[e("code",{children:"contractspec"})," - Product-level workflow and release guardrails."]}),t("li",{children:[e("code",{children:"contractspec-contracts-spec"})," -",e("code",{children:"@contractspec/lib.contracts-spec"})," governance."]}),t("li",{children:[e("code",{children:"contractspec-contracts-integrations"})," -",e("code",{children:"@contractspec/lib.contracts-integrations"})," governance."]}),t("li",{children:[e("code",{children:"contractspec-ai-agent"})," -",e("code",{children:"@contractspec/lib.ai-agent"})," orchestration guardrails."]})]})]}),t("div",{className:"space-y-6",children:[t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Where plugin sources live"}),e("p",{className:"text-muted-foreground text-sm",children:"Marketplace plugin artifacts are kept in a dedicated package, while the canonical reusable source lives in agentpacks under `packs/`."}),e(s,{language:"text",filename:"catalog-layout",code:`packages/apps-registry/cursor-marketplace/
5
+ bun add -D @contractspec/lib.plugin.example-generator`})]}),s("div",{className:"card-subtle space-y-4 p-6",children:[a("h2",{className:"font-bold text-2xl",children:"Providers and adapters"}),s("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[a("li",{children:"Payments: Stripe"}),a("li",{children:"Email: Postmark, Gmail"}),a("li",{children:"AI: OpenAI, Mistral"}),a("li",{children:"Voice: ElevenLabs, Mistral"}),a("li",{children:"Vector DB: Qdrant"}),a("li",{children:"Storage: GCS"})]}),a("p",{className:"text-muted-foreground text-sm",children:"Use provider modules as inspiration for adapter plugins."})]}),s("div",{className:"flex items-center gap-4 pt-4",children:[s(g,{href:"/docs/ecosystem/registry",className:"btn-primary",children:["Marketplace manifest ",a(w,{size:16})]}),a(g,{href:"/docs/ecosystem/templates",className:"btn-ghost",children:"Authoring templates"})]})]})}import{CodeBlock as m}from"@contractspec/lib.design-system";import f from"@contractspec/lib.ui-link";import{ChevronRight as L}from"lucide-react";import{jsx as e,jsxs as t}from"react/jsx-runtime";function R(){return t("div",{className:"space-y-8",children:[t("div",{className:"space-y-3",children:[e("h1",{className:"font-bold text-4xl",children:"Cursor marketplace plugins"}),e("p",{className:"text-lg text-muted-foreground",children:"ContractSpec ships a focused Cursor marketplace catalog for the product and key libraries."})]}),t("div",{className:"card-subtle space-y-4 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"Catalog at a glance"}),t("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[t("li",{children:[e("code",{children:"contractspec"})," - Product-level workflow and release guardrails."]}),t("li",{children:[e("code",{children:"contractspec-contracts-spec"})," -",e("code",{children:"@contractspec/lib.contracts-spec"})," governance."]}),t("li",{children:[e("code",{children:"contractspec-contracts-integrations"})," -",e("code",{children:"@contractspec/lib.contracts-integrations"})," governance."]}),t("li",{children:[e("code",{children:"contractspec-ai-agent"})," -",e("code",{children:"@contractspec/lib.ai-agent"})," orchestration guardrails."]})]})]}),t("div",{className:"space-y-6",children:[t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Where plugin sources live"}),e("p",{className:"text-muted-foreground text-sm",children:"Marketplace plugin artifacts are kept in a dedicated package, while the canonical reusable source lives in agentpacks under `packs/`."}),e(m,{language:"text",filename:"catalog-layout",code:`packages/apps-registry/cursor-marketplace/
6
6
  .cursor-plugin/marketplace.json
7
7
  plugins/
8
8
  contractspec/
@@ -11,7 +11,7 @@ bun add -D @contractspec/lib.plugin.example-generator`})]}),n("div",{className:"
11
11
  contractspec-ai-agent/
12
12
 
13
13
  packs/
14
- contractspec-contracts-spec/`})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Root marketplace manifest"}),e("p",{className:"text-muted-foreground text-sm",children:"Cursor submission reads the catalog manifest inside the marketplace package and resolves plugin paths relative to that package."}),e(s,{language:"json",filename:"packages/apps-registry/cursor-marketplace/.cursor-plugin/marketplace.json",code:`{
14
+ contractspec-contracts-spec/`})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Root marketplace manifest"}),e("p",{className:"text-muted-foreground text-sm",children:"Cursor submission reads the catalog manifest inside the marketplace package and resolves plugin paths relative to that package."}),e(m,{language:"json",filename:"packages/apps-registry/cursor-marketplace/.cursor-plugin/marketplace.json",code:`{
15
15
  "name": "contractspec-marketplace",
16
16
  "owner": { "name": "ContractSpec Team" },
17
17
  "plugins": [
@@ -32,10 +32,10 @@ packs/
32
32
  "source": "plugins/contractspec-ai-agent"
33
33
  }
34
34
  ]
35
- }`})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Generated multi-host system"}),e("p",{className:"text-muted-foreground text-sm",children:"The Cursor plugin is publishable metadata only. Customer-facing Cursor, Claude Code, and Codex outputs are generated from the same pack source with hook and MCP delivery."})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Validation gate"}),e("p",{className:"text-muted-foreground text-sm",children:"Validate all marketplace plugins before publishing."}),e(s,{language:"bash",filename:"validate-marketplace",code:`bun run plugin:contractspec:validate
35
+ }`})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Generated multi-host system"}),e("p",{className:"text-muted-foreground text-sm",children:"The Cursor plugin is publishable metadata only. Customer-facing Cursor, Claude Code, and Codex outputs are generated from the same pack source with hook and MCP delivery."})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Validation gate"}),e("p",{className:"text-muted-foreground text-sm",children:"Validate all marketplace plugins before publishing."}),e(m,{language:"bash",filename:"validate-marketplace",code:`bun run plugin:contractspec:validate
36
36
 
37
37
  # Optional when offline
38
- SKIP_PLUGIN_NETWORK_CHECK=1 bun run plugin:contractspec:validate`})]})]}),t("div",{className:"flex items-center gap-4 pt-4",children:[t(d,{href:"/docs/ecosystem/templates",className:"btn-primary",children:["Author a plugin ",e(S,{size:16})]}),e(d,{href:"/docs/ecosystem/registry",className:"btn-ghost",children:"Manifest details"})]})]})}import{CodeBlock as i}from"@contractspec/lib.design-system";import u from"@contractspec/lib.ui-link";import{ChevronRight as E}from"lucide-react";import{jsx as c,jsxs as l}from"react/jsx-runtime";function L(){return l("div",{className:"space-y-8",children:[l("div",{className:"space-y-3",children:[c("h1",{className:"font-bold text-4xl",children:"Marketplace manifest"}),c("p",{className:"text-lg text-muted-foreground",children:"ContractSpec publishes a multi-plugin Cursor marketplace catalog from a single root manifest."})]}),l("div",{className:"card-subtle space-y-4 p-6",children:[c("h2",{className:"font-bold text-2xl",children:"Root manifest shape"}),l("p",{className:"text-muted-foreground text-sm",children:["Cursor reads"," ",c("code",{children:"packages/apps-registry/cursor-marketplace/.cursor-plugin/marketplace.json"})," ","for the catalog and resolves each plugin source path from there."]}),c(i,{language:"json",filename:"packages/apps-registry/cursor-marketplace/.cursor-plugin/marketplace.json",code:`{
38
+ SKIP_PLUGIN_NETWORK_CHECK=1 bun run plugin:contractspec:validate`})]})]}),t("div",{className:"flex items-center gap-4 pt-4",children:[t(f,{href:"/docs/ecosystem/templates",className:"btn-primary",children:["Author a plugin ",e(L,{size:16})]}),e(f,{href:"/docs/ecosystem/registry",className:"btn-ghost",children:"Manifest details"})]})]})}import{CodeBlock as d}from"@contractspec/lib.design-system";import h from"@contractspec/lib.ui-link";import{ChevronRight as I}from"lucide-react";import{jsx as r,jsxs as i}from"react/jsx-runtime";function M(){return i("div",{className:"space-y-8",children:[i("div",{className:"space-y-3",children:[r("h1",{className:"font-bold text-4xl",children:"Marketplace manifest"}),r("p",{className:"text-lg text-muted-foreground",children:"ContractSpec publishes a multi-plugin Cursor marketplace catalog from a single root manifest."})]}),i("div",{className:"card-subtle space-y-4 p-6",children:[r("h2",{className:"font-bold text-2xl",children:"Root manifest shape"}),i("p",{className:"text-muted-foreground text-sm",children:["Cursor reads"," ",r("code",{children:"packages/apps-registry/cursor-marketplace/.cursor-plugin/marketplace.json"})," ","for the catalog and resolves each plugin source path from there."]}),r(d,{language:"json",filename:"packages/apps-registry/cursor-marketplace/.cursor-plugin/marketplace.json",code:`{
39
39
  "name": "contractspec-marketplace",
40
40
  "owner": { "name": "ContractSpec Team" },
41
41
  "plugins": [
@@ -48,16 +48,16 @@ SKIP_PLUGIN_NETWORK_CHECK=1 bun run plugin:contractspec:validate`})]})]}),t("div
48
48
  "source": "plugins/contractspec-contracts-spec"
49
49
  }
50
50
  ]
51
- }`})]}),l("div",{className:"card-subtle space-y-4 p-6",children:[c("h2",{className:"font-bold text-2xl",children:"Per-plugin contract"}),c("p",{className:"text-muted-foreground text-sm",children:"Each plugin source must include a Cursor plugin manifest and composable assets. The publishable plugin is derived from a reusable pack and then validated here."}),c(i,{language:"text",filename:"plugin-layout",code:`plugins/<plugin-name>/
51
+ }`})]}),i("div",{className:"card-subtle space-y-4 p-6",children:[r("h2",{className:"font-bold text-2xl",children:"Per-plugin contract"}),r("p",{className:"text-muted-foreground text-sm",children:"Each plugin source must include a Cursor plugin manifest and composable assets. The publishable plugin is derived from a reusable pack and then validated here."}),r(d,{language:"text",filename:"plugin-layout",code:`plugins/<plugin-name>/
52
52
  .cursor-plugin/plugin.json
53
53
  rules/
54
54
  commands/
55
55
  agents/
56
56
  skills/
57
- .mcp.json`}),c(i,{language:"bash",filename:"validate-catalog",code:`bun run plugin:contractspec:validate
57
+ .mcp.json`}),r(d,{language:"bash",filename:"validate-catalog",code:`bun run plugin:contractspec:validate
58
58
 
59
59
  # Optional in offline environments
60
- SKIP_PLUGIN_NETWORK_CHECK=1 bun run plugin:contractspec:validate`})]}),l("div",{className:"flex items-center gap-4 pt-4",children:[l(u,{href:"/docs/ecosystem/integrations",className:"btn-primary",children:["Integrations ",c(E,{size:16})]}),c(u,{href:"/docs/ecosystem/templates",className:"btn-ghost",children:"Plugin authoring templates"})]})]})}import R from"@contractspec/lib.ui-link";import{jsx as p,jsxs as I}from"react/jsx-runtime";function g({title:v="Need the operating layer on top of OSS ContractSpec?",body:b="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:N="See what Studio adds",href:y="https://www.contractspec.studio/docs"}){return I("div",{className:"card-subtle space-y-3 p-6",children:[p("h3",{className:"font-semibold text-lg",children:v}),p("p",{className:"text-muted-foreground text-sm",children:b}),p(R,{href:y,className:"btn-primary",children:N})]})}import{CodeBlock as f}from"@contractspec/lib.design-system";import h from"@contractspec/lib.ui-link";import{ChevronRight as M}from"lucide-react";import{jsx as o,jsxs as r}from"react/jsx-runtime";function T(){return r("div",{className:"space-y-8",children:[r("div",{className:"space-y-3",children:[o("h1",{className:"font-bold text-4xl",children:"Plugin authoring templates"}),o("p",{className:"text-lg text-muted-foreground",children:"Scaffold focused Cursor plugins for ContractSpec product and core libraries."})]}),r("div",{className:"card-subtle space-y-4 p-6",children:[o("h2",{className:"font-bold text-2xl",children:"Create a focused plugin"}),o("p",{className:"text-muted-foreground text-sm",children:"Start from a scoped domain and keep each plugin aligned to one product or library surface."}),o(f,{language:"bash",filename:"catalog-authoring-layout",code:`packages/apps-registry/cursor-marketplace/
60
+ SKIP_PLUGIN_NETWORK_CHECK=1 bun run plugin:contractspec:validate`})]}),i("div",{className:"flex items-center gap-4 pt-4",children:[i(h,{href:"/docs/ecosystem/integrations",className:"btn-primary",children:["Integrations ",r(I,{size:16})]}),r(h,{href:"/docs/ecosystem/templates",className:"btn-ghost",children:"Plugin authoring templates"})]})]})}import T from"@contractspec/lib.ui-link";import{jsx as u,jsxs as K}from"react/jsx-runtime";function v({title:c="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:p="See what Studio adds",href:y="https://www.contractspec.studio/docs"}){return K("div",{className:"card-subtle space-y-3 p-6",children:[u("h3",{className:"font-semibold text-lg",children:c}),u("p",{className:"text-muted-foreground text-sm",children:n}),u(T,{href:y,className:"btn-primary",children:p})]})}import{CodeBlock as b}from"@contractspec/lib.design-system";import N from"@contractspec/lib.ui-link";import{ChevronRight as O}from"lucide-react";import{jsx as o,jsxs as l}from"react/jsx-runtime";function _(){return l("div",{className:"space-y-8",children:[l("div",{className:"space-y-3",children:[o("h1",{className:"font-bold text-4xl",children:"Plugin authoring templates"}),o("p",{className:"text-lg text-muted-foreground",children:"Scaffold focused Cursor plugins for ContractSpec product and core libraries."})]}),l("div",{className:"card-subtle space-y-4 p-6",children:[o("h2",{className:"font-bold text-2xl",children:"Create a focused plugin"}),o("p",{className:"text-muted-foreground text-sm",children:"Start from a scoped domain and keep each plugin aligned to one product or library surface."}),o(b,{language:"bash",filename:"catalog-authoring-layout",code:`packages/apps-registry/cursor-marketplace/
61
61
  plugins/
62
62
  <plugin-name>/
63
63
  .cursor-plugin/plugin.json
@@ -65,10 +65,10 @@ SKIP_PLUGIN_NETWORK_CHECK=1 bun run plugin:contractspec:validate`})]}),l("div",{
65
65
  commands/
66
66
  agents/
67
67
  skills/
68
- .mcp.json`})]}),r("div",{className:"card-subtle space-y-4 p-6",children:[o("h2",{className:"font-bold text-2xl",children:"Template outputs"}),r("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[o("li",{children:".cursor-plugin/plugin.json with plugin metadata and paths"}),o("li",{children:"rules/, commands/, agents/, and skills/ content directories"}),o("li",{children:".mcp.json with all MCP server declarations used by the plugin"}),o("li",{children:"README.md describing scope and governance boundaries"})]})]}),r("div",{className:"card-subtle space-y-4 p-6",children:[o("h2",{className:"font-bold text-2xl",children:"Validate before submission"}),o(f,{language:"bash",filename:"validate-marketplace-catalog",code:`# Validate all plugins referenced by root marketplace manifest
68
+ .mcp.json`})]}),l("div",{className:"card-subtle space-y-4 p-6",children:[o("h2",{className:"font-bold text-2xl",children:"Template outputs"}),l("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[o("li",{children:".cursor-plugin/plugin.json with plugin metadata and paths"}),o("li",{children:"rules/, commands/, agents/, and skills/ content directories"}),o("li",{children:".mcp.json with all MCP server declarations used by the plugin"}),o("li",{children:"README.md describing scope and governance boundaries"})]})]}),l("div",{className:"card-subtle space-y-4 p-6",children:[o("h2",{className:"font-bold text-2xl",children:"Validate before submission"}),o(b,{language:"bash",filename:"validate-marketplace-catalog",code:`# Validate all plugins referenced by root marketplace manifest
69
69
  bun run plugin:contractspec:validate
70
70
 
71
71
  # Optional in offline environments
72
- SKIP_PLUGIN_NETWORK_CHECK=1 bun run plugin:contractspec:validate`})]}),o(g,{title:"Need evidence-backed template iteration?",body:"Studio helps teams prioritize template changes from real product signals and export implementation-ready task packs."}),r("div",{className:"flex items-center gap-4 pt-4",children:[r(h,{href:"/docs/ecosystem/plugins",className:"btn-primary",children:["Marketplace plugins ",o(M,{size:16})]}),o(h,{href:"/docs/ecosystem/registry",className:"btn-ghost",children:"Marketplace manifest"})]})]})}import{registerDocBlocks as K}from"@contractspec/lib.contracts-spec/docs";var O=[{id:"docs.ecosystem.plugins",title:"Marketplace plugins",summary:"Focused Cursor marketplace plugins for product and core libraries.",kind:"usage",visibility:"public",route:"/docs/ecosystem/plugins",tags:["ecosystem","plugins","extensions"],body:"# Marketplace plugins\n\nContractSpec ships a focused Cursor marketplace catalog with plugins for the product and key libraries. Plugin sources live in `packages/apps-registry/cursor-marketplace/plugins/*`, while the root manifest at `.cursor-plugin/marketplace.json` drives submission."},{id:"docs.ecosystem.integrations",title:"Integrations",summary:"Reference plugins and integrations you can extend.",kind:"usage",visibility:"public",route:"/docs/ecosystem/integrations",tags:["ecosystem","integrations"],body:`# Integrations
72
+ SKIP_PLUGIN_NETWORK_CHECK=1 bun run plugin:contractspec:validate`})]}),o(v,{title:"Need evidence-backed template iteration?",body:"Studio helps teams prioritize template changes from real product signals and export implementation-ready task packs."}),l("div",{className:"flex items-center gap-4 pt-4",children:[l(N,{href:"/docs/ecosystem/plugins",className:"btn-primary",children:["Marketplace plugins ",o(O,{size:16})]}),o(N,{href:"/docs/ecosystem/registry",className:"btn-ghost",children:"Marketplace manifest"})]})]})}import{registerDocBlocks as G}from"@contractspec/lib.contracts-spec/docs";var V=[{id:"docs.ecosystem.plugins",title:"Marketplace plugins",summary:"Focused Cursor marketplace plugins for product and core libraries.",kind:"usage",visibility:"public",route:"/docs/ecosystem/plugins",tags:["ecosystem","plugins","extensions"],body:"# Marketplace plugins\n\nContractSpec ships a focused Cursor marketplace catalog with plugins for the product and key libraries. Plugin sources live in `packages/apps-registry/cursor-marketplace/plugins/*`, while the root manifest at `.cursor-plugin/marketplace.json` drives submission."},{id:"docs.ecosystem.integrations",title:"Integrations",summary:"Reference plugins and integrations you can extend.",kind:"usage",visibility:"public",route:"/docs/ecosystem/integrations",tags:["ecosystem","integrations"],body:`# Integrations
73
73
 
74
- Reference integrations demonstrate how to extend ContractSpec with real-world plugins. Use them as starting points for your own adapters and generators.`},{id:"docs.ecosystem.templates",title:"Plugin authoring templates",summary:"Author focused plugins with a consistent marketplace-ready layout.",kind:"usage",visibility:"public",route:"/docs/ecosystem/templates",tags:["ecosystem","templates"],body:"# Plugin authoring templates\n\nCreate each plugin under `packages/apps-registry/cursor-marketplace/plugins/<plugin-name>/` and include `.cursor-plugin/plugin.json`, `rules/`, `commands/`, `agents/`, `skills/`, and `.mcp.json`."},{id:"docs.ecosystem.registry",title:"Marketplace manifest",summary:"Manage and validate root marketplace entries for all plugins.",kind:"usage",visibility:"public",route:"/docs/ecosystem/registry",tags:["ecosystem","registry"],body:"# Marketplace manifest\n\nKeep all plugin entries in `.cursor-plugin/marketplace.json` and validate them with `bun run plugin:contractspec:validate` before submission."}];K(O);export{T as EcosystemTemplatesPage,L as EcosystemRegistryPage,w as EcosystemPluginsPage,P as EcosystemIntegrationsPage};
74
+ Reference integrations demonstrate how to extend ContractSpec with real-world plugins. Use them as starting points for your own adapters and generators.`},{id:"docs.ecosystem.templates",title:"Plugin authoring templates",summary:"Author focused plugins with a consistent marketplace-ready layout.",kind:"usage",visibility:"public",route:"/docs/ecosystem/templates",tags:["ecosystem","templates"],body:"# Plugin authoring templates\n\nCreate each plugin under `packages/apps-registry/cursor-marketplace/plugins/<plugin-name>/` and include `.cursor-plugin/plugin.json`, `rules/`, `commands/`, `agents/`, `skills/`, and `.mcp.json`."},{id:"docs.ecosystem.registry",title:"Marketplace manifest",summary:"Manage and validate root marketplace entries for all plugins.",kind:"usage",visibility:"public",route:"/docs/ecosystem/registry",tags:["ecosystem","registry"],body:"# Marketplace manifest\n\nKeep all plugin entries in `.cursor-plugin/marketplace.json` and validate them with `bun run plugin:contractspec:validate` before submission."}];G(V);export{_ as EcosystemTemplatesPage,M as EcosystemRegistryPage,R as EcosystemPluginsPage,E as EcosystemIntegrationsPage};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{ExampleCatalogDataView as F}from"@contractspec/lib.contracts-spec/docs";import{ButtonLink as G,DataViewList as O,StatusChip as Q}from"@contractspec/lib.design-system";import{HStack as R,VStack as I}from"@contractspec/lib.ui-kit-web/ui/stack";import{H1 as T,Muted as J}from"@contractspec/lib.ui-kit-web/ui/typography";import{buildExampleDocsHref as U,listPublicExamples as W}from"@contractspec/module.examples";import{jsx as v,jsxs as A}from"react/jsx-runtime";function f(){let K=W().map((q)=>{let z=q.meta.title??q.meta.key;return{id:q.meta.key,title:z,summary:q.meta.summary??q.meta.description,route:U(q.meta.key),tags:q.meta.tags,sandboxEnabled:q.surfaces.sandbox.enabled}}).sort((q,z)=>q.title.localeCompare(z.title)),N={...F,view:{...F.view,kind:"list"}};return A(I,{gap:"xl",children:[A(I,{gap:"sm",children:[v(T,{children:"Examples"}),v(J,{children:"Reference implementations for real ContractSpec surfaces. Use them to study adoption patterns, inspect generated artifacts, and validate the OSS workflow against runnable systems."})]}),v(O,{spec:N,items:K,emptyState:v(J,{children:"No examples available."}),renderActions:(q)=>{return A(R,{gap:"xs",justify:"end",children:[q.sandboxEnabled?v(G,{href:`/sandbox?template=${q.id}`,size:"sm",variant:"outline",children:"Sandbox"}):null,v(G,{href:q.route,size:"sm",children:"Reference"}),q.tags?.[0]?v(Q,{size:"sm",label:q.tags[0]}):null]})}})]})}export{f as DocsExamplesPage};
2
+ var O=Object.defineProperty;var P=(y)=>y;function Q(y,z){this[y]=P.bind(null,z)}var Z=(y,z)=>{for(var q in z)O(y,q,{get:z[q],enumerable:!0,configurable:!0,set:Q.bind(z,q)})};var _=(y,z)=>()=>(y&&(z=y(y=0)),z);import{ExampleCatalogDataView as I}from"@contractspec/lib.contracts-spec/docs";import{ButtonLink as J,DataViewList as R,StatusChip as T}from"@contractspec/lib.design-system";import{HStack as U,VStack as K}from"@contractspec/lib.ui-kit-web/ui/stack";import{H1 as W,Muted as N}from"@contractspec/lib.ui-kit-web/ui/typography";import{buildExampleDocsHref as X,listDiscoverableExamples as Y}from"@contractspec/module.examples/catalog";import{jsx as A,jsxs as G}from"react/jsx-runtime";function g(){let y=Y().map((q)=>{let F=q.meta.title??q.meta.key;return{id:q.meta.key,title:F,summary:q.meta.summary??q.meta.description,route:X(q.meta.key),tags:q.meta.tags,sandboxEnabled:q.surfaces.sandbox.enabled}}).sort((q,F)=>q.title.localeCompare(F.title)),z={...I,view:{...I.view,kind:"list"}};return G(K,{gap:"xl",children:[G(K,{gap:"sm",children:[A(W,{children:"Examples"}),A(N,{children:"Reference implementations for real ContractSpec surfaces. Use them to study adoption patterns, inspect generated artifacts, and validate the OSS workflow against runnable systems."})]}),A(R,{spec:z,items:y,emptyState:A(N,{children:"No examples available."}),renderActions:(q)=>{return G(U,{gap:"xs",justify:"end",children:[q.sandboxEnabled?A(J,{href:`/sandbox?template=${q.id}`,size:"sm",variant:"outline",children:"Sandbox"}):null,A(J,{href:q.route,size:"sm",children:"Reference"}),q.tags?.[0]?A(T,{size:"sm",label:q.tags[0]}):null]})}})]})}export{g as DocsExamplesPage};