@contractspec/bundle.marketing 1.12.0 → 1.14.0

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 (262) hide show
  1. package/.turbo/turbo-build.log +146 -175
  2. package/.turbo/turbo-prebuild.log +1 -0
  3. package/CHANGELOG.md +57 -0
  4. package/dist/browser/components/marketing/ChangelogPage.js +92 -0
  5. package/dist/browser/components/marketing/CofounderPage.js +581 -0
  6. package/dist/browser/components/marketing/ContactClient.js +1379 -0
  7. package/dist/browser/components/marketing/ContributePage.js +487 -0
  8. package/dist/browser/components/marketing/DesignPartnerPage.js +272 -0
  9. package/dist/browser/components/marketing/LandingPage.js +629 -0
  10. package/dist/browser/components/marketing/PricingClient.js +1972 -0
  11. package/dist/browser/components/marketing/ProductClientPage.js +563 -0
  12. package/dist/browser/components/marketing/index.js +4818 -0
  13. package/dist/browser/components/marketing/pricing-thinking-modal.js +258 -0
  14. package/dist/browser/components/marketing/sections/AudienceSection.js +90 -0
  15. package/dist/browser/components/marketing/sections/CorePositioningSection.js +72 -0
  16. package/dist/browser/components/marketing/sections/CtaSection.js +67 -0
  17. package/dist/browser/components/marketing/sections/DevelopersSection.js +50 -0
  18. package/dist/browser/components/marketing/sections/FearsSection.js +105 -0
  19. package/dist/browser/components/marketing/sections/HeroMarketingSection.js +93 -0
  20. package/dist/browser/components/marketing/sections/IconGridSection.js +63 -0
  21. package/dist/browser/components/marketing/sections/OutputsSection.js +116 -0
  22. package/dist/browser/components/marketing/sections/ProblemSection.js +103 -0
  23. package/dist/browser/components/marketing/sections/SolutionSection.js +103 -0
  24. package/dist/browser/components/marketing/sections/StepsSection.js +109 -0
  25. package/dist/browser/components/marketing/waitlist-section.js +1104 -0
  26. package/dist/browser/components/templates/TemplatesClientPage.js +5662 -0
  27. package/dist/browser/components/templates/TemplatesPage.js +177 -0
  28. package/dist/browser/components/templates/TemplatesPreviewModal.js +124 -0
  29. package/dist/browser/components/templates/index.js +5831 -0
  30. package/dist/browser/index.js +6485 -0
  31. package/dist/browser/libs/email/client.js +122 -0
  32. package/dist/browser/libs/email/contact.js +190 -0
  33. package/dist/browser/libs/email/newsletter.js +215 -0
  34. package/dist/browser/libs/email/types.js +2 -0
  35. package/dist/browser/libs/email/utils.js +16 -0
  36. package/dist/browser/libs/email/waitlist-application.js +295 -0
  37. package/dist/browser/libs/email/waitlist.js +225 -0
  38. package/dist/browser/libs/pricing-examples.js +26 -0
  39. package/dist/browser/registry/engine.js +5293 -0
  40. package/dist/browser/registry/factory.js +52 -0
  41. package/dist/browser/registry/index.js +5358 -0
  42. package/dist/browser/registry/registry-docs.js +343 -0
  43. package/dist/browser/registry/registry-landing.js +4937 -0
  44. package/dist/browser/registry/registry.js +5279 -0
  45. package/dist/browser/registry/types.js +0 -0
  46. package/dist/browser/registry/utils.js +5340 -0
  47. package/dist/components/marketing/ChangelogPage.d.ts +11 -17
  48. package/dist/components/marketing/ChangelogPage.d.ts.map +1 -1
  49. package/dist/components/marketing/ChangelogPage.js +84 -62
  50. package/dist/components/marketing/CofounderPage.d.ts +1 -6
  51. package/dist/components/marketing/CofounderPage.d.ts.map +1 -1
  52. package/dist/components/marketing/CofounderPage.js +544 -436
  53. package/dist/components/marketing/ContactClient.d.ts +1 -6
  54. package/dist/components/marketing/ContactClient.d.ts.map +1 -1
  55. package/dist/components/marketing/ContactClient.js +1371 -155
  56. package/dist/components/marketing/ContributePage.d.ts +3 -8
  57. package/dist/components/marketing/ContributePage.d.ts.map +1 -1
  58. package/dist/components/marketing/ContributePage.js +478 -358
  59. package/dist/components/marketing/DesignPartnerPage.d.ts +3 -8
  60. package/dist/components/marketing/DesignPartnerPage.d.ts.map +1 -1
  61. package/dist/components/marketing/DesignPartnerPage.js +263 -211
  62. package/dist/components/marketing/LandingPage.d.ts +1 -6
  63. package/dist/components/marketing/LandingPage.d.ts.map +1 -1
  64. package/dist/components/marketing/LandingPage.js +623 -37
  65. package/dist/components/marketing/PricingClient.d.ts +1 -6
  66. package/dist/components/marketing/PricingClient.d.ts.map +1 -1
  67. package/dist/components/marketing/PricingClient.js +1962 -516
  68. package/dist/components/marketing/ProductClientPage.d.ts +1 -6
  69. package/dist/components/marketing/ProductClientPage.d.ts.map +1 -1
  70. package/dist/components/marketing/ProductClientPage.js +556 -458
  71. package/dist/components/marketing/index.d.ts +11 -11
  72. package/dist/components/marketing/index.d.ts.map +1 -0
  73. package/dist/components/marketing/index.js +4813 -12
  74. package/dist/components/marketing/pricing-thinking-modal.d.ts +5 -13
  75. package/dist/components/marketing/pricing-thinking-modal.d.ts.map +1 -1
  76. package/dist/components/marketing/pricing-thinking-modal.js +248 -197
  77. package/dist/components/marketing/sections/AudienceSection.d.ts +1 -6
  78. package/dist/components/marketing/sections/AudienceSection.d.ts.map +1 -1
  79. package/dist/components/marketing/sections/AudienceSection.js +80 -63
  80. package/dist/components/marketing/sections/CorePositioningSection.d.ts +1 -6
  81. package/dist/components/marketing/sections/CorePositioningSection.d.ts.map +1 -1
  82. package/dist/components/marketing/sections/CorePositioningSection.js +62 -54
  83. package/dist/components/marketing/sections/CtaSection.d.ts +1 -6
  84. package/dist/components/marketing/sections/CtaSection.d.ts.map +1 -1
  85. package/dist/components/marketing/sections/CtaSection.js +58 -50
  86. package/dist/components/marketing/sections/DevelopersSection.d.ts +1 -6
  87. package/dist/components/marketing/sections/DevelopersSection.d.ts.map +1 -1
  88. package/dist/components/marketing/sections/DevelopersSection.js +40 -40
  89. package/dist/components/marketing/sections/FearsSection.d.ts +1 -6
  90. package/dist/components/marketing/sections/FearsSection.d.ts.map +1 -1
  91. package/dist/components/marketing/sections/FearsSection.js +96 -44
  92. package/dist/components/marketing/sections/HeroMarketingSection.d.ts +1 -6
  93. package/dist/components/marketing/sections/HeroMarketingSection.d.ts.map +1 -1
  94. package/dist/components/marketing/sections/HeroMarketingSection.js +82 -71
  95. package/dist/components/marketing/sections/IconGridSection.d.ts +25 -39
  96. package/dist/components/marketing/sections/IconGridSection.d.ts.map +1 -1
  97. package/dist/components/marketing/sections/IconGridSection.js +55 -41
  98. package/dist/components/marketing/sections/OutputsSection.d.ts +1 -6
  99. package/dist/components/marketing/sections/OutputsSection.d.ts.map +1 -1
  100. package/dist/components/marketing/sections/OutputsSection.js +107 -55
  101. package/dist/components/marketing/sections/ProblemSection.d.ts +1 -6
  102. package/dist/components/marketing/sections/ProblemSection.d.ts.map +1 -1
  103. package/dist/components/marketing/sections/ProblemSection.js +94 -42
  104. package/dist/components/marketing/sections/SolutionSection.d.ts +1 -6
  105. package/dist/components/marketing/sections/SolutionSection.d.ts.map +1 -1
  106. package/dist/components/marketing/sections/SolutionSection.js +94 -42
  107. package/dist/components/marketing/sections/StepsSection.d.ts +1 -6
  108. package/dist/components/marketing/sections/StepsSection.d.ts.map +1 -1
  109. package/dist/components/marketing/sections/StepsSection.js +100 -48
  110. package/dist/components/marketing/waitlist-section.d.ts +5 -12
  111. package/dist/components/marketing/waitlist-section.d.ts.map +1 -1
  112. package/dist/components/marketing/waitlist-section.js +1089 -568
  113. package/dist/components/templates/TemplatesClientPage.d.ts +1 -6
  114. package/dist/components/templates/TemplatesClientPage.d.ts.map +1 -1
  115. package/dist/components/templates/TemplatesClientPage.js +5649 -617
  116. package/dist/components/templates/TemplatesPage.d.ts +1 -6
  117. package/dist/components/templates/TemplatesPage.d.ts.map +1 -1
  118. package/dist/components/templates/TemplatesPage.js +163 -116
  119. package/dist/components/templates/TemplatesPreviewModal.d.ts +5 -12
  120. package/dist/components/templates/TemplatesPreviewModal.d.ts.map +1 -1
  121. package/dist/components/templates/TemplatesPreviewModal.js +113 -131
  122. package/dist/components/templates/index.d.ts +4 -4
  123. package/dist/components/templates/index.d.ts.map +1 -0
  124. package/dist/components/templates/index.js +5825 -4
  125. package/dist/index.d.ts +9 -29
  126. package/dist/index.d.ts.map +1 -0
  127. package/dist/index.js +6480 -28
  128. package/dist/libs/email/client.d.ts +9 -12
  129. package/dist/libs/email/client.d.ts.map +1 -1
  130. package/dist/libs/email/client.js +109 -105
  131. package/dist/libs/email/client.test.d.ts +2 -0
  132. package/dist/libs/email/client.test.d.ts.map +1 -0
  133. package/dist/libs/email/contact.d.ts +2 -6
  134. package/dist/libs/email/contact.d.ts.map +1 -1
  135. package/dist/libs/email/contact.js +155 -41
  136. package/dist/libs/email/newsletter.d.ts +2 -6
  137. package/dist/libs/email/newsletter.d.ts.map +1 -1
  138. package/dist/libs/email/newsletter.js +169 -54
  139. package/dist/libs/email/types.d.ts +48 -52
  140. package/dist/libs/email/types.d.ts.map +1 -1
  141. package/dist/libs/email/types.js +3 -1
  142. package/dist/libs/email/utils.d.ts +2 -5
  143. package/dist/libs/email/utils.d.ts.map +1 -1
  144. package/dist/libs/email/utils.js +10 -6
  145. package/dist/libs/email/waitlist-application.d.ts +2 -6
  146. package/dist/libs/email/waitlist-application.d.ts.map +1 -1
  147. package/dist/libs/email/waitlist-application.js +191 -71
  148. package/dist/libs/email/waitlist.d.ts +2 -6
  149. package/dist/libs/email/waitlist.d.ts.map +1 -1
  150. package/dist/libs/email/waitlist.js +171 -56
  151. package/dist/libs/pricing-examples.d.ts +13 -16
  152. package/dist/libs/pricing-examples.d.ts.map +1 -1
  153. package/dist/libs/pricing-examples.js +20 -20
  154. package/dist/node/components/marketing/ChangelogPage.js +87 -0
  155. package/dist/node/components/marketing/CofounderPage.js +576 -0
  156. package/dist/node/components/marketing/ContactClient.js +1374 -0
  157. package/dist/node/components/marketing/ContributePage.js +482 -0
  158. package/dist/node/components/marketing/DesignPartnerPage.js +267 -0
  159. package/dist/node/components/marketing/LandingPage.js +624 -0
  160. package/dist/node/components/marketing/PricingClient.js +1967 -0
  161. package/dist/node/components/marketing/ProductClientPage.js +558 -0
  162. package/dist/node/components/marketing/index.js +4813 -0
  163. package/dist/node/components/marketing/pricing-thinking-modal.js +253 -0
  164. package/dist/node/components/marketing/sections/AudienceSection.js +85 -0
  165. package/dist/node/components/marketing/sections/CorePositioningSection.js +67 -0
  166. package/dist/node/components/marketing/sections/CtaSection.js +62 -0
  167. package/dist/node/components/marketing/sections/DevelopersSection.js +45 -0
  168. package/dist/node/components/marketing/sections/FearsSection.js +100 -0
  169. package/dist/node/components/marketing/sections/HeroMarketingSection.js +88 -0
  170. package/dist/node/components/marketing/sections/IconGridSection.js +58 -0
  171. package/dist/node/components/marketing/sections/OutputsSection.js +111 -0
  172. package/dist/node/components/marketing/sections/ProblemSection.js +98 -0
  173. package/dist/node/components/marketing/sections/SolutionSection.js +98 -0
  174. package/dist/node/components/marketing/sections/StepsSection.js +104 -0
  175. package/dist/node/components/marketing/waitlist-section.js +1099 -0
  176. package/dist/node/components/templates/TemplatesClientPage.js +5657 -0
  177. package/dist/node/components/templates/TemplatesPage.js +172 -0
  178. package/dist/node/components/templates/TemplatesPreviewModal.js +119 -0
  179. package/dist/node/components/templates/index.js +5826 -0
  180. package/dist/node/index.js +6480 -0
  181. package/dist/node/libs/email/client.js +117 -0
  182. package/dist/node/libs/email/contact.js +185 -0
  183. package/dist/node/libs/email/newsletter.js +210 -0
  184. package/dist/node/libs/email/types.js +2 -0
  185. package/dist/node/libs/email/utils.js +11 -0
  186. package/dist/node/libs/email/waitlist-application.js +290 -0
  187. package/dist/node/libs/email/waitlist.js +220 -0
  188. package/dist/node/libs/pricing-examples.js +21 -0
  189. package/dist/node/registry/engine.js +5288 -0
  190. package/dist/node/registry/factory.js +47 -0
  191. package/dist/node/registry/index.js +5353 -0
  192. package/dist/node/registry/registry-docs.js +338 -0
  193. package/dist/node/registry/registry-landing.js +4932 -0
  194. package/dist/node/registry/registry.js +5274 -0
  195. package/dist/node/registry/types.js +0 -0
  196. package/dist/node/registry/utils.js +5335 -0
  197. package/dist/registry/engine.d.ts +4 -8
  198. package/dist/registry/engine.d.ts.map +1 -1
  199. package/dist/registry/engine.js +5287 -23
  200. package/dist/registry/factory.d.ts +30 -34
  201. package/dist/registry/factory.d.ts.map +1 -1
  202. package/dist/registry/factory.js +42 -56
  203. package/dist/registry/index.d.ts +8 -8
  204. package/dist/registry/index.d.ts.map +1 -0
  205. package/dist/registry/index.js +5353 -8
  206. package/dist/registry/registry-docs.d.ts +4 -8
  207. package/dist/registry/registry-docs.d.ts.map +1 -1
  208. package/dist/registry/registry-docs.js +242 -209
  209. package/dist/registry/registry-landing.d.ts +5 -9
  210. package/dist/registry/registry-landing.d.ts.map +1 -1
  211. package/dist/registry/registry-landing.js +4930 -93
  212. package/dist/registry/registry.d.ts +7 -11
  213. package/dist/registry/registry.d.ts.map +1 -1
  214. package/dist/registry/registry.js +5262 -49
  215. package/dist/registry/types.d.ts +6 -10
  216. package/dist/registry/types.d.ts.map +1 -1
  217. package/dist/registry/types.js +1 -0
  218. package/dist/registry/utils.d.ts +10 -14
  219. package/dist/registry/utils.d.ts.map +1 -1
  220. package/dist/registry/utils.js +5330 -49
  221. package/package.json +355 -73
  222. package/tsdown.config.js +1 -2
  223. package/.turbo/turbo-build$colon$types.log +0 -1
  224. package/.turbo/turbo-lint.log +0 -3
  225. package/dist/components/marketing/ChangelogPage.js.map +0 -1
  226. package/dist/components/marketing/CofounderPage.js.map +0 -1
  227. package/dist/components/marketing/ContactClient.js.map +0 -1
  228. package/dist/components/marketing/ContributePage.js.map +0 -1
  229. package/dist/components/marketing/DesignPartnerPage.js.map +0 -1
  230. package/dist/components/marketing/LandingPage.js.map +0 -1
  231. package/dist/components/marketing/PricingClient.js.map +0 -1
  232. package/dist/components/marketing/ProductClientPage.js.map +0 -1
  233. package/dist/components/marketing/pricing-thinking-modal.js.map +0 -1
  234. package/dist/components/marketing/sections/AudienceSection.js.map +0 -1
  235. package/dist/components/marketing/sections/CorePositioningSection.js.map +0 -1
  236. package/dist/components/marketing/sections/CtaSection.js.map +0 -1
  237. package/dist/components/marketing/sections/DevelopersSection.js.map +0 -1
  238. package/dist/components/marketing/sections/FearsSection.js.map +0 -1
  239. package/dist/components/marketing/sections/HeroMarketingSection.js.map +0 -1
  240. package/dist/components/marketing/sections/IconGridSection.js.map +0 -1
  241. package/dist/components/marketing/sections/OutputsSection.js.map +0 -1
  242. package/dist/components/marketing/sections/ProblemSection.js.map +0 -1
  243. package/dist/components/marketing/sections/SolutionSection.js.map +0 -1
  244. package/dist/components/marketing/sections/StepsSection.js.map +0 -1
  245. package/dist/components/marketing/waitlist-section.js.map +0 -1
  246. package/dist/components/templates/TemplatesClientPage.js.map +0 -1
  247. package/dist/components/templates/TemplatesPage.js.map +0 -1
  248. package/dist/components/templates/TemplatesPreviewModal.js.map +0 -1
  249. package/dist/libs/email/client.js.map +0 -1
  250. package/dist/libs/email/contact.js.map +0 -1
  251. package/dist/libs/email/newsletter.js.map +0 -1
  252. package/dist/libs/email/utils.js.map +0 -1
  253. package/dist/libs/email/waitlist-application.js.map +0 -1
  254. package/dist/libs/email/waitlist.js.map +0 -1
  255. package/dist/libs/pricing-examples.js.map +0 -1
  256. package/dist/registry/engine.js.map +0 -1
  257. package/dist/registry/factory.js.map +0 -1
  258. package/dist/registry/registry-docs.js.map +0 -1
  259. package/dist/registry/registry-landing.js.map +0 -1
  260. package/dist/registry/registry.js.map +0 -1
  261. package/dist/registry/utils.js.map +0 -1
  262. package/tsconfig.tsbuildinfo +0 -1
@@ -1,362 +1,482 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
1
+ // @bun
2
+ var __require = import.meta.require;
2
3
 
3
- //#region src/components/marketing/ContributePage.tsx
4
- const metadata = {
5
- title: "Contribute to ContractSpec",
6
- description: "Join the ContractSpec open-source community. Report issues, improve docs, build integrations, and help shape the future of spec-first development.",
7
- openGraph: {
8
- title: "Contribute to ContractSpec",
9
- description: "Get started contributing in under 3 minutes. Docs, examples, integrations, and more.",
10
- url: "https://contractspec.io/contribute"
11
- },
12
- alternates: { canonical: "https://contractspec.io/contribute" }
4
+ // src/components/marketing/ContributePage.tsx
5
+ import { jsxDEV } from "react/jsx-dev-runtime";
6
+ var metadata = {
7
+ title: "Contribute to ContractSpec",
8
+ description: "Join the ContractSpec open-source community. Report issues, improve docs, build integrations, and help shape the future of spec-first development.",
9
+ openGraph: {
10
+ title: "Contribute to ContractSpec",
11
+ description: "Get started contributing in under 3 minutes. Docs, examples, integrations, and more.",
12
+ url: "https://contractspec.io/contribute"
13
+ },
14
+ alternates: {
15
+ canonical: "https://contractspec.io/contribute"
16
+ }
13
17
  };
14
18
  function ContributePage() {
15
- return /* @__PURE__ */ jsx("main", {
16
- className: "flex grow flex-col items-center justify-center",
17
- children: /* @__PURE__ */ jsx("section", {
18
- className: "section-padding",
19
- children: /* @__PURE__ */ jsxs("div", {
20
- className: "prose prose-invert mx-auto max-w-2xl",
21
- children: [
22
- /* @__PURE__ */ jsx("h1", {
23
- className: "mb-8 text-4xl font-bold",
24
- children: "Contribute to ContractSpec"
25
- }),
26
- /* @__PURE__ */ jsxs("div", {
27
- className: "not-prose border-border bg-muted/30 mb-12 rounded-lg border p-6",
28
- children: [/* @__PURE__ */ jsx("h2", {
29
- className: "text-foreground mb-4 text-xl font-bold",
30
- children: " Quick Start — 3 Minutes to Your First Contribution"
31
- }), /* @__PURE__ */ jsxs("ol", {
32
- className: "text-muted-foreground list-inside list-decimal space-y-2",
33
- children: [
34
- /* @__PURE__ */ jsxs("li", { children: [
35
- "Read the",
36
- " ",
37
- /* @__PURE__ */ jsx("a", {
38
- href: "https://github.com/contractspec/contractspec/blob/main/CONTRIBUTING.md",
39
- className: "text-primary hover:underline",
40
- target: "_blank",
41
- rel: "noopener noreferrer",
42
- children: "CONTRIBUTING guide"
43
- })
44
- ] }),
45
- /* @__PURE__ */ jsxs("li", { children: [
46
- "Pick a",
47
- " ",
48
- /* @__PURE__ */ jsx("a", {
49
- href: "https://github.com/contractspec/contractspec/labels/good%20first%20issue",
50
- className: "text-primary hover:underline",
51
- target: "_blank",
52
- rel: "noopener noreferrer",
53
- children: "good first issue"
54
- }),
55
- " ",
56
- "or",
57
- " ",
58
- /* @__PURE__ */ jsx("a", {
59
- href: "https://github.com/contractspec/contractspec/labels/help%20wanted",
60
- className: "text-primary hover:underline",
61
- target: "_blank",
62
- rel: "noopener noreferrer",
63
- children: "help wanted"
64
- }),
65
- " ",
66
- "label"
67
- ] }),
68
- /* @__PURE__ */ jsx("li", { children: "Open a draft PR early — we'll guide you from there" })
69
- ]
70
- })]
71
- }),
72
- /* @__PURE__ */ jsxs("section", {
73
- className: "mb-10 space-y-4",
74
- children: [/* @__PURE__ */ jsx("h2", {
75
- className: "text-foreground text-2xl font-bold",
76
- children: "Why Open Source?"
77
- }), /* @__PURE__ */ jsxs("ul", {
78
- className: "text-muted-foreground list-inside list-disc space-y-2",
79
- children: [
80
- /* @__PURE__ */ jsxs("li", { children: [/* @__PURE__ */ jsx("strong", { children: "Transparency:" }), " You can see exactly how your code is compiled and deployed"] }),
81
- /* @__PURE__ */ jsxs("li", { children: [/* @__PURE__ */ jsx("strong", { children: "Trust:" }), " No black boxes — audit the compiler that shapes your AI-generated code"] }),
82
- /* @__PURE__ */ jsxs("li", { children: [/* @__PURE__ */ jsx("strong", { children: "Faster ecosystem:" }), " Community contributions accelerate adoption and surface real-world edge cases"] }),
83
- /* @__PURE__ */ jsxs("li", { children: [/* @__PURE__ */ jsx("strong", { children: "Community review:" }), " More eyes catch more bugs, and better patterns emerge"] }),
84
- /* @__PURE__ */ jsxs("li", { children: [/* @__PURE__ */ jsx("strong", { children: "No lock-in:" }), " You own your code. The spec is portable."] })
85
- ]
86
- })]
87
- }),
88
- /* @__PURE__ */ jsxs("section", {
89
- className: "mb-10 space-y-4",
90
- children: [/* @__PURE__ */ jsx("h2", {
91
- className: "text-foreground text-2xl font-bold",
92
- children: "Where to Contribute"
93
- }), /* @__PURE__ */ jsxs("ul", {
94
- className: "text-muted-foreground list-inside list-disc space-y-2",
95
- children: [
96
- /* @__PURE__ */ jsxs("li", { children: [
97
- /* @__PURE__ */ jsx("a", {
98
- href: "https://github.com/contractspec",
99
- className: "text-primary hover:underline",
100
- target: "_blank",
101
- rel: "noopener noreferrer",
102
- children: "GitHub Organization"
103
- }),
104
- " ",
105
- "— All repos live here"
106
- ] }),
107
- /* @__PURE__ */ jsxs("li", { children: [
108
- /* @__PURE__ */ jsx("a", {
109
- href: "https://github.com/contractspec/contractspec",
110
- className: "text-primary hover:underline",
111
- target: "_blank",
112
- rel: "noopener noreferrer",
113
- children: "Main Repository"
114
- }),
115
- " ",
116
- "— Core compiler and specs"
117
- ] }),
118
- /* @__PURE__ */ jsxs("li", { children: [
119
- /* @__PURE__ */ jsx("a", {
120
- href: "https://github.com/contractspec/contractspec/discussions",
121
- className: "text-primary hover:underline",
122
- target: "_blank",
123
- rel: "noopener noreferrer",
124
- children: "Discussions"
125
- }),
126
- " ",
127
- "— Questions, ideas, and RFCs"
128
- ] })
129
- ]
130
- })]
131
- }),
132
- /* @__PURE__ */ jsxs("section", {
133
- className: "mb-10 space-y-4",
134
- children: [/* @__PURE__ */ jsx("h2", {
135
- className: "text-foreground text-2xl font-bold",
136
- children: "Ways to Contribute"
137
- }), /* @__PURE__ */ jsxs("div", {
138
- className: "text-muted-foreground space-y-3",
139
- children: [
140
- /* @__PURE__ */ jsxs("p", { children: [
141
- /* @__PURE__ */ jsx("strong", {
142
- className: "text-foreground",
143
- children: "📄 Documentation:"
144
- }),
145
- " ",
146
- "Fix typos, improve explanations, add missing guides"
147
- ] }),
148
- /* @__PURE__ */ jsxs("p", { children: [
149
- /* @__PURE__ */ jsx("strong", {
150
- className: "text-foreground",
151
- children: "📦 Examples & Templates:"
152
- }),
153
- " ",
154
- "Build real-world specs for common use cases"
155
- ] }),
156
- /* @__PURE__ */ jsxs("p", { children: [
157
- /* @__PURE__ */ jsx("strong", {
158
- className: "text-foreground",
159
- children: "🔌 Integrations & Adapters:"
160
- }),
161
- " ",
162
- "Connect ContractSpec to frameworks, databases, and tools"
163
- ] }),
164
- /* @__PURE__ */ jsxs("p", { children: [
165
- /* @__PURE__ */ jsx("strong", {
166
- className: "text-foreground",
167
- children: "🐛 Bug Reports:"
168
- }),
169
- " ",
170
- "File issues with clear reproduction steps — minimal cases help the most"
171
- ] }),
172
- /* @__PURE__ */ jsxs("p", { children: [
173
- /* @__PURE__ */ jsx("strong", {
174
- className: "text-foreground",
175
- children: "🔒 Security Reports:"
176
- }),
177
- " ",
178
- "Found a vulnerability? See",
179
- " ",
180
- /* @__PURE__ */ jsx("a", {
181
- href: "#security",
182
- className: "text-primary hover:underline",
183
- children: "Security"
184
- }),
185
- " ",
186
- "below"
187
- ] })
188
- ]
189
- })]
190
- }),
191
- /* @__PURE__ */ jsxs("section", {
192
- className: "mb-10 space-y-4",
193
- children: [
194
- /* @__PURE__ */ jsx("h2", {
195
- className: "text-foreground text-2xl font-bold",
196
- children: "Quality Bar"
197
- }),
198
- /* @__PURE__ */ jsx("p", {
199
- className: "text-muted-foreground",
200
- children: "We keep the bar high so the codebase stays maintainable. Every PR should:"
201
- }),
202
- /* @__PURE__ */ jsxs("ul", {
203
- className: "text-muted-foreground list-inside list-disc space-y-2",
204
- children: [
205
- /* @__PURE__ */ jsxs("li", { children: [/* @__PURE__ */ jsx("strong", { children: "Include tests" }), " Unit tests for logic, integration tests for adapters"] }),
206
- /* @__PURE__ */ jsxs("li", { children: [
207
- /* @__PURE__ */ jsx("strong", { children: "Be fully typed" }),
208
- " No ",
209
- /* @__PURE__ */ jsx("code", { children: "any" }),
210
- ". Strict TypeScript only."
211
- ] }),
212
- /* @__PURE__ */ jsxs("li", { children: [/* @__PURE__ */ jsx("strong", { children: "Stay small" }), " — One concern per PR. Easier to review, faster to merge."] }),
213
- /* @__PURE__ */ jsxs("li", { children: [/* @__PURE__ */ jsx("strong", { children: "Use clear commit messages" }), " — Describe _what_ and _why_, not just _how_"] })
214
- ]
215
- }),
216
- /* @__PURE__ */ jsxs("div", {
217
- className: "bg-muted/20 mt-4 rounded-md p-4",
218
- children: [/* @__PURE__ */ jsx("h3", {
219
- className: "text-foreground mb-2 font-semibold",
220
- children: "Spec-First Mindset"
221
- }), /* @__PURE__ */ jsx("p", {
222
- className: "text-muted-foreground text-sm",
223
- children: "ContractSpec exists to enforce contracts between humans, AI, and code. When contributing, think spec-first: define the behavior before the implementation. A well-defined spec makes changes safe to regenerate and easy to validate."
224
- })]
225
- })
226
- ]
227
- }),
228
- /* @__PURE__ */ jsxs("section", {
229
- className: "mb-10 space-y-4",
230
- children: [
231
- /* @__PURE__ */ jsx("h2", {
232
- className: "text-foreground text-2xl font-bold",
233
- children: "Governance & Decision Making"
234
- }),
235
- /* @__PURE__ */ jsxs("p", {
236
- className: "text-muted-foreground",
237
- children: [
238
- "ContractSpec uses a",
239
- " ",
240
- /* @__PURE__ */ jsx("strong", {
241
- className: "text-foreground",
242
- children: "founder-led maintainer model"
243
- }),
244
- ":"
245
- ]
246
- }),
247
- /* @__PURE__ */ jsxs("ul", {
248
- className: "text-muted-foreground list-inside list-disc space-y-2",
249
- children: [
250
- /* @__PURE__ */ jsx("li", { children: "The founder has final say on significant decisions — for now" }),
251
- /* @__PURE__ */ jsx("li", { children: "All reasoning is shared publicly in issues or PRs" }),
252
- /* @__PURE__ */ jsx("li", { children: "Community input shapes direction; we don't merge in silence" }),
253
- /* @__PURE__ */ jsx("li", { children: "This model may evolve as the project matures and trusted maintainers emerge" })
254
- ]
255
- })
256
- ]
257
- }),
258
- /* @__PURE__ */ jsxs("section", {
259
- className: "mb-10 space-y-4",
260
- id: "security",
261
- children: [
262
- /* @__PURE__ */ jsx("h2", {
263
- className: "text-foreground text-2xl font-bold",
264
- children: "Security"
265
- }),
266
- /* @__PURE__ */ jsxs("p", {
267
- className: "text-muted-foreground",
268
- children: [
269
- "If you discover a security vulnerability, please",
270
- " ",
271
- /* @__PURE__ */ jsx("strong", {
272
- className: "text-foreground",
273
- children: "do not"
274
- }),
275
- " open a public issue."
276
- ]
277
- }),
278
- /* @__PURE__ */ jsxs("p", {
279
- className: "text-muted-foreground",
280
- children: [
281
- "Instead, email us at",
282
- " ",
283
- /* @__PURE__ */ jsx("a", {
284
- href: "mailto:security@contractspec.io",
285
- className: "text-primary hover:underline",
286
- children: "security@contractspec.io"
287
- }),
288
- " ",
289
- "with:"
290
- ]
291
- }),
292
- /* @__PURE__ */ jsxs("ul", {
293
- className: "text-muted-foreground list-inside list-disc space-y-2",
294
- children: [
295
- /* @__PURE__ */ jsx("li", { children: "A clear description of the vulnerability" }),
296
- /* @__PURE__ */ jsx("li", { children: "Steps to reproduce" }),
297
- /* @__PURE__ */ jsx("li", { children: "Potential impact" })
298
- ]
299
- }),
300
- /* @__PURE__ */ jsx("p", {
301
- className: "text-muted-foreground",
302
- children: "We'll acknowledge within 48 hours and work with you to coordinate disclosure."
303
- })
304
- ]
305
- }),
306
- /* @__PURE__ */ jsxs("section", {
307
- className: "mb-10 space-y-4",
308
- children: [/* @__PURE__ */ jsx("h2", {
309
- className: "text-foreground text-2xl font-bold",
310
- children: "Code of Conduct"
311
- }), /* @__PURE__ */ jsxs("p", {
312
- className: "text-muted-foreground",
313
- children: [
314
- "We expect all contributors to follow our",
315
- " ",
316
- /* @__PURE__ */ jsx("a", {
317
- href: "https://github.com/contractspec/contractspec/blob/main/CODE_OF_CONDUCT.md",
318
- className: "text-primary hover:underline",
319
- target: "_blank",
320
- rel: "noopener noreferrer",
321
- children: "Code of Conduct"
322
- }),
323
- ". Be respectful, constructive, and assume good intent."
324
- ]
325
- })]
326
- }),
327
- /* @__PURE__ */ jsxs("section", {
328
- className: "border-border mt-12 space-y-4 border-t pt-8",
329
- children: [
330
- /* @__PURE__ */ jsx("h2", {
331
- className: "text-foreground text-2xl font-bold",
332
- children: "Want to Go Deeper?"
333
- }),
334
- /* @__PURE__ */ jsx("p", {
335
- className: "text-muted-foreground",
336
- children: "If you're considering a long-term commitment to ContractSpec — reviewing PRs regularly, shaping roadmap, mentoring new contributors — we'd love to talk."
337
- }),
338
- /* @__PURE__ */ jsxs("p", {
339
- className: "text-muted-foreground",
340
- children: [
341
- "This isn't a job offer. It's an invitation to help build something meaningful together. Reach out at",
342
- " ",
343
- /* @__PURE__ */ jsx("a", {
344
- href: "mailto:maintainers@contractspec.io",
345
- className: "text-primary hover:underline",
346
- children: "maintainers@contractspec.io"
347
- }),
348
- " ",
349
- "and tell us what you'd bring to the table."
350
- ]
351
- })
352
- ]
353
- })
354
- ]
355
- })
356
- })
357
- });
19
+ return /* @__PURE__ */ jsxDEV("main", {
20
+ className: "flex grow flex-col items-center justify-center",
21
+ children: /* @__PURE__ */ jsxDEV("section", {
22
+ className: "section-padding",
23
+ children: /* @__PURE__ */ jsxDEV("div", {
24
+ className: "prose prose-invert mx-auto max-w-2xl",
25
+ children: [
26
+ /* @__PURE__ */ jsxDEV("h1", {
27
+ className: "mb-8 text-4xl font-bold",
28
+ children: "Contribute to ContractSpec"
29
+ }, undefined, false, undefined, this),
30
+ /* @__PURE__ */ jsxDEV("div", {
31
+ className: "not-prose border-border bg-muted/30 mb-12 rounded-lg border p-6",
32
+ children: [
33
+ /* @__PURE__ */ jsxDEV("h2", {
34
+ className: "text-foreground mb-4 text-xl font-bold",
35
+ children: "\u26A1 Quick Start \u2014 3 Minutes to Your First Contribution"
36
+ }, undefined, false, undefined, this),
37
+ /* @__PURE__ */ jsxDEV("ol", {
38
+ className: "text-muted-foreground list-inside list-decimal space-y-2",
39
+ children: [
40
+ /* @__PURE__ */ jsxDEV("li", {
41
+ children: [
42
+ "Read the",
43
+ " ",
44
+ /* @__PURE__ */ jsxDEV("a", {
45
+ href: "https://github.com/contractspec/contractspec/blob/main/CONTRIBUTING.md",
46
+ className: "text-primary hover:underline",
47
+ target: "_blank",
48
+ rel: "noopener noreferrer",
49
+ children: "CONTRIBUTING guide"
50
+ }, undefined, false, undefined, this)
51
+ ]
52
+ }, undefined, true, undefined, this),
53
+ /* @__PURE__ */ jsxDEV("li", {
54
+ children: [
55
+ "Pick a",
56
+ " ",
57
+ /* @__PURE__ */ jsxDEV("a", {
58
+ href: "https://github.com/contractspec/contractspec/labels/good%20first%20issue",
59
+ className: "text-primary hover:underline",
60
+ target: "_blank",
61
+ rel: "noopener noreferrer",
62
+ children: "good first issue"
63
+ }, undefined, false, undefined, this),
64
+ " ",
65
+ "or",
66
+ " ",
67
+ /* @__PURE__ */ jsxDEV("a", {
68
+ href: "https://github.com/contractspec/contractspec/labels/help%20wanted",
69
+ className: "text-primary hover:underline",
70
+ target: "_blank",
71
+ rel: "noopener noreferrer",
72
+ children: "help wanted"
73
+ }, undefined, false, undefined, this),
74
+ " ",
75
+ "label"
76
+ ]
77
+ }, undefined, true, undefined, this),
78
+ /* @__PURE__ */ jsxDEV("li", {
79
+ children: "Open a draft PR early \u2014 we'll guide you from there"
80
+ }, undefined, false, undefined, this)
81
+ ]
82
+ }, undefined, true, undefined, this)
83
+ ]
84
+ }, undefined, true, undefined, this),
85
+ /* @__PURE__ */ jsxDEV("section", {
86
+ className: "mb-10 space-y-4",
87
+ children: [
88
+ /* @__PURE__ */ jsxDEV("h2", {
89
+ className: "text-foreground text-2xl font-bold",
90
+ children: "Why Open Source?"
91
+ }, undefined, false, undefined, this),
92
+ /* @__PURE__ */ jsxDEV("ul", {
93
+ className: "text-muted-foreground list-inside list-disc space-y-2",
94
+ children: [
95
+ /* @__PURE__ */ jsxDEV("li", {
96
+ children: [
97
+ /* @__PURE__ */ jsxDEV("strong", {
98
+ children: "Transparency:"
99
+ }, undefined, false, undefined, this),
100
+ " You can see exactly how your code is compiled and deployed"
101
+ ]
102
+ }, undefined, true, undefined, this),
103
+ /* @__PURE__ */ jsxDEV("li", {
104
+ children: [
105
+ /* @__PURE__ */ jsxDEV("strong", {
106
+ children: "Trust:"
107
+ }, undefined, false, undefined, this),
108
+ " No black boxes \u2014 audit the compiler that shapes your AI-generated code"
109
+ ]
110
+ }, undefined, true, undefined, this),
111
+ /* @__PURE__ */ jsxDEV("li", {
112
+ children: [
113
+ /* @__PURE__ */ jsxDEV("strong", {
114
+ children: "Faster ecosystem:"
115
+ }, undefined, false, undefined, this),
116
+ " Community contributions accelerate adoption and surface real-world edge cases"
117
+ ]
118
+ }, undefined, true, undefined, this),
119
+ /* @__PURE__ */ jsxDEV("li", {
120
+ children: [
121
+ /* @__PURE__ */ jsxDEV("strong", {
122
+ children: "Community review:"
123
+ }, undefined, false, undefined, this),
124
+ " More eyes catch more bugs, and better patterns emerge"
125
+ ]
126
+ }, undefined, true, undefined, this),
127
+ /* @__PURE__ */ jsxDEV("li", {
128
+ children: [
129
+ /* @__PURE__ */ jsxDEV("strong", {
130
+ children: "No lock-in:"
131
+ }, undefined, false, undefined, this),
132
+ " You own your code. The spec is portable."
133
+ ]
134
+ }, undefined, true, undefined, this)
135
+ ]
136
+ }, undefined, true, undefined, this)
137
+ ]
138
+ }, undefined, true, undefined, this),
139
+ /* @__PURE__ */ jsxDEV("section", {
140
+ className: "mb-10 space-y-4",
141
+ children: [
142
+ /* @__PURE__ */ jsxDEV("h2", {
143
+ className: "text-foreground text-2xl font-bold",
144
+ children: "Where to Contribute"
145
+ }, undefined, false, undefined, this),
146
+ /* @__PURE__ */ jsxDEV("ul", {
147
+ className: "text-muted-foreground list-inside list-disc space-y-2",
148
+ children: [
149
+ /* @__PURE__ */ jsxDEV("li", {
150
+ children: [
151
+ /* @__PURE__ */ jsxDEV("a", {
152
+ href: "https://github.com/contractspec",
153
+ className: "text-primary hover:underline",
154
+ target: "_blank",
155
+ rel: "noopener noreferrer",
156
+ children: "GitHub Organization"
157
+ }, undefined, false, undefined, this),
158
+ " ",
159
+ "\u2014 All repos live here"
160
+ ]
161
+ }, undefined, true, undefined, this),
162
+ /* @__PURE__ */ jsxDEV("li", {
163
+ children: [
164
+ /* @__PURE__ */ jsxDEV("a", {
165
+ href: "https://github.com/contractspec/contractspec",
166
+ className: "text-primary hover:underline",
167
+ target: "_blank",
168
+ rel: "noopener noreferrer",
169
+ children: "Main Repository"
170
+ }, undefined, false, undefined, this),
171
+ " ",
172
+ "\u2014 Core compiler and specs"
173
+ ]
174
+ }, undefined, true, undefined, this),
175
+ /* @__PURE__ */ jsxDEV("li", {
176
+ children: [
177
+ /* @__PURE__ */ jsxDEV("a", {
178
+ href: "https://github.com/contractspec/contractspec/discussions",
179
+ className: "text-primary hover:underline",
180
+ target: "_blank",
181
+ rel: "noopener noreferrer",
182
+ children: "Discussions"
183
+ }, undefined, false, undefined, this),
184
+ " ",
185
+ "\u2014 Questions, ideas, and RFCs"
186
+ ]
187
+ }, undefined, true, undefined, this)
188
+ ]
189
+ }, undefined, true, undefined, this)
190
+ ]
191
+ }, undefined, true, undefined, this),
192
+ /* @__PURE__ */ jsxDEV("section", {
193
+ className: "mb-10 space-y-4",
194
+ children: [
195
+ /* @__PURE__ */ jsxDEV("h2", {
196
+ className: "text-foreground text-2xl font-bold",
197
+ children: "Ways to Contribute"
198
+ }, undefined, false, undefined, this),
199
+ /* @__PURE__ */ jsxDEV("div", {
200
+ className: "text-muted-foreground space-y-3",
201
+ children: [
202
+ /* @__PURE__ */ jsxDEV("p", {
203
+ children: [
204
+ /* @__PURE__ */ jsxDEV("strong", {
205
+ className: "text-foreground",
206
+ children: "\uD83D\uDCC4 Documentation:"
207
+ }, undefined, false, undefined, this),
208
+ " ",
209
+ "Fix typos, improve explanations, add missing guides"
210
+ ]
211
+ }, undefined, true, undefined, this),
212
+ /* @__PURE__ */ jsxDEV("p", {
213
+ children: [
214
+ /* @__PURE__ */ jsxDEV("strong", {
215
+ className: "text-foreground",
216
+ children: "\uD83D\uDCE6 Examples & Templates:"
217
+ }, undefined, false, undefined, this),
218
+ " ",
219
+ "Build real-world specs for common use cases"
220
+ ]
221
+ }, undefined, true, undefined, this),
222
+ /* @__PURE__ */ jsxDEV("p", {
223
+ children: [
224
+ /* @__PURE__ */ jsxDEV("strong", {
225
+ className: "text-foreground",
226
+ children: "\uD83D\uDD0C Integrations & Adapters:"
227
+ }, undefined, false, undefined, this),
228
+ " ",
229
+ "Connect ContractSpec to frameworks, databases, and tools"
230
+ ]
231
+ }, undefined, true, undefined, this),
232
+ /* @__PURE__ */ jsxDEV("p", {
233
+ children: [
234
+ /* @__PURE__ */ jsxDEV("strong", {
235
+ className: "text-foreground",
236
+ children: "\uD83D\uDC1B Bug Reports:"
237
+ }, undefined, false, undefined, this),
238
+ " ",
239
+ "File issues with clear reproduction steps \u2014 minimal cases help the most"
240
+ ]
241
+ }, undefined, true, undefined, this),
242
+ /* @__PURE__ */ jsxDEV("p", {
243
+ children: [
244
+ /* @__PURE__ */ jsxDEV("strong", {
245
+ className: "text-foreground",
246
+ children: "\uD83D\uDD12 Security Reports:"
247
+ }, undefined, false, undefined, this),
248
+ " ",
249
+ "Found a vulnerability? See",
250
+ " ",
251
+ /* @__PURE__ */ jsxDEV("a", {
252
+ href: "#security",
253
+ className: "text-primary hover:underline",
254
+ children: "Security"
255
+ }, undefined, false, undefined, this),
256
+ " ",
257
+ "below"
258
+ ]
259
+ }, undefined, true, undefined, this)
260
+ ]
261
+ }, undefined, true, undefined, this)
262
+ ]
263
+ }, undefined, true, undefined, this),
264
+ /* @__PURE__ */ jsxDEV("section", {
265
+ className: "mb-10 space-y-4",
266
+ children: [
267
+ /* @__PURE__ */ jsxDEV("h2", {
268
+ className: "text-foreground text-2xl font-bold",
269
+ children: "Quality Bar"
270
+ }, undefined, false, undefined, this),
271
+ /* @__PURE__ */ jsxDEV("p", {
272
+ className: "text-muted-foreground",
273
+ children: "We keep the bar high so the codebase stays maintainable. Every PR should:"
274
+ }, undefined, false, undefined, this),
275
+ /* @__PURE__ */ jsxDEV("ul", {
276
+ className: "text-muted-foreground list-inside list-disc space-y-2",
277
+ children: [
278
+ /* @__PURE__ */ jsxDEV("li", {
279
+ children: [
280
+ /* @__PURE__ */ jsxDEV("strong", {
281
+ children: "Include tests"
282
+ }, undefined, false, undefined, this),
283
+ " \u2014 Unit tests for logic, integration tests for adapters"
284
+ ]
285
+ }, undefined, true, undefined, this),
286
+ /* @__PURE__ */ jsxDEV("li", {
287
+ children: [
288
+ /* @__PURE__ */ jsxDEV("strong", {
289
+ children: "Be fully typed"
290
+ }, undefined, false, undefined, this),
291
+ " \u2014 No ",
292
+ /* @__PURE__ */ jsxDEV("code", {
293
+ children: "any"
294
+ }, undefined, false, undefined, this),
295
+ ". Strict TypeScript only."
296
+ ]
297
+ }, undefined, true, undefined, this),
298
+ /* @__PURE__ */ jsxDEV("li", {
299
+ children: [
300
+ /* @__PURE__ */ jsxDEV("strong", {
301
+ children: "Stay small"
302
+ }, undefined, false, undefined, this),
303
+ " \u2014 One concern per PR. Easier to review, faster to merge."
304
+ ]
305
+ }, undefined, true, undefined, this),
306
+ /* @__PURE__ */ jsxDEV("li", {
307
+ children: [
308
+ /* @__PURE__ */ jsxDEV("strong", {
309
+ children: "Use clear commit messages"
310
+ }, undefined, false, undefined, this),
311
+ " \u2014 Describe _what_ and _why_, not just _how_"
312
+ ]
313
+ }, undefined, true, undefined, this)
314
+ ]
315
+ }, undefined, true, undefined, this),
316
+ /* @__PURE__ */ jsxDEV("div", {
317
+ className: "bg-muted/20 mt-4 rounded-md p-4",
318
+ children: [
319
+ /* @__PURE__ */ jsxDEV("h3", {
320
+ className: "text-foreground mb-2 font-semibold",
321
+ children: "Spec-First Mindset"
322
+ }, undefined, false, undefined, this),
323
+ /* @__PURE__ */ jsxDEV("p", {
324
+ className: "text-muted-foreground text-sm",
325
+ children: "ContractSpec exists to enforce contracts between humans, AI, and code. When contributing, think spec-first: define the behavior before the implementation. A well-defined spec makes changes safe to regenerate and easy to validate."
326
+ }, undefined, false, undefined, this)
327
+ ]
328
+ }, undefined, true, undefined, this)
329
+ ]
330
+ }, undefined, true, undefined, this),
331
+ /* @__PURE__ */ jsxDEV("section", {
332
+ className: "mb-10 space-y-4",
333
+ children: [
334
+ /* @__PURE__ */ jsxDEV("h2", {
335
+ className: "text-foreground text-2xl font-bold",
336
+ children: "Governance & Decision Making"
337
+ }, undefined, false, undefined, this),
338
+ /* @__PURE__ */ jsxDEV("p", {
339
+ className: "text-muted-foreground",
340
+ children: [
341
+ "ContractSpec uses a",
342
+ " ",
343
+ /* @__PURE__ */ jsxDEV("strong", {
344
+ className: "text-foreground",
345
+ children: "founder-led maintainer model"
346
+ }, undefined, false, undefined, this),
347
+ ":"
348
+ ]
349
+ }, undefined, true, undefined, this),
350
+ /* @__PURE__ */ jsxDEV("ul", {
351
+ className: "text-muted-foreground list-inside list-disc space-y-2",
352
+ children: [
353
+ /* @__PURE__ */ jsxDEV("li", {
354
+ children: "The founder has final say on significant decisions \u2014 for now"
355
+ }, undefined, false, undefined, this),
356
+ /* @__PURE__ */ jsxDEV("li", {
357
+ children: "All reasoning is shared publicly in issues or PRs"
358
+ }, undefined, false, undefined, this),
359
+ /* @__PURE__ */ jsxDEV("li", {
360
+ children: "Community input shapes direction; we don't merge in silence"
361
+ }, undefined, false, undefined, this),
362
+ /* @__PURE__ */ jsxDEV("li", {
363
+ children: "This model may evolve as the project matures and trusted maintainers emerge"
364
+ }, undefined, false, undefined, this)
365
+ ]
366
+ }, undefined, true, undefined, this)
367
+ ]
368
+ }, undefined, true, undefined, this),
369
+ /* @__PURE__ */ jsxDEV("section", {
370
+ className: "mb-10 space-y-4",
371
+ id: "security",
372
+ children: [
373
+ /* @__PURE__ */ jsxDEV("h2", {
374
+ className: "text-foreground text-2xl font-bold",
375
+ children: "Security"
376
+ }, undefined, false, undefined, this),
377
+ /* @__PURE__ */ jsxDEV("p", {
378
+ className: "text-muted-foreground",
379
+ children: [
380
+ "If you discover a security vulnerability, please",
381
+ " ",
382
+ /* @__PURE__ */ jsxDEV("strong", {
383
+ className: "text-foreground",
384
+ children: "do not"
385
+ }, undefined, false, undefined, this),
386
+ " open a public issue."
387
+ ]
388
+ }, undefined, true, undefined, this),
389
+ /* @__PURE__ */ jsxDEV("p", {
390
+ className: "text-muted-foreground",
391
+ children: [
392
+ "Instead, email us at",
393
+ " ",
394
+ /* @__PURE__ */ jsxDEV("a", {
395
+ href: "mailto:security@contractspec.io",
396
+ className: "text-primary hover:underline",
397
+ children: "security@contractspec.io"
398
+ }, undefined, false, undefined, this),
399
+ " ",
400
+ "with:"
401
+ ]
402
+ }, undefined, true, undefined, this),
403
+ /* @__PURE__ */ jsxDEV("ul", {
404
+ className: "text-muted-foreground list-inside list-disc space-y-2",
405
+ children: [
406
+ /* @__PURE__ */ jsxDEV("li", {
407
+ children: "A clear description of the vulnerability"
408
+ }, undefined, false, undefined, this),
409
+ /* @__PURE__ */ jsxDEV("li", {
410
+ children: "Steps to reproduce"
411
+ }, undefined, false, undefined, this),
412
+ /* @__PURE__ */ jsxDEV("li", {
413
+ children: "Potential impact"
414
+ }, undefined, false, undefined, this)
415
+ ]
416
+ }, undefined, true, undefined, this),
417
+ /* @__PURE__ */ jsxDEV("p", {
418
+ className: "text-muted-foreground",
419
+ children: "We'll acknowledge within 48 hours and work with you to coordinate disclosure."
420
+ }, undefined, false, undefined, this)
421
+ ]
422
+ }, undefined, true, undefined, this),
423
+ /* @__PURE__ */ jsxDEV("section", {
424
+ className: "mb-10 space-y-4",
425
+ children: [
426
+ /* @__PURE__ */ jsxDEV("h2", {
427
+ className: "text-foreground text-2xl font-bold",
428
+ children: "Code of Conduct"
429
+ }, undefined, false, undefined, this),
430
+ /* @__PURE__ */ jsxDEV("p", {
431
+ className: "text-muted-foreground",
432
+ children: [
433
+ "We expect all contributors to follow our",
434
+ " ",
435
+ /* @__PURE__ */ jsxDEV("a", {
436
+ href: "https://github.com/contractspec/contractspec/blob/main/CODE_OF_CONDUCT.md",
437
+ className: "text-primary hover:underline",
438
+ target: "_blank",
439
+ rel: "noopener noreferrer",
440
+ children: "Code of Conduct"
441
+ }, undefined, false, undefined, this),
442
+ ". Be respectful, constructive, and assume good intent."
443
+ ]
444
+ }, undefined, true, undefined, this)
445
+ ]
446
+ }, undefined, true, undefined, this),
447
+ /* @__PURE__ */ jsxDEV("section", {
448
+ className: "border-border mt-12 space-y-4 border-t pt-8",
449
+ children: [
450
+ /* @__PURE__ */ jsxDEV("h2", {
451
+ className: "text-foreground text-2xl font-bold",
452
+ children: "Want to Go Deeper?"
453
+ }, undefined, false, undefined, this),
454
+ /* @__PURE__ */ jsxDEV("p", {
455
+ className: "text-muted-foreground",
456
+ children: "If you're considering a long-term commitment to ContractSpec \u2014 reviewing PRs regularly, shaping roadmap, mentoring new contributors \u2014 we'd love to talk."
457
+ }, undefined, false, undefined, this),
458
+ /* @__PURE__ */ jsxDEV("p", {
459
+ className: "text-muted-foreground",
460
+ children: [
461
+ "This isn't a job offer. It's an invitation to help build something meaningful together. Reach out at",
462
+ " ",
463
+ /* @__PURE__ */ jsxDEV("a", {
464
+ href: "mailto:maintainers@contractspec.io",
465
+ className: "text-primary hover:underline",
466
+ children: "maintainers@contractspec.io"
467
+ }, undefined, false, undefined, this),
468
+ " ",
469
+ "and tell us what you'd bring to the table."
470
+ ]
471
+ }, undefined, true, undefined, this)
472
+ ]
473
+ }, undefined, true, undefined, this)
474
+ ]
475
+ }, undefined, true, undefined, this)
476
+ }, undefined, false, undefined, this)
477
+ }, undefined, false, undefined, this);
358
478
  }
359
-
360
- //#endregion
361
- export { ContributePage, metadata };
362
- //# sourceMappingURL=ContributePage.js.map
479
+ export {
480
+ metadata,
481
+ ContributePage
482
+ };