@open-agreements/open-agreements 0.2.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 (358) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +359 -0
  3. package/bin/open-agreements.js +4 -0
  4. package/content/external/LICENSE +27 -0
  5. package/content/external/README.md +38 -0
  6. package/content/external/yc-safe-discount/README.md +16 -0
  7. package/content/external/yc-safe-discount/clean.json +4 -0
  8. package/content/external/yc-safe-discount/metadata.yaml +67 -0
  9. package/content/external/yc-safe-discount/replacements.json +13 -0
  10. package/content/external/yc-safe-discount/template.docx +0 -0
  11. package/content/external/yc-safe-mfn/README.md +16 -0
  12. package/content/external/yc-safe-mfn/clean.json +4 -0
  13. package/content/external/yc-safe-mfn/metadata.yaml +64 -0
  14. package/content/external/yc-safe-mfn/replacements.json +12 -0
  15. package/content/external/yc-safe-mfn/template.docx +0 -0
  16. package/content/external/yc-safe-pro-rata-side-letter/README.md +16 -0
  17. package/content/external/yc-safe-pro-rata-side-letter/clean.json +4 -0
  18. package/content/external/yc-safe-pro-rata-side-letter/metadata.yaml +49 -0
  19. package/content/external/yc-safe-pro-rata-side-letter/replacements.json +9 -0
  20. package/content/external/yc-safe-pro-rata-side-letter/template.docx +0 -0
  21. package/content/external/yc-safe-valuation-cap/README.md +16 -0
  22. package/content/external/yc-safe-valuation-cap/clean.json +4 -0
  23. package/content/external/yc-safe-valuation-cap/metadata.yaml +64 -0
  24. package/content/external/yc-safe-valuation-cap/replacements.json +12 -0
  25. package/content/external/yc-safe-valuation-cap/template.docx +0 -0
  26. package/content/recipes/nvca-certificate-of-incorporation/clean.json +8 -0
  27. package/content/recipes/nvca-certificate-of-incorporation/metadata.yaml +43 -0
  28. package/content/recipes/nvca-certificate-of-incorporation/replacements.json +9 -0
  29. package/content/recipes/nvca-indemnification-agreement/clean.json +17 -0
  30. package/content/recipes/nvca-indemnification-agreement/metadata.yaml +79 -0
  31. package/content/recipes/nvca-indemnification-agreement/replacements.json +17 -0
  32. package/content/recipes/nvca-investors-rights-agreement/clean.json +12 -0
  33. package/content/recipes/nvca-investors-rights-agreement/metadata.yaml +71 -0
  34. package/content/recipes/nvca-investors-rights-agreement/replacements.json +18 -0
  35. package/content/recipes/nvca-management-rights-letter/clean.json +7 -0
  36. package/content/recipes/nvca-management-rights-letter/metadata.yaml +47 -0
  37. package/content/recipes/nvca-management-rights-letter/replacements.json +11 -0
  38. package/content/recipes/nvca-rofr-co-sale-agreement/clean.json +7 -0
  39. package/content/recipes/nvca-rofr-co-sale-agreement/metadata.yaml +76 -0
  40. package/content/recipes/nvca-rofr-co-sale-agreement/replacements.json +17 -0
  41. package/content/recipes/nvca-stock-purchase-agreement/clean.json +13 -0
  42. package/content/recipes/nvca-stock-purchase-agreement/computed.json +103 -0
  43. package/content/recipes/nvca-stock-purchase-agreement/metadata.yaml +138 -0
  44. package/content/recipes/nvca-stock-purchase-agreement/normalize.json +83 -0
  45. package/content/recipes/nvca-stock-purchase-agreement/replacements.json +41 -0
  46. package/content/recipes/nvca-voting-agreement/README.md +53 -0
  47. package/content/recipes/nvca-voting-agreement/clean.json +7 -0
  48. package/content/recipes/nvca-voting-agreement/metadata.yaml +66 -0
  49. package/content/recipes/nvca-voting-agreement/replacements.json +18 -0
  50. package/content/templates/bonterms-mutual-nda/README.md +27 -0
  51. package/content/templates/bonterms-mutual-nda/metadata.yaml +58 -0
  52. package/content/templates/bonterms-mutual-nda/source.json +18 -0
  53. package/content/templates/bonterms-mutual-nda/template.docx +0 -0
  54. package/content/templates/bonterms-professional-services-agreement/README.md +24 -0
  55. package/content/templates/bonterms-professional-services-agreement/metadata.yaml +45 -0
  56. package/content/templates/bonterms-professional-services-agreement/selections.json +12 -0
  57. package/content/templates/bonterms-professional-services-agreement/source.json +18 -0
  58. package/content/templates/bonterms-professional-services-agreement/template.docx +0 -0
  59. package/content/templates/closing-checklist/metadata.yaml +39 -0
  60. package/content/templates/closing-checklist/template.docx +0 -0
  61. package/content/templates/common-paper-ai-addendum/README.md +23 -0
  62. package/content/templates/common-paper-ai-addendum/metadata.yaml +31 -0
  63. package/content/templates/common-paper-ai-addendum/template.docx +0 -0
  64. package/content/templates/common-paper-ai-addendum-in-app/README.md +21 -0
  65. package/content/templates/common-paper-ai-addendum-in-app/metadata.yaml +21 -0
  66. package/content/templates/common-paper-ai-addendum-in-app/template.docx +0 -0
  67. package/content/templates/common-paper-amendment/README.md +27 -0
  68. package/content/templates/common-paper-amendment/metadata.yaml +53 -0
  69. package/content/templates/common-paper-amendment/template.docx +0 -0
  70. package/content/templates/common-paper-business-associate-agreement/README.md +29 -0
  71. package/content/templates/common-paper-business-associate-agreement/metadata.yaml +56 -0
  72. package/content/templates/common-paper-business-associate-agreement/replacements.json +3 -0
  73. package/content/templates/common-paper-business-associate-agreement/template.docx +0 -0
  74. package/content/templates/common-paper-cloud-service-agreement/README.md +32 -0
  75. package/content/templates/common-paper-cloud-service-agreement/metadata.yaml +354 -0
  76. package/content/templates/common-paper-cloud-service-agreement/template.docx +0 -0
  77. package/content/templates/common-paper-csa-click-through/README.md +33 -0
  78. package/content/templates/common-paper-csa-click-through/metadata.yaml +73 -0
  79. package/content/templates/common-paper-csa-click-through/template.docx +0 -0
  80. package/content/templates/common-paper-csa-with-ai/README.md +49 -0
  81. package/content/templates/common-paper-csa-with-ai/metadata.yaml +143 -0
  82. package/content/templates/common-paper-csa-with-ai/replacements.json +7 -0
  83. package/content/templates/common-paper-csa-with-ai/template.docx +0 -0
  84. package/content/templates/common-paper-csa-with-sla/README.md +53 -0
  85. package/content/templates/common-paper-csa-with-sla/metadata.yaml +159 -0
  86. package/content/templates/common-paper-csa-with-sla/replacements.json +7 -0
  87. package/content/templates/common-paper-csa-with-sla/template.docx +0 -0
  88. package/content/templates/common-paper-csa-without-sla/README.md +47 -0
  89. package/content/templates/common-paper-csa-without-sla/metadata.yaml +135 -0
  90. package/content/templates/common-paper-csa-without-sla/replacements.json +7 -0
  91. package/content/templates/common-paper-csa-without-sla/template.docx +0 -0
  92. package/content/templates/common-paper-data-processing-agreement/README.md +46 -0
  93. package/content/templates/common-paper-data-processing-agreement/metadata.yaml +130 -0
  94. package/content/templates/common-paper-data-processing-agreement/replacements.json +3 -0
  95. package/content/templates/common-paper-data-processing-agreement/template.docx +0 -0
  96. package/content/templates/common-paper-design-partner-agreement/README.md +29 -0
  97. package/content/templates/common-paper-design-partner-agreement/metadata.yaml +59 -0
  98. package/content/templates/common-paper-design-partner-agreement/replacements.json +4 -0
  99. package/content/templates/common-paper-design-partner-agreement/template.docx +0 -0
  100. package/content/templates/common-paper-independent-contractor-agreement/README.md +27 -0
  101. package/content/templates/common-paper-independent-contractor-agreement/metadata.yaml +55 -0
  102. package/content/templates/common-paper-independent-contractor-agreement/template.docx +0 -0
  103. package/content/templates/common-paper-letter-of-intent/README.md +25 -0
  104. package/content/templates/common-paper-letter-of-intent/metadata.yaml +42 -0
  105. package/content/templates/common-paper-letter-of-intent/template.docx +0 -0
  106. package/content/templates/common-paper-mutual-nda/README.md +29 -0
  107. package/content/templates/common-paper-mutual-nda/metadata.yaml +59 -0
  108. package/content/templates/common-paper-mutual-nda/selections.json +38 -0
  109. package/content/templates/common-paper-mutual-nda/template.docx +0 -0
  110. package/content/templates/common-paper-one-way-nda/README.md +27 -0
  111. package/content/templates/common-paper-one-way-nda/metadata.yaml +59 -0
  112. package/content/templates/common-paper-one-way-nda/template.docx +0 -0
  113. package/content/templates/common-paper-order-form/README.md +36 -0
  114. package/content/templates/common-paper-order-form/metadata.yaml +87 -0
  115. package/content/templates/common-paper-order-form/replacements.json +5 -0
  116. package/content/templates/common-paper-order-form/template.docx +0 -0
  117. package/content/templates/common-paper-order-form-with-sla/README.md +42 -0
  118. package/content/templates/common-paper-order-form-with-sla/metadata.yaml +111 -0
  119. package/content/templates/common-paper-order-form-with-sla/replacements.json +5 -0
  120. package/content/templates/common-paper-order-form-with-sla/template.docx +0 -0
  121. package/content/templates/common-paper-partnership-agreement/README.md +34 -0
  122. package/content/templates/common-paper-partnership-agreement/metadata.yaml +78 -0
  123. package/content/templates/common-paper-partnership-agreement/replacements.json +7 -0
  124. package/content/templates/common-paper-partnership-agreement/template.docx +0 -0
  125. package/content/templates/common-paper-pilot-agreement/README.md +34 -0
  126. package/content/templates/common-paper-pilot-agreement/metadata.yaml +100 -0
  127. package/content/templates/common-paper-pilot-agreement/replacements.json +4 -0
  128. package/content/templates/common-paper-pilot-agreement/selections.json +37 -0
  129. package/content/templates/common-paper-pilot-agreement/template.docx +0 -0
  130. package/content/templates/common-paper-professional-services-agreement/README.md +44 -0
  131. package/content/templates/common-paper-professional-services-agreement/metadata.yaml +124 -0
  132. package/content/templates/common-paper-professional-services-agreement/replacements.json +8 -0
  133. package/content/templates/common-paper-professional-services-agreement/template.docx +0 -0
  134. package/content/templates/common-paper-software-license-agreement/README.md +18 -0
  135. package/content/templates/common-paper-software-license-agreement/metadata.yaml +13 -0
  136. package/content/templates/common-paper-software-license-agreement/template.docx +0 -0
  137. package/content/templates/common-paper-statement-of-work/README.md +32 -0
  138. package/content/templates/common-paper-statement-of-work/metadata.yaml +71 -0
  139. package/content/templates/common-paper-statement-of-work/replacements.json +3 -0
  140. package/content/templates/common-paper-statement-of-work/template.docx +0 -0
  141. package/content/templates/common-paper-term-sheet/README.md +22 -0
  142. package/content/templates/common-paper-term-sheet/metadata.yaml +28 -0
  143. package/content/templates/common-paper-term-sheet/template.docx +0 -0
  144. package/content/templates/openagreements-employee-ip-inventions-assignment/README.md +31 -0
  145. package/content/templates/openagreements-employee-ip-inventions-assignment/metadata.yaml +71 -0
  146. package/content/templates/openagreements-employee-ip-inventions-assignment/template.docx +0 -0
  147. package/content/templates/openagreements-employee-ip-inventions-assignment/template.md +80 -0
  148. package/content/templates/openagreements-employment-confidentiality-acknowledgement/README.md +30 -0
  149. package/content/templates/openagreements-employment-confidentiality-acknowledgement/metadata.yaml +60 -0
  150. package/content/templates/openagreements-employment-confidentiality-acknowledgement/template.docx +0 -0
  151. package/content/templates/openagreements-employment-confidentiality-acknowledgement/template.md +51 -0
  152. package/content/templates/openagreements-employment-offer-letter/README.md +33 -0
  153. package/content/templates/openagreements-employment-offer-letter/metadata.yaml +75 -0
  154. package/content/templates/openagreements-employment-offer-letter/template.docx +0 -0
  155. package/content/templates/openagreements-employment-offer-letter/template.md +90 -0
  156. package/content/templates/working-group-list/metadata.yaml +22 -0
  157. package/content/templates/working-group-list/template.docx +0 -0
  158. package/dist/cli/index.d.ts +4 -0
  159. package/dist/cli/index.d.ts.map +1 -0
  160. package/dist/cli/index.js +199 -0
  161. package/dist/cli/index.js.map +1 -0
  162. package/dist/commands/checklist.d.ts +22 -0
  163. package/dist/commands/checklist.d.ts.map +1 -0
  164. package/dist/commands/checklist.js +222 -0
  165. package/dist/commands/checklist.js.map +1 -0
  166. package/dist/commands/fill.d.ts +18 -0
  167. package/dist/commands/fill.d.ts.map +1 -0
  168. package/dist/commands/fill.js +119 -0
  169. package/dist/commands/fill.js.map +1 -0
  170. package/dist/commands/list.d.ts +7 -0
  171. package/dist/commands/list.d.ts.map +1 -0
  172. package/dist/commands/list.js +247 -0
  173. package/dist/commands/list.js.map +1 -0
  174. package/dist/commands/recipe.d.ts +24 -0
  175. package/dist/commands/recipe.d.ts.map +1 -0
  176. package/dist/commands/recipe.js +96 -0
  177. package/dist/commands/recipe.js.map +1 -0
  178. package/dist/commands/scan.d.ts +28 -0
  179. package/dist/commands/scan.d.ts.map +1 -0
  180. package/dist/commands/scan.js +138 -0
  181. package/dist/commands/scan.js.map +1 -0
  182. package/dist/commands/validate.d.ts +6 -0
  183. package/dist/commands/validate.d.ts.map +1 -0
  184. package/dist/commands/validate.js +158 -0
  185. package/dist/commands/validate.js.map +1 -0
  186. package/dist/core/checklist/index.d.ts +38 -0
  187. package/dist/core/checklist/index.d.ts.map +1 -0
  188. package/dist/core/checklist/index.js +229 -0
  189. package/dist/core/checklist/index.js.map +1 -0
  190. package/dist/core/checklist/patch-apply.d.ts +65 -0
  191. package/dist/core/checklist/patch-apply.d.ts.map +1 -0
  192. package/dist/core/checklist/patch-apply.js +274 -0
  193. package/dist/core/checklist/patch-apply.js.map +1 -0
  194. package/dist/core/checklist/patch-schemas.d.ts +86 -0
  195. package/dist/core/checklist/patch-schemas.d.ts.map +1 -0
  196. package/dist/core/checklist/patch-schemas.js +89 -0
  197. package/dist/core/checklist/patch-schemas.js.map +1 -0
  198. package/dist/core/checklist/patch-validator.d.ts +76 -0
  199. package/dist/core/checklist/patch-validator.d.ts.map +1 -0
  200. package/dist/core/checklist/patch-validator.js +404 -0
  201. package/dist/core/checklist/patch-validator.js.map +1 -0
  202. package/dist/core/checklist/schemas.d.ts +270 -0
  203. package/dist/core/checklist/schemas.d.ts.map +1 -0
  204. package/dist/core/checklist/schemas.js +229 -0
  205. package/dist/core/checklist/schemas.js.map +1 -0
  206. package/dist/core/checklist/test-utils.d.ts +7 -0
  207. package/dist/core/checklist/test-utils.d.ts.map +1 -0
  208. package/dist/core/checklist/test-utils.js +13 -0
  209. package/dist/core/checklist/test-utils.js.map +1 -0
  210. package/dist/core/command-generation/adapters/claude.d.ts +11 -0
  211. package/dist/core/command-generation/adapters/claude.d.ts.map +1 -0
  212. package/dist/core/command-generation/adapters/claude.js +91 -0
  213. package/dist/core/command-generation/adapters/claude.js.map +1 -0
  214. package/dist/core/command-generation/types.d.ts +14 -0
  215. package/dist/core/command-generation/types.d.ts.map +1 -0
  216. package/dist/core/command-generation/types.js +2 -0
  217. package/dist/core/command-generation/types.js.map +1 -0
  218. package/dist/core/employment/jurisdiction-rules.d.ts +20 -0
  219. package/dist/core/employment/jurisdiction-rules.d.ts.map +1 -0
  220. package/dist/core/employment/jurisdiction-rules.js +57 -0
  221. package/dist/core/employment/jurisdiction-rules.js.map +1 -0
  222. package/dist/core/employment/memo.d.ts +57 -0
  223. package/dist/core/employment/memo.d.ts.map +1 -0
  224. package/dist/core/employment/memo.js +589 -0
  225. package/dist/core/employment/memo.js.map +1 -0
  226. package/dist/core/engine.d.ts +13 -0
  227. package/dist/core/engine.d.ts.map +1 -0
  228. package/dist/core/engine.js +182 -0
  229. package/dist/core/engine.js.map +1 -0
  230. package/dist/core/external/index.d.ts +8 -0
  231. package/dist/core/external/index.d.ts.map +1 -0
  232. package/dist/core/external/index.js +50 -0
  233. package/dist/core/external/index.js.map +1 -0
  234. package/dist/core/external/types.d.ts +18 -0
  235. package/dist/core/external/types.d.ts.map +1 -0
  236. package/dist/core/external/types.js +2 -0
  237. package/dist/core/external/types.js.map +1 -0
  238. package/dist/core/fill-pipeline.d.ts +64 -0
  239. package/dist/core/fill-pipeline.d.ts.map +1 -0
  240. package/dist/core/fill-pipeline.js +350 -0
  241. package/dist/core/fill-pipeline.js.map +1 -0
  242. package/dist/core/fill-utils.d.ts +39 -0
  243. package/dist/core/fill-utils.d.ts.map +1 -0
  244. package/dist/core/fill-utils.js +127 -0
  245. package/dist/core/fill-utils.js.map +1 -0
  246. package/dist/core/metadata.d.ts +194 -0
  247. package/dist/core/metadata.d.ts.map +1 -0
  248. package/dist/core/metadata.js +197 -0
  249. package/dist/core/metadata.js.map +1 -0
  250. package/dist/core/recipe/bracket-normalizer.d.ts +46 -0
  251. package/dist/core/recipe/bracket-normalizer.d.ts.map +1 -0
  252. package/dist/core/recipe/bracket-normalizer.js +354 -0
  253. package/dist/core/recipe/bracket-normalizer.js.map +1 -0
  254. package/dist/core/recipe/cleaner.d.ts +27 -0
  255. package/dist/core/recipe/cleaner.d.ts.map +1 -0
  256. package/dist/core/recipe/cleaner.js +345 -0
  257. package/dist/core/recipe/cleaner.js.map +1 -0
  258. package/dist/core/recipe/computed.d.ts +136 -0
  259. package/dist/core/recipe/computed.d.ts.map +1 -0
  260. package/dist/core/recipe/computed.js +225 -0
  261. package/dist/core/recipe/computed.js.map +1 -0
  262. package/dist/core/recipe/downloader.d.ts +8 -0
  263. package/dist/core/recipe/downloader.d.ts.map +1 -0
  264. package/dist/core/recipe/downloader.js +58 -0
  265. package/dist/core/recipe/downloader.js.map +1 -0
  266. package/dist/core/recipe/index.d.ts +17 -0
  267. package/dist/core/recipe/index.d.ts.map +1 -0
  268. package/dist/core/recipe/index.js +90 -0
  269. package/dist/core/recipe/index.js.map +1 -0
  270. package/dist/core/recipe/ooxml-parts.d.ts +21 -0
  271. package/dist/core/recipe/ooxml-parts.d.ts.map +1 -0
  272. package/dist/core/recipe/ooxml-parts.js +33 -0
  273. package/dist/core/recipe/ooxml-parts.js.map +1 -0
  274. package/dist/core/recipe/patcher.d.ts +34 -0
  275. package/dist/core/recipe/patcher.d.ts.map +1 -0
  276. package/dist/core/recipe/patcher.js +423 -0
  277. package/dist/core/recipe/patcher.js.map +1 -0
  278. package/dist/core/recipe/replacement-keys.d.ts +33 -0
  279. package/dist/core/recipe/replacement-keys.d.ts.map +1 -0
  280. package/dist/core/recipe/replacement-keys.js +53 -0
  281. package/dist/core/recipe/replacement-keys.js.map +1 -0
  282. package/dist/core/recipe/source-drift.d.ts +33 -0
  283. package/dist/core/recipe/source-drift.d.ts.map +1 -0
  284. package/dist/core/recipe/source-drift.js +113 -0
  285. package/dist/core/recipe/source-drift.js.map +1 -0
  286. package/dist/core/recipe/types.d.ts +33 -0
  287. package/dist/core/recipe/types.d.ts.map +1 -0
  288. package/dist/core/recipe/types.js +2 -0
  289. package/dist/core/recipe/types.js.map +1 -0
  290. package/dist/core/recipe/verifier.d.ts +24 -0
  291. package/dist/core/recipe/verifier.d.ts.map +1 -0
  292. package/dist/core/recipe/verifier.js +158 -0
  293. package/dist/core/recipe/verifier.js.map +1 -0
  294. package/dist/core/selector.d.ts +41 -0
  295. package/dist/core/selector.d.ts.map +1 -0
  296. package/dist/core/selector.js +323 -0
  297. package/dist/core/selector.js.map +1 -0
  298. package/dist/core/unified-pipeline.d.ts +53 -0
  299. package/dist/core/unified-pipeline.d.ts.map +1 -0
  300. package/dist/core/unified-pipeline.js +107 -0
  301. package/dist/core/unified-pipeline.js.map +1 -0
  302. package/dist/core/validation/external.d.ts +16 -0
  303. package/dist/core/validation/external.d.ts.map +1 -0
  304. package/dist/core/validation/external.js +114 -0
  305. package/dist/core/validation/external.js.map +1 -0
  306. package/dist/core/validation/license.d.ts +15 -0
  307. package/dist/core/validation/license.d.ts.map +1 -0
  308. package/dist/core/validation/license.js +30 -0
  309. package/dist/core/validation/license.js.map +1 -0
  310. package/dist/core/validation/output.d.ts +12 -0
  311. package/dist/core/validation/output.d.ts.map +1 -0
  312. package/dist/core/validation/output.js +47 -0
  313. package/dist/core/validation/output.js.map +1 -0
  314. package/dist/core/validation/recipe.d.ts +19 -0
  315. package/dist/core/validation/recipe.d.ts.map +1 -0
  316. package/dist/core/validation/recipe.js +159 -0
  317. package/dist/core/validation/recipe.js.map +1 -0
  318. package/dist/core/validation/scan-metadata.d.ts +21 -0
  319. package/dist/core/validation/scan-metadata.d.ts.map +1 -0
  320. package/dist/core/validation/scan-metadata.js +70 -0
  321. package/dist/core/validation/scan-metadata.js.map +1 -0
  322. package/dist/core/validation/template.d.ts +11 -0
  323. package/dist/core/validation/template.d.ts.map +1 -0
  324. package/dist/core/validation/template.js +248 -0
  325. package/dist/core/validation/template.js.map +1 -0
  326. package/dist/index.d.ts +16 -0
  327. package/dist/index.d.ts.map +1 -0
  328. package/dist/index.js +23 -0
  329. package/dist/index.js.map +1 -0
  330. package/dist/utils/paths.d.ts +43 -0
  331. package/dist/utils/paths.d.ts.map +1 -0
  332. package/dist/utils/paths.js +149 -0
  333. package/dist/utils/paths.js.map +1 -0
  334. package/package.json +148 -0
  335. package/skills/cloud-service-agreement/CONNECTORS.md +19 -0
  336. package/skills/cloud-service-agreement/SKILL.md +172 -0
  337. package/skills/data-privacy-agreement/CONNECTORS.md +19 -0
  338. package/skills/data-privacy-agreement/SKILL.md +158 -0
  339. package/skills/delaware-franchise-tax/CONNECTORS.md +16 -0
  340. package/skills/delaware-franchise-tax/SKILL.md +206 -0
  341. package/skills/delaware-franchise-tax/reference/ecorp-portal-playwright-notes.md +136 -0
  342. package/skills/delaware-franchise-tax/reference/faq.md +101 -0
  343. package/skills/delaware-franchise-tax/reference/filing-instructions.md +111 -0
  344. package/skills/delaware-franchise-tax/reference/tax-calculation.md +167 -0
  345. package/skills/employment-contract/CONNECTORS.md +19 -0
  346. package/skills/employment-contract/SKILL.md +157 -0
  347. package/skills/nda/CONNECTORS.md +19 -0
  348. package/skills/nda/SKILL.md +153 -0
  349. package/skills/open-agreements/CONNECTORS.md +19 -0
  350. package/skills/open-agreements/SKILL.md +182 -0
  351. package/skills/safe/CONNECTORS.md +19 -0
  352. package/skills/safe/SKILL.md +161 -0
  353. package/skills/services-agreement/CONNECTORS.md +19 -0
  354. package/skills/services-agreement/SKILL.md +156 -0
  355. package/skills/unit-test-philosophy/SKILL.md +113 -0
  356. package/skills/unit-test-philosophy/references/allure-test-spec-writing-guide.md +164 -0
  357. package/skills/venture-financing/CONNECTORS.md +19 -0
  358. package/skills/venture-financing/SKILL.md +169 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 UseJunior
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,359 @@
1
+ # OpenAgreements
2
+
3
+ [![npm version](https://img.shields.io/npm/v/open-agreements)](https://www.npmjs.com/package/open-agreements)
4
+ [![npm downloads](https://img.shields.io/npm/dm/open-agreements.svg)](https://npmjs.org/package/open-agreements)
5
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
6
+ [![Agent Skill](https://img.shields.io/badge/agent--skill-open--agreements-purple)](https://skills.sh)
7
+ [![CI](https://github.com/open-agreements/open-agreements/actions/workflows/ci.yml/badge.svg)](https://github.com/open-agreements/open-agreements/actions/workflows/ci.yml)
8
+ [![MCP Server Status](https://img.shields.io/endpoint?url=https%3A%2F%2Fopenagreements.ai%2Fapi%2Fstatus%3Fformat%3Dshields)](https://openagreements.openstatus.dev/)
9
+ [![codecov](https://img.shields.io/codecov/c/github/open-agreements/open-agreements/main)](https://app.codecov.io/gh/open-agreements/open-agreements)
10
+ [![GitHub stargazers](https://img.shields.io/github/stars/open-agreements/open-agreements?style=social)](https://github.com/open-agreements/open-agreements/stargazers)
11
+ [![Tests: Vitest](https://img.shields.io/badge/tests-vitest-6E9F18)](https://vitest.dev/)
12
+ [![OpenSpec Traceability](https://img.shields.io/badge/openspec-traceability%20gate-brightgreen)](./scripts/validate_openspec_coverage.mjs)
13
+ [![Socket Badge](https://socket.dev/api/badge/npm/package/open-agreements)](https://socket.dev/npm/package/open-agreements)
14
+ [![install size](https://packagephobia.com/badge?p=open-agreements)](https://packagephobia.com/result?p=open-agreements)
15
+
16
+ <!-- TODO: Add OpenSSF Scorecard badge once repo is indexed at securityscorecards.dev -->
17
+ <!-- TODO: Add OpenSSF Best Practices badge after registration at bestpractices.dev -->
18
+ <!-- TODO: Re-evaluate Snyk badge — Advisor migrated to security.snyk.io (July 2024) -->
19
+
20
+ <p align="center">
21
+ <img src="docs/assets/demo-fill-nda.gif" alt="Fill a Mutual NDA in Claude Code — prompt, answer questions, get a signed-ready DOCX" width="720">
22
+ </p>
23
+
24
+ > *Demo: Claude fills a Common Paper Mutual NDA in under 2 minutes. Sped up for brevity.*
25
+
26
+ Fill standard legal agreement templates and produce signable DOCX files. Templates cover NDAs, cloud terms, employment docs, contractor agreements, SAFEs, and NVCA financing documents.
27
+
28
+ Built by the team behind [UseJunior.com](https://usejunior.com) — in production at Am Law 100 firms.
29
+
30
+ ## Quality and Trust Signals
31
+
32
+ - CI runs on pull requests and pushes to `main`.
33
+ - Live service health is published via OpenStatus at `openagreements.openstatus.dev`.
34
+ - Coverage is published to Codecov with repository-defined patch/project gates in `codecov.yml`.
35
+ - The active JS test framework is Vitest, with JUnit test results uploaded for Codecov test analytics.
36
+ - OpenSpec scenario traceability is enforced via `npm run check:spec-coverage`. For a local matrix export, run `npm run check:spec-coverage -- --write-matrix integration-tests/OPENSPEC_TRACEABILITY.md`.
37
+ - Recipe source drift canary (`npm run check:source-drift`) verifies expected source hash plus structural replacement/normalize anchors.
38
+ - Assumption-level regressions are tracked in `docs/assumptions.md` and validated via targeted regression tests + CI gates.
39
+ - LibreOffice-powered DOCX visual rendering uses a pinned build config on macOS (`config/libreoffice-headless.json`); run `npm run check:libreoffice` before visual Allure evidence tests.
40
+ - Maintainer: [Steven Obiajulu](https://www.linkedin.com/in/steven-obiajulu/) (MIT-trained mechanical engineer; Harvard Law trained lawyer).
41
+
42
+ ## How It Works
43
+
44
+ 1. Step 1: Choose a template (36 standard agreements)
45
+ 2. Step 2: Fill in your details (interactive prompts or MCP)
46
+ 3. Step 3: Get a professionally formatted DOCX
47
+
48
+ OpenAgreements supports two execution modes with different trust boundaries:
49
+
50
+ - Hosted remote MCP connector (`https://openagreements.ai/api/mcp`) for fast setup in Claude.
51
+ - Fully local package execution (`npx`, global install, or local stdio MCP package) for machine-local workflows.
52
+
53
+ There is no global default mode recommendation. Choose based on document sensitivity, internal policy, and workflow speed needs. See `docs/trust-checklist.md` for a 60-second data-flow summary.
54
+
55
+ ### Quick Decision
56
+
57
+ - If your document is sensitive, use fully local package execution.
58
+ - If you prioritize convenience, use the hosted remote MCP connector.
59
+
60
+ ## Use with Claude Code
61
+
62
+ OpenAgreements works as a [Claude Code plugin](https://docs.anthropic.com/en/docs/claude-code/plugins) and [Agent Skill](https://agentskills.io). No pre-installation required — Claude downloads and runs the CLI on demand via `npx`.
63
+
64
+ ### Option 1: Agent Skill (recommended)
65
+
66
+ ```bash
67
+ npx skills add open-agreements/open-agreements
68
+ ```
69
+
70
+ Then ask Claude to draft an agreement:
71
+
72
+ ```
73
+ > Draft an NDA between Acme Corp and Beta Inc
74
+ ```
75
+
76
+ Claude discovers available templates, interviews you for field values, and renders a signed-ready DOCX.
77
+
78
+ ### Option 2: Direct with Claude Code
79
+
80
+ If you have Node.js >= 20, just ask Claude:
81
+
82
+ ```
83
+ > Fill the Common Paper mutual NDA for my company
84
+ ```
85
+
86
+ Claude runs `npx -y open-agreements@latest list --json` to discover templates, then `npx -y open-agreements@latest fill <template>` to render the output. Zero install.
87
+
88
+ ### Option 3: CLI
89
+
90
+ ```bash
91
+ # Install globally
92
+ npm install -g open-agreements
93
+
94
+ # List available templates
95
+ open-agreements list
96
+
97
+ # Fill a template
98
+ open-agreements fill common-paper-mutual-nda -d values.json -o my-nda.docx
99
+ ```
100
+
101
+ ### What Happens
102
+
103
+ 1. Claude runs `list --json` to discover available templates and their fields
104
+ 2. Claude interviews you for field values (grouped by section, up to 4 questions per round)
105
+ 3. Claude runs `fill <template>` to render a DOCX preserving all original formatting
106
+ 4. You review and sign the output document
107
+
108
+ ## Use with Cursor
109
+
110
+ This repository includes a Cursor plugin manifest with MCP wiring:
111
+
112
+ - Plugin manifest: `.cursor-plugin/plugin.json`
113
+ - MCP config: `mcp.json`
114
+ - Skill: `skills/open-agreements/SKILL.md`
115
+
116
+ The default MCP setup in `mcp.json` includes:
117
+
118
+ - Hosted OpenAgreements MCP connector (`https://openagreements.ai/api/mcp`)
119
+ - Local workspace MCP server (`npx -y @open-agreements/contracts-workspace-mcp`)
120
+ - Local template drafting MCP server (`npx -y @open-agreements/contract-templates-mcp`)
121
+
122
+ To publish this plugin in Cursor Marketplace, submit this repository at:
123
+
124
+ - https://cursor.com/marketplace/publish
125
+
126
+ ## Templates
127
+
128
+ 28 templates across three tiers. Run `open-agreements list` for the full inventory.
129
+
130
+ | Tier | Count | Source | How It Works |
131
+ |------|-------|--------|--------------|
132
+ | Internal templates | 17 | [Common Paper](https://commonpaper.com), [Bonterms](https://bonterms.com), OpenAgreements | Shipped in package, CC BY 4.0 |
133
+ | External templates | 4 | [Y Combinator](https://www.ycombinator.com/documents) | Vendored unchanged, CC BY-ND 4.0 |
134
+ | Recipes | 7 | [NVCA](https://nvca.org/model-legal-documents/) | Downloaded on demand (not redistributable) |
135
+
136
+ **Internal templates** (NDAs, cloud terms, employment forms, contractor agreements, etc.) are CC BY 4.0 — we ship the DOCX with `{tag}` placeholders.
137
+
138
+ **External templates** (YC SAFEs) are CC BY-ND 4.0 — we vendor the original unchanged. The filled output is a transient derivative on your machine.
139
+
140
+ **Recipes** (NVCA financing documents) are freely downloadable but not redistributable — we ship only transformation instructions and download the source DOCX from nvca.org at runtime.
141
+
142
+ ### Guidance Extraction
143
+
144
+ Source documents contain expert commentary — footnotes, drafting notes, `[Comment: ...]` blocks — written by domain specialists (e.g., securities lawyers). The recipe cleaner removes this content to produce a fillable document, but can also extract it as structured JSON:
145
+
146
+ ```bash
147
+ open-agreements recipe clean source.docx -o cleaned.docx \
148
+ --recipe nvca-indemnification-agreement \
149
+ --extract-guidance guidance.json
150
+ ```
151
+
152
+ This produces a `guidance.json` with every removed footnote, comment, and drafting note tagged by source type and document position. The guidance is a local-only artifact (not committed or shipped) that AI agents or human authors can reference while filling the form. See [Adding Recipes — Guidance Extraction](docs/adding-recipes.md#guidance-extraction) for format details.
153
+
154
+ **Why programmatic extraction?** The source document is the single source of truth. Re-running extraction after a publisher update produces fresh guidance with zero manual effort, preserves the exact language of domain experts, and captures everything — an AI can summarize on the fly, but cannot recover discarded content.
155
+
156
+ Each template is a self-contained directory:
157
+
158
+ ```
159
+ content/templates/<name>/
160
+ ├── template.docx # DOCX with {tag} placeholders
161
+ ├── metadata.yaml # Fields, license, source, attribution
162
+ └── README.md # Template-specific documentation
163
+ ```
164
+
165
+ ## CLI Commands
166
+
167
+ ### `fill <template>`
168
+
169
+ Render a filled DOCX from a template.
170
+
171
+ ```bash
172
+ # Using a JSON data file
173
+ open-agreements fill common-paper-mutual-nda -d data.json -o output.docx
174
+
175
+ # Using inline --set flags
176
+ open-agreements fill common-paper-mutual-nda --set party_1_name="Acme Corp" --set governing_law="Delaware"
177
+ ```
178
+
179
+ ### `validate [template]`
180
+
181
+ Run the validation pipeline on one or all templates.
182
+
183
+ ```bash
184
+ open-agreements validate # All templates
185
+ open-agreements validate common-paper-mutual-nda # One template
186
+ ```
187
+
188
+ ### `list`
189
+
190
+ Show available templates with license info and field counts.
191
+
192
+ ```bash
193
+ open-agreements list
194
+
195
+ # Machine-readable JSON output (for agent skills and automation)
196
+ open-agreements list --json
197
+ ```
198
+
199
+ ## Contracts Workspace CLI (Separate Package)
200
+
201
+ OpenAgreements now includes a sibling package for repository/workspace operations:
202
+
203
+ - Package: `@open-agreements/contracts-workspace`
204
+ - Binary: `open-agreements-workspace`
205
+ - Docs: `docs/contracts-workspace.md`
206
+
207
+ This package is intentionally separate from `open-agreements` so teams can adopt:
208
+
209
+ - template filling only
210
+ - workspace management only
211
+ - or both together
212
+
213
+ Core workspace features:
214
+
215
+ - topic-first `init` planning (minimal suggested structure with top-level domains)
216
+ - forms catalog with URL + SHA-256 validation
217
+ - YAML status indexing and linting with filename-driven `_executed` status
218
+
219
+ The v1 model is filesystem-only and works in locally synced cloud-drive folders (for example, Google Drive sync). No Drive API/OAuth integration is required.
220
+
221
+ ## Local MCP for Workspace Demo
222
+
223
+ For local connector demos, there is a local stdio MCP package:
224
+
225
+ - Package: `@open-agreements/contracts-workspace-mcp`
226
+ - Binary: `open-agreements-workspace-mcp`
227
+ - Docs: `docs/contracts-workspace.md`
228
+
229
+ Quick start:
230
+
231
+ ```bash
232
+ npm run build:workspace-mcp
233
+ node packages/contracts-workspace-mcp/bin/open-agreements-workspace-mcp.js
234
+ ```
235
+
236
+ ## Local MCP for Template Drafting
237
+
238
+ For local Gemini/Cursor template drafting flows, use:
239
+
240
+ - Package: `@open-agreements/contract-templates-mcp`
241
+ - Binary: `open-agreements-contract-templates-mcp`
242
+
243
+ Quick start:
244
+
245
+ ```bash
246
+ npm run build:contract-templates-mcp
247
+ node packages/contract-templates-mcp/bin/open-agreements-contract-templates-mcp.js
248
+ ```
249
+
250
+ ## Website (Vercel)
251
+
252
+ A static marketing site is generated from `site/` with Eleventy.
253
+
254
+ - Entry points: `site/index.njk`, `site/templates.njk`, `site/template-detail.njk`
255
+ - Styles: `site/styles.css`
256
+ - Demo media: `site/assets/demo-fill-nda.gif`
257
+ - Deployment config: `vercel.json`
258
+ - Discovery outputs (generated during `npm run build:site`): `_site/llms.txt`, `_site/llms-full.txt`, `_site/sitemap.xml`, `_site/robots.txt`
259
+
260
+ Local preview:
261
+
262
+ ```bash
263
+ npm run build:site
264
+ python3 -m http.server 8080 --directory _site
265
+ ```
266
+
267
+ Then open `http://localhost:8080`.
268
+
269
+ Vercel deploy notes:
270
+
271
+ - Import this repository in Vercel
272
+ - Keep project root as repo root
273
+ - The included `vercel.json` deploys `_site/` as static output
274
+
275
+ ## Optional Content Roots (Future-Proofing)
276
+
277
+ To support logical unbundling as form libraries grow, `open-agreements` can load content from additional roots via:
278
+
279
+ - env var: `OPEN_AGREEMENTS_CONTENT_ROOTS`
280
+ - format: path-delimited list of absolute/relative directories (for example, `dirA:dirB` on macOS/Linux)
281
+ - expected structure under each root: `templates/`, `external/`, and/or `recipes/` (or nested under `content/`)
282
+
283
+ Lookup precedence is:
284
+
285
+ 1. roots in `OPEN_AGREEMENTS_CONTENT_ROOTS` (in listed order)
286
+ 2. bundled package content (default fallback)
287
+
288
+ This keeps default installs simple while allowing advanced users to move large content libraries outside the core package.
289
+
290
+ ## Contributing
291
+
292
+ See [CONTRIBUTING.md](CONTRIBUTING.md) for how to add templates, recipes, and other improvements.
293
+
294
+ - [Adding templates](docs/adding-templates.md) (CC BY 4.0 / CC0 sources)
295
+ - [Adding recipes](docs/adding-recipes.md) (non-redistributable sources)
296
+ - [Employment source policy](docs/employment-source-policy.md) (trust and terms classifications)
297
+ - [Code of Conduct](CODE_OF_CONDUCT.md) (community expectations and enforcement)
298
+
299
+ ## Releasing
300
+
301
+ Releases are automated through GitHub Actions using npm trusted publishing (OIDC) with provenance enabled.
302
+
303
+ 1. Update versions in root package + publishable MCP packages.
304
+ 2. Push commit + tag with `git push origin main --tags`
305
+ 3. Run the local Gemini extension gate (copy/symlink into `~/.gemini/extensions/open-agreements` and verify both local MCP servers start/respond).
306
+ 4. The `Release` workflow publishes from the tag after running build, validation, tests, isolated runtime smoke, and package checks.
307
+
308
+ Workflow guardrails:
309
+
310
+ - tag must match root + publishable package versions
311
+ - release commit must be contained in `origin/main`
312
+ - publish fails if any target npm version already exists
313
+
314
+ ## Architecture
315
+
316
+ - **Language**: TypeScript
317
+ - **DOCX Engine**: [docx-templates](https://www.npmjs.com/package/docx-templates) (MIT)
318
+ - **CLI**: [Commander.js](https://www.npmjs.com/package/commander)
319
+ - **Validation**: [Zod](https://www.npmjs.com/package/zod) schemas
320
+ - **Skill Pattern**: Agent-agnostic `ToolCommandAdapter` interface
321
+
322
+ ```
323
+ content/ # All content directories
324
+ ├── templates/ # Internal templates (CC BY 4.0)
325
+ ├── external/ # External templates (CC BY-ND 4.0)
326
+ └── recipes/ # Recipes (downloaded at runtime)
327
+
328
+ src/ # TypeScript source + collocated unit tests
329
+ ├── cli/ # Commander.js CLI
330
+ ├── commands/ # fill, validate, list, recipe, scan
331
+ ├── core/
332
+ │ ├── engine.ts # docx-templates wrapper
333
+ │ ├── metadata.ts # Zod schemas + loader
334
+ │ ├── recipe/ # Recipe pipeline (clean → patch → fill → verify)
335
+ │ ├── external/ # External template support
336
+ │ ├── validation/ # template, license, output, recipe
337
+ │ └── command-generation/
338
+ │ ├── types.ts # ToolCommandAdapter interface
339
+ │ └── adapters/ # Claude Code adapter
340
+ └── index.ts # Public API
341
+
342
+ integration-tests/ # Integration and end-to-end tests
343
+ ```
344
+
345
+ ## Resources
346
+
347
+ - [Claude Code Documentation](https://docs.anthropic.com/en/docs/claude-code)
348
+ - [Claude Code Plugins Guide](https://docs.anthropic.com/en/docs/claude-code/plugins)
349
+ - [Agent Skills Specification](https://agentskills.io)
350
+
351
+ ## License
352
+
353
+ MIT
354
+
355
+ Template content is licensed by their respective authors — CC BY 4.0 (Common Paper, Bonterms), CC BY-ND 4.0 (Y Combinator), or proprietary (NVCA, downloaded at runtime). See each template's `metadata.yaml` for details.
356
+
357
+ ## Disclaimer
358
+
359
+ This tool generates documents from standard templates. It does not provide legal advice. No affiliation with or endorsement by Common Paper, Bonterms, Y Combinator, NVCA, or any template source is implied. Consult an attorney for legal guidance.
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env node
2
+ import { runCli } from '../dist/cli/index.js';
3
+
4
+ await runCli(process.argv);
@@ -0,0 +1,27 @@
1
+ Creative Commons Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0)
2
+
3
+ The DOCX files in this directory are redistributed under the CC BY-ND 4.0 license.
4
+ They are unmodified copies of the originals published by their respective authors.
5
+
6
+ You are free to:
7
+ - Share: copy and redistribute the material in any medium or format for any purpose,
8
+ even commercially.
9
+
10
+ Under the following terms:
11
+ - Attribution: You must give appropriate credit, provide a link to the license, and
12
+ indicate if changes were made.
13
+ - NoDerivatives: If you remix, transform, or build upon the material, you may not
14
+ distribute the modified material.
15
+
16
+ Full license text: https://creativecommons.org/licenses/by-nd/4.0/legalcode
17
+
18
+ ---
19
+
20
+ Y Combinator Post-Money SAFE Documents
21
+ Copyright Y Combinator
22
+ Source: https://www.ycombinator.com/documents
23
+
24
+ - yc-safe-valuation-cap/template.docx — Post-Money SAFE, Valuation Cap Only
25
+ - yc-safe-discount/template.docx — Post-Money SAFE, Discount Only
26
+ - yc-safe-mfn/template.docx — Post-Money SAFE, MFN Only
27
+ - yc-safe-pro-rata-side-letter/template.docx — Pro Rata Side Letter
@@ -0,0 +1,38 @@
1
+ # External Templates
2
+
3
+ This directory contains third-party standard-form legal documents that are redistributable under **CC BY-ND 4.0** but must not be modified. The `template.docx` files here are unmodified copies of the originals published by their respective authors.
4
+
5
+ ## How It Works
6
+
7
+ Unlike templates in `templates/` (which contain pre-baked `{tag}` placeholders), external templates store the original document as-is. At fill time, the CLI applies bracket-to-tag replacement in a temporary directory, fills the values, and produces an output file. The committed source is never altered.
8
+
9
+ ## Contents
10
+
11
+ | Directory | Document | Publisher |
12
+ |-----------|----------|-----------|
13
+ | `yc-safe-valuation-cap/` | Post-Money SAFE — Valuation Cap | Y Combinator |
14
+ | `yc-safe-discount/` | Post-Money SAFE — Discount | Y Combinator |
15
+ | `yc-safe-mfn/` | Post-Money SAFE — MFN | Y Combinator |
16
+ | `yc-safe-pro-rata-side-letter/` | Pro Rata Side Letter | Y Combinator |
17
+
18
+ ## Each Directory Contains
19
+
20
+ - `template.docx` — Unmodified original DOCX from the publisher
21
+ - `metadata.yaml` — Zod-validated schema with fields, source URL, license info, and `source_sha256` integrity hash
22
+ - `replacements.json` — Bracket-to-tag mapping used at fill time
23
+ - `clean.json` — Optional cleanup config (footnotes, notes to drafter)
24
+ - `README.md` — Attribution, source link, usage notes
25
+
26
+ ## Updating External Templates
27
+
28
+ When a publisher releases a new version:
29
+
30
+ 1. Re-download the DOCX from the official `source_url` (never re-save through Microsoft Word)
31
+ 2. Update `source_sha256` in `metadata.yaml` with the new file's SHA-256 hash
32
+ 3. Update `version` in `metadata.yaml`
33
+ 4. Re-test the replacement mappings with `open-agreements scan` and a test fill
34
+ 5. Run `open-agreements validate` to confirm integrity
35
+
36
+ ## License
37
+
38
+ See [LICENSE](./LICENSE) for full attribution and license details.
@@ -0,0 +1,16 @@
1
+ # YC Post-Money SAFE — Discount
2
+
3
+ Y Combinator's Post-Money SAFE (Simple Agreement for Future Equity) with a discount rate and no valuation cap.
4
+
5
+ ## Source
6
+
7
+ - **Document**: Post-Money SAFE — Discount Only
8
+ - **Publisher**: Y Combinator
9
+ - **URL**: https://www.ycombinator.com/documents
10
+ - **License**: CC BY-ND 4.0
11
+
12
+ ## License Notice
13
+
14
+ This document is redistributed under the Creative Commons Attribution-NoDerivatives 4.0 International license (CC BY-ND 4.0). The `template.docx` file in this directory is an unmodified copy of the original as published by Y Combinator.
15
+
16
+ You may fill in the blanks for your own use. Do not redistribute modified versions of the document itself. See https://creativecommons.org/licenses/by-nd/4.0/ for full license terms.
@@ -0,0 +1,4 @@
1
+ {
2
+ "removeFootnotes": false,
3
+ "removeParagraphPatterns": []
4
+ }
@@ -0,0 +1,67 @@
1
+ name: YC Post-Money SAFE — Discount
2
+ description: Y Combinator's Post-Money SAFE (Simple Agreement for Future Equity) with a discount rate and no valuation cap.
3
+ source_url: https://www.ycombinator.com/documents
4
+ version: '2024.12'
5
+ license: CC-BY-ND-4.0
6
+ allow_derivatives: false
7
+ attribution_text: >-
8
+ Based on the Y Combinator Post-Money SAFE, available at https://www.ycombinator.com/documents. Licensed under CC BY-ND
9
+ 4.0. Copyright Y Combinator.
10
+ source_sha256: 93d606fc568e39673ab96c581850ece30b4f478972b7b4d4d132df695264b5a5
11
+ fields:
12
+ - name: company_name
13
+ type: string
14
+ description: Full legal name of the company
15
+ section: Parties
16
+ - name: investor_name
17
+ type: string
18
+ description: Full legal name of the investor
19
+ section: Parties
20
+ - name: purchase_amount
21
+ type: string
22
+ description: Dollar amount of the investment (e.g., "100,000")
23
+ section: Deal Terms
24
+ - name: discount_rate
25
+ type: string
26
+ description: Discount rate as a percentage, expressed as 100 minus the discount (e.g., "80" for a 20% discount)
27
+ section: Deal Terms
28
+ - name: date_of_safe
29
+ type: date
30
+ description: Date the SAFE is executed
31
+ section: Deal Terms
32
+ - name: state_of_incorporation
33
+ type: string
34
+ description: State where the company is incorporated (e.g., "Delaware")
35
+ section: Company Details
36
+ - name: governing_law_jurisdiction
37
+ type: string
38
+ description: State whose laws govern the agreement (e.g., "Delaware")
39
+ section: Company Details
40
+ - name: company
41
+ type: string
42
+ description: Company name as used in the signature block (typically matches company_name)
43
+ section: Signatures
44
+ - name: company_name_caps
45
+ type: string
46
+ description: Company name in uppercase as used in the header (e.g., "ACME INC.")
47
+ section: Signatures
48
+ - name: name
49
+ type: string
50
+ description: Name of the company signatory
51
+ section: Signatures
52
+ - name: title
53
+ type: string
54
+ description: Title of the company signatory (e.g., "CEO")
55
+ section: Signatures
56
+ required_fields:
57
+ - company_name
58
+ - investor_name
59
+ - purchase_amount
60
+ - discount_rate
61
+ - date_of_safe
62
+ - state_of_incorporation
63
+ - governing_law_jurisdiction
64
+ - company
65
+ - company_name_caps
66
+ - name
67
+ - title
@@ -0,0 +1,13 @@
1
+ {
2
+ "[Company Name]": "{company_name}",
3
+ "[Investor Name]": "{investor_name}",
4
+ "[__________]": "{purchase_amount}",
5
+ "[100 minus the discount]": "{discount_rate}",
6
+ "[Date of Safe]": "{date_of_safe}",
7
+ "[State of Incorporation]": "{state_of_incorporation}",
8
+ "[Governing Law Jurisdiction]": "{governing_law_jurisdiction}",
9
+ "[COMPANY]": "{company}",
10
+ "[COMPANY NAME]": "{company_name_caps}",
11
+ "[name]": "{name}",
12
+ "[title]": "{title}"
13
+ }
@@ -0,0 +1,16 @@
1
+ # YC Post-Money SAFE — MFN
2
+
3
+ Y Combinator's Post-Money SAFE (Simple Agreement for Future Equity) with a most favored nation (MFN) provision, no valuation cap, and no discount.
4
+
5
+ ## Source
6
+
7
+ - **Document**: Post-Money SAFE — MFN Only
8
+ - **Publisher**: Y Combinator
9
+ - **URL**: https://www.ycombinator.com/documents
10
+ - **License**: CC BY-ND 4.0
11
+
12
+ ## License Notice
13
+
14
+ This document is redistributed under the Creative Commons Attribution-NoDerivatives 4.0 International license (CC BY-ND 4.0). The `template.docx` file in this directory is an unmodified copy of the original as published by Y Combinator.
15
+
16
+ You may fill in the blanks for your own use. Do not redistribute modified versions of the document itself. See https://creativecommons.org/licenses/by-nd/4.0/ for full license terms.
@@ -0,0 +1,4 @@
1
+ {
2
+ "removeFootnotes": false,
3
+ "removeParagraphPatterns": []
4
+ }
@@ -0,0 +1,64 @@
1
+ name: YC Post-Money SAFE — MFN
2
+ description: >-
3
+ Y Combinator's Post-Money SAFE (Simple Agreement for Future Equity) with a most favored nation (MFN) provision, no
4
+ valuation cap, and no discount.
5
+ source_url: https://www.ycombinator.com/documents
6
+ version: '2024.12'
7
+ license: CC-BY-ND-4.0
8
+ allow_derivatives: false
9
+ attribution_text: >-
10
+ Based on the Y Combinator Post-Money SAFE, available at https://www.ycombinator.com/documents. Licensed under CC BY-ND
11
+ 4.0. Copyright Y Combinator.
12
+ source_sha256: d3ad99466059b6f4d838e8e5daeeff5752e9866e6b557c6056df772f8509e727
13
+ fields:
14
+ - name: company_name
15
+ type: string
16
+ description: Full legal name of the company
17
+ section: Parties
18
+ - name: investor_name
19
+ type: string
20
+ description: Full legal name of the investor
21
+ section: Parties
22
+ - name: purchase_amount
23
+ type: string
24
+ description: Dollar amount of the investment (e.g., "100,000")
25
+ section: Deal Terms
26
+ - name: date_of_safe
27
+ type: date
28
+ description: Date the SAFE is executed
29
+ section: Deal Terms
30
+ - name: state_of_incorporation
31
+ type: string
32
+ description: State where the company is incorporated (e.g., "Delaware")
33
+ section: Company Details
34
+ - name: governing_law_jurisdiction
35
+ type: string
36
+ description: State whose laws govern the agreement (e.g., "Delaware")
37
+ section: Company Details
38
+ - name: company
39
+ type: string
40
+ description: Company name as used in the signature block (typically matches company_name)
41
+ section: Signatures
42
+ - name: company_name_caps
43
+ type: string
44
+ description: Company name in uppercase as used in the header (e.g., "ACME INC.")
45
+ section: Signatures
46
+ - name: name
47
+ type: string
48
+ description: Name of the company signatory
49
+ section: Signatures
50
+ - name: title
51
+ type: string
52
+ description: Title of the company signatory (e.g., "CEO")
53
+ section: Signatures
54
+ required_fields:
55
+ - company_name
56
+ - investor_name
57
+ - purchase_amount
58
+ - date_of_safe
59
+ - state_of_incorporation
60
+ - governing_law_jurisdiction
61
+ - company
62
+ - company_name_caps
63
+ - name
64
+ - title
@@ -0,0 +1,12 @@
1
+ {
2
+ "[Company Name]": "{company_name}",
3
+ "[Investor Name]": "{investor_name}",
4
+ "[_____________]": "{purchase_amount}",
5
+ "[Date of Safe]": "{date_of_safe}",
6
+ "[State of Incorporation]": "{state_of_incorporation}",
7
+ "[Governing Law Jurisdiction]": "{governing_law_jurisdiction}",
8
+ "[COMPANY]": "{company}",
9
+ "[COMPANY NAME]": "{company_name_caps}",
10
+ "[name]": "{name}",
11
+ "[title]": "{title}"
12
+ }