open-agreements 0.1.0 → 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.
- package/README.md +215 -17
- package/bin/open-agreements.js +3 -1
- package/{external → content/external}/yc-safe-discount/metadata.yaml +17 -21
- package/{external → content/external}/yc-safe-mfn/metadata.yaml +16 -16
- package/{external → content/external}/yc-safe-pro-rata-side-letter/metadata.yaml +13 -13
- package/{external → content/external}/yc-safe-valuation-cap/metadata.yaml +16 -16
- package/{recipes → content/recipes}/nvca-certificate-of-incorporation/metadata.yaml +13 -13
- package/content/recipes/nvca-indemnification-agreement/clean.json +17 -0
- package/{recipes → content/recipes}/nvca-indemnification-agreement/metadata.yaml +17 -21
- package/{recipes → content/recipes}/nvca-investors-rights-agreement/metadata.yaml +18 -22
- package/{recipes → content/recipes}/nvca-management-rights-letter/metadata.yaml +13 -16
- package/{recipes → content/recipes}/nvca-rofr-co-sale-agreement/metadata.yaml +20 -24
- package/content/recipes/nvca-stock-purchase-agreement/clean.json +13 -0
- package/content/recipes/nvca-stock-purchase-agreement/computed.json +103 -0
- package/content/recipes/nvca-stock-purchase-agreement/metadata.yaml +138 -0
- package/content/recipes/nvca-stock-purchase-agreement/normalize.json +83 -0
- package/content/recipes/nvca-stock-purchase-agreement/replacements.json +41 -0
- package/{recipes → content/recipes}/nvca-voting-agreement/metadata.yaml +19 -23
- package/{templates → content/templates}/bonterms-mutual-nda/metadata.yaml +14 -14
- package/content/templates/bonterms-mutual-nda/source.json +18 -0
- package/content/templates/bonterms-mutual-nda/template.docx +0 -0
- package/{templates → content/templates}/bonterms-professional-services-agreement/metadata.yaml +15 -10
- package/content/templates/bonterms-professional-services-agreement/selections.json +12 -0
- package/content/templates/bonterms-professional-services-agreement/source.json +18 -0
- package/content/templates/bonterms-professional-services-agreement/template.docx +0 -0
- package/content/templates/closing-checklist/metadata.yaml +39 -0
- package/content/templates/closing-checklist/template.docx +0 -0
- package/{templates → content/templates}/common-paper-ai-addendum/metadata.yaml +8 -10
- package/{templates → content/templates}/common-paper-ai-addendum-in-app/metadata.yaml +6 -8
- package/{templates → content/templates}/common-paper-amendment/metadata.yaml +14 -14
- package/{templates → content/templates}/common-paper-business-associate-agreement/metadata.yaml +9 -16
- package/content/templates/common-paper-business-associate-agreement/replacements.json +3 -0
- package/{templates → content/templates}/common-paper-business-associate-agreement/template.docx +0 -0
- package/{templates → content/templates}/common-paper-cloud-service-agreement/metadata.yaml +53 -187
- package/{templates → content/templates}/common-paper-cloud-service-agreement/template.docx +0 -0
- package/{templates → content/templates}/common-paper-csa-click-through/metadata.yaml +10 -20
- package/{templates → content/templates}/common-paper-csa-with-ai/metadata.yaml +14 -37
- package/content/templates/common-paper-csa-with-ai/replacements.json +7 -0
- package/content/templates/common-paper-csa-with-ai/template.docx +0 -0
- package/{templates → content/templates}/common-paper-csa-with-sla/metadata.yaml +14 -40
- package/content/templates/common-paper-csa-with-sla/replacements.json +7 -0
- package/{templates → content/templates}/common-paper-csa-with-sla/template.docx +0 -0
- package/{templates → content/templates}/common-paper-csa-without-sla/metadata.yaml +14 -34
- package/content/templates/common-paper-csa-without-sla/replacements.json +7 -0
- package/{templates → content/templates}/common-paper-csa-without-sla/template.docx +0 -0
- package/{templates → content/templates}/common-paper-data-processing-agreement/metadata.yaml +15 -34
- package/content/templates/common-paper-data-processing-agreement/replacements.json +3 -0
- package/{templates → content/templates}/common-paper-data-processing-agreement/template.docx +0 -0
- package/{templates → content/templates}/common-paper-design-partner-agreement/metadata.yaml +10 -16
- package/content/templates/common-paper-design-partner-agreement/replacements.json +4 -0
- package/{templates → content/templates}/common-paper-design-partner-agreement/template.docx +0 -0
- package/{templates → content/templates}/common-paper-independent-contractor-agreement/metadata.yaml +14 -14
- package/{templates → content/templates}/common-paper-letter-of-intent/metadata.yaml +11 -12
- package/{templates → content/templates}/common-paper-mutual-nda/metadata.yaml +13 -13
- package/content/templates/common-paper-mutual-nda/selections.json +38 -0
- package/{templates → content/templates}/common-paper-one-way-nda/metadata.yaml +13 -14
- package/{templates → content/templates}/common-paper-order-form/metadata.yaml +12 -23
- package/content/templates/common-paper-order-form/replacements.json +5 -0
- package/{templates → content/templates}/common-paper-order-form/template.docx +0 -0
- package/{templates → content/templates}/common-paper-order-form-with-sla/metadata.yaml +12 -30
- package/content/templates/common-paper-order-form-with-sla/replacements.json +5 -0
- package/{templates → content/templates}/common-paper-order-form-with-sla/template.docx +0 -0
- package/{templates → content/templates}/common-paper-partnership-agreement/metadata.yaml +9 -21
- package/content/templates/common-paper-partnership-agreement/replacements.json +7 -0
- package/{templates → content/templates}/common-paper-partnership-agreement/template.docx +0 -0
- package/{templates → content/templates}/common-paper-pilot-agreement/metadata.yaml +31 -21
- package/content/templates/common-paper-pilot-agreement/replacements.json +4 -0
- package/content/templates/common-paper-pilot-agreement/selections.json +37 -0
- package/{templates → content/templates}/common-paper-pilot-agreement/template.docx +0 -0
- package/{templates → content/templates}/common-paper-professional-services-agreement/metadata.yaml +15 -32
- package/content/templates/common-paper-professional-services-agreement/replacements.json +8 -0
- package/content/templates/common-paper-professional-services-agreement/template.docx +0 -0
- package/{templates → content/templates}/common-paper-software-license-agreement/metadata.yaml +6 -6
- package/{templates → content/templates}/common-paper-statement-of-work/metadata.yaml +12 -19
- package/content/templates/common-paper-statement-of-work/replacements.json +3 -0
- package/{templates → content/templates}/common-paper-statement-of-work/template.docx +0 -0
- package/{templates → content/templates}/common-paper-term-sheet/metadata.yaml +9 -9
- package/content/templates/openagreements-employee-ip-inventions-assignment/README.md +31 -0
- package/content/templates/openagreements-employee-ip-inventions-assignment/metadata.yaml +71 -0
- package/content/templates/openagreements-employee-ip-inventions-assignment/template.docx +0 -0
- package/content/templates/openagreements-employee-ip-inventions-assignment/template.md +80 -0
- package/content/templates/openagreements-employment-confidentiality-acknowledgement/README.md +30 -0
- package/content/templates/openagreements-employment-confidentiality-acknowledgement/metadata.yaml +60 -0
- package/content/templates/openagreements-employment-confidentiality-acknowledgement/template.docx +0 -0
- package/content/templates/openagreements-employment-confidentiality-acknowledgement/template.md +51 -0
- package/content/templates/openagreements-employment-offer-letter/README.md +33 -0
- package/content/templates/openagreements-employment-offer-letter/metadata.yaml +75 -0
- package/content/templates/openagreements-employment-offer-letter/template.docx +0 -0
- package/content/templates/openagreements-employment-offer-letter/template.md +90 -0
- package/content/templates/working-group-list/metadata.yaml +22 -0
- package/content/templates/working-group-list/template.docx +0 -0
- package/dist/cli/index.d.ts +3 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +185 -88
- package/dist/cli/index.js.map +1 -1
- package/dist/commands/checklist.d.ts +22 -0
- package/dist/commands/checklist.d.ts.map +1 -0
- package/dist/commands/checklist.js +222 -0
- package/dist/commands/checklist.js.map +1 -0
- package/dist/commands/fill.d.ts +11 -0
- package/dist/commands/fill.d.ts.map +1 -1
- package/dist/commands/fill.js +65 -30
- package/dist/commands/fill.js.map +1 -1
- package/dist/commands/list.d.ts +1 -0
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +132 -87
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/recipe.d.ts +3 -0
- package/dist/commands/recipe.d.ts.map +1 -1
- package/dist/commands/recipe.js +27 -2
- package/dist/commands/recipe.js.map +1 -1
- package/dist/commands/scan.d.ts +16 -0
- package/dist/commands/scan.d.ts.map +1 -1
- package/dist/commands/scan.js +36 -20
- package/dist/commands/scan.js.map +1 -1
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +67 -48
- package/dist/commands/validate.js.map +1 -1
- package/dist/core/checklist/index.d.ts +38 -0
- package/dist/core/checklist/index.d.ts.map +1 -0
- package/dist/core/checklist/index.js +229 -0
- package/dist/core/checklist/index.js.map +1 -0
- package/dist/core/checklist/patch-apply.d.ts +65 -0
- package/dist/core/checklist/patch-apply.d.ts.map +1 -0
- package/dist/core/checklist/patch-apply.js +274 -0
- package/dist/core/checklist/patch-apply.js.map +1 -0
- package/dist/core/checklist/patch-schemas.d.ts +86 -0
- package/dist/core/checklist/patch-schemas.d.ts.map +1 -0
- package/dist/core/checklist/patch-schemas.js +89 -0
- package/dist/core/checklist/patch-schemas.js.map +1 -0
- package/dist/core/checklist/patch-validator.d.ts +76 -0
- package/dist/core/checklist/patch-validator.d.ts.map +1 -0
- package/dist/core/checklist/patch-validator.js +404 -0
- package/dist/core/checklist/patch-validator.js.map +1 -0
- package/dist/core/checklist/schemas.d.ts +270 -0
- package/dist/core/checklist/schemas.d.ts.map +1 -0
- package/dist/core/checklist/schemas.js +229 -0
- package/dist/core/checklist/schemas.js.map +1 -0
- package/dist/core/checklist/test-utils.d.ts +7 -0
- package/dist/core/checklist/test-utils.d.ts.map +1 -0
- package/dist/core/checklist/test-utils.js +13 -0
- package/dist/core/checklist/test-utils.js.map +1 -0
- package/dist/core/command-generation/adapters/claude.d.ts.map +1 -1
- package/dist/core/command-generation/adapters/claude.js +8 -2
- package/dist/core/command-generation/adapters/claude.js.map +1 -1
- package/dist/core/employment/jurisdiction-rules.d.ts +20 -0
- package/dist/core/employment/jurisdiction-rules.d.ts.map +1 -0
- package/dist/core/employment/jurisdiction-rules.js +57 -0
- package/dist/core/employment/jurisdiction-rules.js.map +1 -0
- package/dist/core/employment/memo.d.ts +57 -0
- package/dist/core/employment/memo.d.ts.map +1 -0
- package/dist/core/employment/memo.js +589 -0
- package/dist/core/employment/memo.js.map +1 -0
- package/dist/core/engine.d.ts +1 -1
- package/dist/core/engine.d.ts.map +1 -1
- package/dist/core/engine.js +64 -31
- package/dist/core/engine.js.map +1 -1
- package/dist/core/external/index.d.ts.map +1 -1
- package/dist/core/external/index.js +18 -60
- package/dist/core/external/index.js.map +1 -1
- package/dist/core/external/types.d.ts +1 -1
- package/dist/core/external/types.d.ts.map +1 -1
- package/dist/core/fill-pipeline.d.ts +9 -6
- package/dist/core/fill-pipeline.d.ts.map +1 -1
- package/dist/core/fill-pipeline.js +92 -21
- package/dist/core/fill-pipeline.js.map +1 -1
- package/dist/core/fill-utils.d.ts +1 -1
- package/dist/core/fill-utils.d.ts.map +1 -1
- package/dist/core/fill-utils.js.map +1 -1
- package/dist/core/metadata.d.ts +129 -331
- package/dist/core/metadata.d.ts.map +1 -1
- package/dist/core/metadata.js +76 -5
- package/dist/core/metadata.js.map +1 -1
- package/dist/core/recipe/bracket-normalizer.d.ts +46 -0
- package/dist/core/recipe/bracket-normalizer.d.ts.map +1 -0
- package/dist/core/recipe/bracket-normalizer.js +354 -0
- package/dist/core/recipe/bracket-normalizer.js.map +1 -0
- package/dist/core/recipe/cleaner.d.ts +19 -5
- package/dist/core/recipe/cleaner.d.ts.map +1 -1
- package/dist/core/recipe/cleaner.js +256 -17
- package/dist/core/recipe/cleaner.js.map +1 -1
- package/dist/core/recipe/computed.d.ts +136 -0
- package/dist/core/recipe/computed.d.ts.map +1 -0
- package/dist/core/recipe/computed.js +225 -0
- package/dist/core/recipe/computed.js.map +1 -0
- package/dist/core/recipe/index.d.ts +3 -0
- package/dist/core/recipe/index.d.ts.map +1 -1
- package/dist/core/recipe/index.js +62 -63
- package/dist/core/recipe/index.js.map +1 -1
- package/dist/core/recipe/patcher.d.ts +19 -2
- package/dist/core/recipe/patcher.d.ts.map +1 -1
- package/dist/core/recipe/patcher.js +197 -14
- package/dist/core/recipe/patcher.js.map +1 -1
- package/dist/core/recipe/replacement-keys.d.ts +33 -0
- package/dist/core/recipe/replacement-keys.d.ts.map +1 -0
- package/dist/core/recipe/replacement-keys.js +53 -0
- package/dist/core/recipe/replacement-keys.js.map +1 -0
- package/dist/core/recipe/source-drift.d.ts +33 -0
- package/dist/core/recipe/source-drift.d.ts.map +1 -0
- package/dist/core/recipe/source-drift.js +113 -0
- package/dist/core/recipe/source-drift.js.map +1 -0
- package/dist/core/recipe/types.d.ts +6 -1
- package/dist/core/recipe/types.d.ts.map +1 -1
- package/dist/core/recipe/verifier.d.ts +1 -1
- package/dist/core/recipe/verifier.d.ts.map +1 -1
- package/dist/core/recipe/verifier.js +19 -4
- package/dist/core/recipe/verifier.js.map +1 -1
- package/dist/core/selector.d.ts +41 -0
- package/dist/core/selector.d.ts.map +1 -0
- package/dist/core/selector.js +323 -0
- package/dist/core/selector.js.map +1 -0
- package/dist/core/unified-pipeline.d.ts +53 -0
- package/dist/core/unified-pipeline.d.ts.map +1 -0
- package/dist/core/unified-pipeline.js +107 -0
- package/dist/core/unified-pipeline.js.map +1 -0
- package/dist/core/validation/external.d.ts.map +1 -1
- package/dist/core/validation/external.js +9 -1
- package/dist/core/validation/external.js.map +1 -1
- package/dist/core/validation/recipe.d.ts +1 -1
- package/dist/core/validation/recipe.d.ts.map +1 -1
- package/dist/core/validation/recipe.js +52 -41
- package/dist/core/validation/recipe.js.map +1 -1
- package/dist/core/validation/scan-metadata.d.ts +21 -0
- package/dist/core/validation/scan-metadata.d.ts.map +1 -0
- package/dist/core/validation/scan-metadata.js +70 -0
- package/dist/core/validation/scan-metadata.js.map +1 -0
- package/dist/core/validation/template.d.ts.map +1 -1
- package/dist/core/validation/template.js +131 -42
- package/dist/core/validation/template.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/utils/paths.d.ts +28 -0
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +113 -7
- package/dist/utils/paths.js.map +1 -1
- package/package.json +82 -13
- package/skills/cloud-service-agreement/CONNECTORS.md +19 -0
- package/skills/cloud-service-agreement/SKILL.md +172 -0
- package/skills/data-privacy-agreement/CONNECTORS.md +19 -0
- package/skills/data-privacy-agreement/SKILL.md +158 -0
- package/skills/delaware-franchise-tax/CONNECTORS.md +16 -0
- package/skills/delaware-franchise-tax/SKILL.md +169 -0
- package/skills/delaware-franchise-tax/reference/faq.md +101 -0
- package/skills/delaware-franchise-tax/reference/filing-instructions.md +111 -0
- package/skills/delaware-franchise-tax/reference/tax-calculation.md +167 -0
- package/skills/employment-contract/CONNECTORS.md +19 -0
- package/skills/employment-contract/SKILL.md +157 -0
- package/skills/nda/CONNECTORS.md +19 -0
- package/skills/nda/SKILL.md +153 -0
- package/skills/open-agreements/CONNECTORS.md +19 -0
- package/skills/open-agreements/SKILL.md +86 -70
- package/skills/safe/CONNECTORS.md +19 -0
- package/skills/safe/SKILL.md +161 -0
- package/skills/services-agreement/CONNECTORS.md +19 -0
- package/skills/services-agreement/SKILL.md +156 -0
- package/skills/unit-test-philosophy/SKILL.md +113 -0
- package/skills/unit-test-philosophy/references/allure-test-spec-writing-guide.md +164 -0
- package/skills/venture-financing/CONNECTORS.md +19 -0
- package/skills/venture-financing/SKILL.md +169 -0
- package/recipes/nvca-certificate-of-incorporation/schema.json +0 -11
- package/recipes/nvca-indemnification-agreement/clean.json +0 -7
- package/recipes/nvca-indemnification-agreement/schema.json +0 -19
- package/recipes/nvca-investors-rights-agreement/schema.json +0 -18
- package/recipes/nvca-management-rights-letter/schema.json +0 -13
- package/recipes/nvca-rofr-co-sale-agreement/schema.json +0 -19
- package/recipes/nvca-stock-purchase-agreement/clean.json +0 -10
- package/recipes/nvca-stock-purchase-agreement/metadata.yaml +0 -74
- package/recipes/nvca-stock-purchase-agreement/replacements.json +0 -20
- package/recipes/nvca-stock-purchase-agreement/schema.json +0 -19
- package/recipes/nvca-voting-agreement/schema.json +0 -28
- package/templates/bonterms-mutual-nda/template.docx +0 -0
- package/templates/bonterms-professional-services-agreement/template.docx +0 -0
- package/templates/common-paper-csa-with-ai/template.docx +0 -0
- package/templates/common-paper-professional-services-agreement/template.docx +0 -0
- /package/{external → content/external}/LICENSE +0 -0
- /package/{external → content/external}/README.md +0 -0
- /package/{external → content/external}/yc-safe-discount/README.md +0 -0
- /package/{external → content/external}/yc-safe-discount/clean.json +0 -0
- /package/{external → content/external}/yc-safe-discount/replacements.json +0 -0
- /package/{external → content/external}/yc-safe-discount/template.docx +0 -0
- /package/{external → content/external}/yc-safe-mfn/README.md +0 -0
- /package/{external → content/external}/yc-safe-mfn/clean.json +0 -0
- /package/{external → content/external}/yc-safe-mfn/replacements.json +0 -0
- /package/{external → content/external}/yc-safe-mfn/template.docx +0 -0
- /package/{external → content/external}/yc-safe-pro-rata-side-letter/README.md +0 -0
- /package/{external → content/external}/yc-safe-pro-rata-side-letter/clean.json +0 -0
- /package/{external → content/external}/yc-safe-pro-rata-side-letter/replacements.json +0 -0
- /package/{external → content/external}/yc-safe-pro-rata-side-letter/template.docx +0 -0
- /package/{external → content/external}/yc-safe-valuation-cap/README.md +0 -0
- /package/{external → content/external}/yc-safe-valuation-cap/clean.json +0 -0
- /package/{external → content/external}/yc-safe-valuation-cap/replacements.json +0 -0
- /package/{external → content/external}/yc-safe-valuation-cap/template.docx +0 -0
- /package/{recipes → content/recipes}/nvca-certificate-of-incorporation/clean.json +0 -0
- /package/{recipes → content/recipes}/nvca-certificate-of-incorporation/replacements.json +0 -0
- /package/{recipes → content/recipes}/nvca-indemnification-agreement/replacements.json +0 -0
- /package/{recipes → content/recipes}/nvca-investors-rights-agreement/clean.json +0 -0
- /package/{recipes → content/recipes}/nvca-investors-rights-agreement/replacements.json +0 -0
- /package/{recipes → content/recipes}/nvca-management-rights-letter/clean.json +0 -0
- /package/{recipes → content/recipes}/nvca-management-rights-letter/replacements.json +0 -0
- /package/{recipes → content/recipes}/nvca-rofr-co-sale-agreement/clean.json +0 -0
- /package/{recipes → content/recipes}/nvca-rofr-co-sale-agreement/replacements.json +0 -0
- /package/{recipes → content/recipes}/nvca-voting-agreement/README.md +0 -0
- /package/{recipes → content/recipes}/nvca-voting-agreement/clean.json +0 -0
- /package/{recipes → content/recipes}/nvca-voting-agreement/replacements.json +0 -0
- /package/{templates → content/templates}/bonterms-mutual-nda/README.md +0 -0
- /package/{templates → content/templates}/bonterms-professional-services-agreement/README.md +0 -0
- /package/{templates → content/templates}/common-paper-ai-addendum/README.md +0 -0
- /package/{templates → content/templates}/common-paper-ai-addendum/template.docx +0 -0
- /package/{templates → content/templates}/common-paper-ai-addendum-in-app/README.md +0 -0
- /package/{templates → content/templates}/common-paper-ai-addendum-in-app/template.docx +0 -0
- /package/{templates → content/templates}/common-paper-amendment/README.md +0 -0
- /package/{templates → content/templates}/common-paper-amendment/template.docx +0 -0
- /package/{templates → content/templates}/common-paper-business-associate-agreement/README.md +0 -0
- /package/{templates → content/templates}/common-paper-cloud-service-agreement/README.md +0 -0
- /package/{templates → content/templates}/common-paper-csa-click-through/README.md +0 -0
- /package/{templates → content/templates}/common-paper-csa-click-through/template.docx +0 -0
- /package/{templates → content/templates}/common-paper-csa-with-ai/README.md +0 -0
- /package/{templates → content/templates}/common-paper-csa-with-sla/README.md +0 -0
- /package/{templates → content/templates}/common-paper-csa-without-sla/README.md +0 -0
- /package/{templates → content/templates}/common-paper-data-processing-agreement/README.md +0 -0
- /package/{templates → content/templates}/common-paper-design-partner-agreement/README.md +0 -0
- /package/{templates → content/templates}/common-paper-independent-contractor-agreement/README.md +0 -0
- /package/{templates → content/templates}/common-paper-independent-contractor-agreement/template.docx +0 -0
- /package/{templates → content/templates}/common-paper-letter-of-intent/README.md +0 -0
- /package/{templates → content/templates}/common-paper-letter-of-intent/template.docx +0 -0
- /package/{templates → content/templates}/common-paper-mutual-nda/README.md +0 -0
- /package/{templates → content/templates}/common-paper-mutual-nda/template.docx +0 -0
- /package/{templates → content/templates}/common-paper-one-way-nda/README.md +0 -0
- /package/{templates → content/templates}/common-paper-one-way-nda/template.docx +0 -0
- /package/{templates → content/templates}/common-paper-order-form/README.md +0 -0
- /package/{templates → content/templates}/common-paper-order-form-with-sla/README.md +0 -0
- /package/{templates → content/templates}/common-paper-partnership-agreement/README.md +0 -0
- /package/{templates → content/templates}/common-paper-pilot-agreement/README.md +0 -0
- /package/{templates → content/templates}/common-paper-professional-services-agreement/README.md +0 -0
- /package/{templates → content/templates}/common-paper-software-license-agreement/README.md +0 -0
- /package/{templates → content/templates}/common-paper-software-license-agreement/template.docx +0 -0
- /package/{templates → content/templates}/common-paper-statement-of-work/README.md +0 -0
- /package/{templates → content/templates}/common-paper-term-sheet/README.md +0 -0
- /package/{templates → content/templates}/common-paper-term-sheet/template.docx +0 -0
package/README.md
CHANGED
|
@@ -1,10 +1,61 @@
|
|
|
1
1
|
# OpenAgreements
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/open-agreements)
|
|
4
|
+
[](https://npmjs.org/package/open-agreements)
|
|
4
5
|
[](https://opensource.org/licenses/MIT)
|
|
5
6
|
[](https://skills.sh)
|
|
7
|
+
[](https://github.com/open-agreements/open-agreements/actions/workflows/ci.yml)
|
|
8
|
+
[](https://openagreements.openstatus.dev/)
|
|
9
|
+
[](https://app.codecov.io/gh/open-agreements/open-agreements)
|
|
10
|
+
[](https://github.com/open-agreements/open-agreements/stargazers)
|
|
11
|
+
[](https://vitest.dev/)
|
|
12
|
+
[](./scripts/validate_openspec_coverage.mjs)
|
|
13
|
+
[](https://socket.dev/npm/package/open-agreements)
|
|
14
|
+
[](https://packagephobia.com/result?p=open-agreements)
|
|
6
15
|
|
|
7
|
-
|
|
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.
|
|
8
59
|
|
|
9
60
|
## Use with Claude Code
|
|
10
61
|
|
|
@@ -49,31 +100,63 @@ open-agreements fill common-paper-mutual-nda -d values.json -o my-nda.docx
|
|
|
49
100
|
|
|
50
101
|
### What Happens
|
|
51
102
|
|
|
52
|
-
1. Claude runs `list --json` to discover
|
|
103
|
+
1. Claude runs `list --json` to discover available templates and their fields
|
|
53
104
|
2. Claude interviews you for field values (grouped by section, up to 4 questions per round)
|
|
54
105
|
3. Claude runs `fill <template>` to render a DOCX preserving all original formatting
|
|
55
106
|
4. You review and sign the output document
|
|
56
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
|
+
|
|
57
126
|
## Templates
|
|
58
127
|
|
|
59
|
-
|
|
128
|
+
28 templates across three tiers. Run `open-agreements list` for the full inventory.
|
|
60
129
|
|
|
61
130
|
| Tier | Count | Source | How It Works |
|
|
62
131
|
|------|-------|--------|--------------|
|
|
63
|
-
| Internal templates |
|
|
132
|
+
| Internal templates | 17 | [Common Paper](https://commonpaper.com), [Bonterms](https://bonterms.com), OpenAgreements | Shipped in package, CC BY 4.0 |
|
|
64
133
|
| External templates | 4 | [Y Combinator](https://www.ycombinator.com/documents) | Vendored unchanged, CC BY-ND 4.0 |
|
|
65
134
|
| Recipes | 7 | [NVCA](https://nvca.org/model-legal-documents/) | Downloaded on demand (not redistributable) |
|
|
66
135
|
|
|
67
|
-
**Internal templates** (NDAs, cloud terms, contractor agreements, etc.) are CC BY 4.0 — we ship the DOCX with `{tag}` placeholders.
|
|
136
|
+
**Internal templates** (NDAs, cloud terms, employment forms, contractor agreements, etc.) are CC BY 4.0 — we ship the DOCX with `{tag}` placeholders.
|
|
68
137
|
|
|
69
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.
|
|
70
139
|
|
|
71
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.
|
|
72
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
|
+
|
|
73
156
|
Each template is a self-contained directory:
|
|
74
157
|
|
|
75
158
|
```
|
|
76
|
-
templates/<name>/
|
|
159
|
+
content/templates/<name>/
|
|
77
160
|
├── template.docx # DOCX with {tag} placeholders
|
|
78
161
|
├── metadata.yaml # Fields, license, source, attribution
|
|
79
162
|
└── README.md # Template-specific documentation
|
|
@@ -113,12 +196,120 @@ open-agreements list
|
|
|
113
196
|
open-agreements list --json
|
|
114
197
|
```
|
|
115
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
|
+
|
|
116
290
|
## Contributing
|
|
117
291
|
|
|
118
292
|
See [CONTRIBUTING.md](CONTRIBUTING.md) for how to add templates, recipes, and other improvements.
|
|
119
293
|
|
|
120
294
|
- [Adding templates](docs/adding-templates.md) (CC BY 4.0 / CC0 sources)
|
|
121
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
|
|
122
313
|
|
|
123
314
|
## Architecture
|
|
124
315
|
|
|
@@ -129,19 +320,26 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for how to add templates, recipes, and ot
|
|
|
129
320
|
- **Skill Pattern**: Agent-agnostic `ToolCommandAdapter` interface
|
|
130
321
|
|
|
131
322
|
```
|
|
132
|
-
|
|
133
|
-
├──
|
|
134
|
-
├──
|
|
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
|
|
135
331
|
├── core/
|
|
136
|
-
│ ├── engine.ts
|
|
137
|
-
│ ├── metadata.ts
|
|
138
|
-
│ ├── recipe/
|
|
139
|
-
│ ├── external/
|
|
140
|
-
│ ├── validation/
|
|
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
|
|
141
337
|
│ └── command-generation/
|
|
142
|
-
│ ├── types.ts
|
|
143
|
-
│ └── adapters/
|
|
144
|
-
└── index.ts
|
|
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
|
|
145
343
|
```
|
|
146
344
|
|
|
147
345
|
## Resources
|
package/bin/open-agreements.js
CHANGED
|
@@ -1,71 +1,67 @@
|
|
|
1
1
|
name: YC Post-Money SAFE — Discount
|
|
2
|
-
description:
|
|
3
|
-
Y Combinator's Post-Money SAFE (Simple Agreement for Future Equity) with a
|
|
4
|
-
discount rate and no valuation cap.
|
|
2
|
+
description: Y Combinator's Post-Money SAFE (Simple Agreement for Future Equity) with a discount rate and no valuation cap.
|
|
5
3
|
source_url: https://www.ycombinator.com/documents
|
|
6
|
-
version:
|
|
4
|
+
version: '2024.12'
|
|
7
5
|
license: CC-BY-ND-4.0
|
|
8
6
|
allow_derivatives: false
|
|
9
7
|
attribution_text: >-
|
|
10
|
-
Based on the Y Combinator Post-Money SAFE, available at
|
|
11
|
-
|
|
12
|
-
Copyright Y Combinator.
|
|
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.
|
|
13
10
|
source_sha256: 93d606fc568e39673ab96c581850ece30b4f478972b7b4d4d132df695264b5a5
|
|
14
11
|
fields:
|
|
15
12
|
- name: company_name
|
|
16
13
|
type: string
|
|
17
14
|
description: Full legal name of the company
|
|
18
|
-
required: true
|
|
19
15
|
section: Parties
|
|
20
16
|
- name: investor_name
|
|
21
17
|
type: string
|
|
22
18
|
description: Full legal name of the investor
|
|
23
|
-
required: true
|
|
24
19
|
section: Parties
|
|
25
20
|
- name: purchase_amount
|
|
26
21
|
type: string
|
|
27
22
|
description: Dollar amount of the investment (e.g., "100,000")
|
|
28
|
-
required: true
|
|
29
23
|
section: Deal Terms
|
|
30
24
|
- name: discount_rate
|
|
31
25
|
type: string
|
|
32
|
-
description:
|
|
33
|
-
Discount rate as a percentage, expressed as 100 minus the discount
|
|
34
|
-
(e.g., "80" for a 20% discount)
|
|
35
|
-
required: true
|
|
26
|
+
description: Discount rate as a percentage, expressed as 100 minus the discount (e.g., "80" for a 20% discount)
|
|
36
27
|
section: Deal Terms
|
|
37
28
|
- name: date_of_safe
|
|
38
29
|
type: date
|
|
39
30
|
description: Date the SAFE is executed
|
|
40
|
-
required: true
|
|
41
31
|
section: Deal Terms
|
|
42
32
|
- name: state_of_incorporation
|
|
43
33
|
type: string
|
|
44
34
|
description: State where the company is incorporated (e.g., "Delaware")
|
|
45
|
-
required: true
|
|
46
35
|
section: Company Details
|
|
47
36
|
- name: governing_law_jurisdiction
|
|
48
37
|
type: string
|
|
49
38
|
description: State whose laws govern the agreement (e.g., "Delaware")
|
|
50
|
-
required: true
|
|
51
39
|
section: Company Details
|
|
52
40
|
- name: company
|
|
53
41
|
type: string
|
|
54
42
|
description: Company name as used in the signature block (typically matches company_name)
|
|
55
|
-
required: true
|
|
56
43
|
section: Signatures
|
|
57
44
|
- name: company_name_caps
|
|
58
45
|
type: string
|
|
59
46
|
description: Company name in uppercase as used in the header (e.g., "ACME INC.")
|
|
60
|
-
required: true
|
|
61
47
|
section: Signatures
|
|
62
48
|
- name: name
|
|
63
49
|
type: string
|
|
64
50
|
description: Name of the company signatory
|
|
65
|
-
required: true
|
|
66
51
|
section: Signatures
|
|
67
52
|
- name: title
|
|
68
53
|
type: string
|
|
69
54
|
description: Title of the company signatory (e.g., "CEO")
|
|
70
|
-
required: true
|
|
71
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
|
|
@@ -1,64 +1,64 @@
|
|
|
1
1
|
name: YC Post-Money SAFE — MFN
|
|
2
2
|
description: >-
|
|
3
|
-
Y Combinator's Post-Money SAFE (Simple Agreement for Future Equity) with a
|
|
4
|
-
|
|
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
5
|
source_url: https://www.ycombinator.com/documents
|
|
6
|
-
version:
|
|
6
|
+
version: '2024.12'
|
|
7
7
|
license: CC-BY-ND-4.0
|
|
8
8
|
allow_derivatives: false
|
|
9
9
|
attribution_text: >-
|
|
10
|
-
Based on the Y Combinator Post-Money SAFE, available at
|
|
11
|
-
|
|
12
|
-
Copyright Y Combinator.
|
|
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.
|
|
13
12
|
source_sha256: d3ad99466059b6f4d838e8e5daeeff5752e9866e6b557c6056df772f8509e727
|
|
14
13
|
fields:
|
|
15
14
|
- name: company_name
|
|
16
15
|
type: string
|
|
17
16
|
description: Full legal name of the company
|
|
18
|
-
required: true
|
|
19
17
|
section: Parties
|
|
20
18
|
- name: investor_name
|
|
21
19
|
type: string
|
|
22
20
|
description: Full legal name of the investor
|
|
23
|
-
required: true
|
|
24
21
|
section: Parties
|
|
25
22
|
- name: purchase_amount
|
|
26
23
|
type: string
|
|
27
24
|
description: Dollar amount of the investment (e.g., "100,000")
|
|
28
|
-
required: true
|
|
29
25
|
section: Deal Terms
|
|
30
26
|
- name: date_of_safe
|
|
31
27
|
type: date
|
|
32
28
|
description: Date the SAFE is executed
|
|
33
|
-
required: true
|
|
34
29
|
section: Deal Terms
|
|
35
30
|
- name: state_of_incorporation
|
|
36
31
|
type: string
|
|
37
32
|
description: State where the company is incorporated (e.g., "Delaware")
|
|
38
|
-
required: true
|
|
39
33
|
section: Company Details
|
|
40
34
|
- name: governing_law_jurisdiction
|
|
41
35
|
type: string
|
|
42
36
|
description: State whose laws govern the agreement (e.g., "Delaware")
|
|
43
|
-
required: true
|
|
44
37
|
section: Company Details
|
|
45
38
|
- name: company
|
|
46
39
|
type: string
|
|
47
40
|
description: Company name as used in the signature block (typically matches company_name)
|
|
48
|
-
required: true
|
|
49
41
|
section: Signatures
|
|
50
42
|
- name: company_name_caps
|
|
51
43
|
type: string
|
|
52
44
|
description: Company name in uppercase as used in the header (e.g., "ACME INC.")
|
|
53
|
-
required: true
|
|
54
45
|
section: Signatures
|
|
55
46
|
- name: name
|
|
56
47
|
type: string
|
|
57
48
|
description: Name of the company signatory
|
|
58
|
-
required: true
|
|
59
49
|
section: Signatures
|
|
60
50
|
- name: title
|
|
61
51
|
type: string
|
|
62
52
|
description: Title of the company signatory (e.g., "CEO")
|
|
63
|
-
required: true
|
|
64
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
|
|
@@ -1,49 +1,49 @@
|
|
|
1
1
|
name: YC Pro Rata Side Letter
|
|
2
2
|
description: >-
|
|
3
|
-
Y Combinator's Pro Rata Side Letter, granting the investor pro rata rights
|
|
4
|
-
|
|
3
|
+
Y Combinator's Pro Rata Side Letter, granting the investor pro rata rights in connection with a Post-Money SAFE
|
|
4
|
+
investment.
|
|
5
5
|
source_url: https://www.ycombinator.com/documents
|
|
6
|
-
version:
|
|
6
|
+
version: '2024.12'
|
|
7
7
|
license: CC-BY-ND-4.0
|
|
8
8
|
allow_derivatives: false
|
|
9
9
|
attribution_text: >-
|
|
10
|
-
Based on the Y Combinator Pro Rata Side Letter, available at
|
|
11
|
-
|
|
12
|
-
Copyright Y Combinator.
|
|
10
|
+
Based on the Y Combinator Pro Rata Side Letter, available at https://www.ycombinator.com/documents. Licensed under CC
|
|
11
|
+
BY-ND 4.0. Copyright Y Combinator.
|
|
13
12
|
source_sha256: 9b769a6a724da0c40e6649df8c774f49cc20dafe7247cc366ce4b98b4c2a3510
|
|
14
13
|
fields:
|
|
15
14
|
- name: company_name
|
|
16
15
|
type: string
|
|
17
16
|
description: Full legal name of the company
|
|
18
|
-
required: true
|
|
19
17
|
section: Parties
|
|
20
18
|
- name: investor_name
|
|
21
19
|
type: string
|
|
22
20
|
description: Full legal name of the investor
|
|
23
|
-
required: true
|
|
24
21
|
section: Parties
|
|
25
22
|
- name: date_of_safe
|
|
26
23
|
type: date
|
|
27
24
|
description: Date of the related SAFE agreement
|
|
28
|
-
required: true
|
|
29
25
|
section: Deal Terms
|
|
30
26
|
- name: company_name_caps
|
|
31
27
|
type: string
|
|
32
28
|
description: Company name in uppercase as used in the header (e.g., "ACME INC.")
|
|
33
|
-
required: true
|
|
34
29
|
section: Signatures
|
|
35
30
|
- name: investor_name_caps
|
|
36
31
|
type: string
|
|
37
32
|
description: Investor name in uppercase as used in the header (e.g., "JANE DOE")
|
|
38
|
-
required: true
|
|
39
33
|
section: Signatures
|
|
40
34
|
- name: name
|
|
41
35
|
type: string
|
|
42
36
|
description: Name of the company signatory
|
|
43
|
-
required: true
|
|
44
37
|
section: Signatures
|
|
45
38
|
- name: title
|
|
46
39
|
type: string
|
|
47
40
|
description: Title of the company signatory (e.g., "CEO")
|
|
48
|
-
required: true
|
|
49
41
|
section: Signatures
|
|
42
|
+
required_fields:
|
|
43
|
+
- company_name
|
|
44
|
+
- investor_name
|
|
45
|
+
- date_of_safe
|
|
46
|
+
- company_name_caps
|
|
47
|
+
- investor_name_caps
|
|
48
|
+
- name
|
|
49
|
+
- title
|
|
@@ -1,64 +1,64 @@
|
|
|
1
1
|
name: YC Post-Money SAFE — Valuation Cap
|
|
2
2
|
description: >-
|
|
3
|
-
Y Combinator's Post-Money SAFE (Simple Agreement for Future Equity) with a
|
|
4
|
-
|
|
3
|
+
Y Combinator's Post-Money SAFE (Simple Agreement for Future Equity) with a valuation cap and no discount. The most
|
|
4
|
+
common early-stage investment instrument.
|
|
5
5
|
source_url: https://www.ycombinator.com/documents
|
|
6
|
-
version:
|
|
6
|
+
version: '2024.12'
|
|
7
7
|
license: CC-BY-ND-4.0
|
|
8
8
|
allow_derivatives: false
|
|
9
9
|
attribution_text: >-
|
|
10
|
-
Based on the Y Combinator Post-Money SAFE, available at
|
|
11
|
-
|
|
12
|
-
Copyright Y Combinator.
|
|
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.
|
|
13
12
|
source_sha256: 185d24f5bcf13acdf1419bf1d420771088da5dea3b3f3e0cdc7fa5df643649c4
|
|
14
13
|
fields:
|
|
15
14
|
- name: company_name
|
|
16
15
|
type: string
|
|
17
16
|
description: Full legal name of the company
|
|
18
|
-
required: true
|
|
19
17
|
section: Parties
|
|
20
18
|
- name: investor_name
|
|
21
19
|
type: string
|
|
22
20
|
description: Full legal name of the investor
|
|
23
|
-
required: true
|
|
24
21
|
section: Parties
|
|
25
22
|
- name: purchase_amount
|
|
26
23
|
type: string
|
|
27
24
|
description: Dollar amount of the investment (e.g., "100,000")
|
|
28
|
-
required: true
|
|
29
25
|
section: Deal Terms
|
|
30
26
|
- name: valuation_cap
|
|
31
27
|
type: string
|
|
32
28
|
description: Post-money valuation cap in dollars (e.g., "10,000,000")
|
|
33
|
-
required: true
|
|
34
29
|
section: Deal Terms
|
|
35
30
|
- name: date_of_safe
|
|
36
31
|
type: date
|
|
37
32
|
description: Date the SAFE is executed
|
|
38
|
-
required: true
|
|
39
33
|
section: Deal Terms
|
|
40
34
|
- name: state_of_incorporation
|
|
41
35
|
type: string
|
|
42
36
|
description: State where the company is incorporated (e.g., "Delaware")
|
|
43
|
-
required: true
|
|
44
37
|
section: Company Details
|
|
45
38
|
- name: governing_law_jurisdiction
|
|
46
39
|
type: string
|
|
47
40
|
description: State whose laws govern the agreement (e.g., "Delaware")
|
|
48
|
-
required: true
|
|
49
41
|
section: Company Details
|
|
50
42
|
- name: company
|
|
51
43
|
type: string
|
|
52
44
|
description: Company name as used in the signature block (typically matches company_name)
|
|
53
|
-
required: true
|
|
54
45
|
section: Signatures
|
|
55
46
|
- name: name
|
|
56
47
|
type: string
|
|
57
48
|
description: Name of the company signatory
|
|
58
|
-
required: true
|
|
59
49
|
section: Signatures
|
|
60
50
|
- name: title
|
|
61
51
|
type: string
|
|
62
52
|
description: Title of the company signatory (e.g., "CEO")
|
|
63
|
-
required: true
|
|
64
53
|
section: Signatures
|
|
54
|
+
required_fields:
|
|
55
|
+
- company_name
|
|
56
|
+
- investor_name
|
|
57
|
+
- purchase_amount
|
|
58
|
+
- valuation_cap
|
|
59
|
+
- date_of_safe
|
|
60
|
+
- state_of_incorporation
|
|
61
|
+
- governing_law_jurisdiction
|
|
62
|
+
- company
|
|
63
|
+
- name
|
|
64
|
+
- title
|
|
@@ -1,43 +1,43 @@
|
|
|
1
1
|
name: NVCA Model Certificate of Incorporation
|
|
2
2
|
description: >-
|
|
3
|
-
Amended and restated certificate of incorporation for venture-backed Delaware
|
|
4
|
-
|
|
3
|
+
Amended and restated certificate of incorporation for venture-backed Delaware corporations, defining preferred stock
|
|
4
|
+
rights, preferences, and privileges.
|
|
5
5
|
source_url: https://nvca.org/wp-content/uploads/2025/10/NVCA-Model-COI-10-1-2025.docx
|
|
6
|
-
source_version:
|
|
6
|
+
source_version: 10-1-2025
|
|
7
7
|
license_note: >-
|
|
8
|
-
NVCA model documents are freely downloadable but not redistributable.
|
|
9
|
-
|
|
8
|
+
NVCA model documents are freely downloadable but not redistributable. This recipe contains only transformation
|
|
9
|
+
instructions, not the source document.
|
|
10
10
|
source_sha256: d75600769c12724990de48149d7a2bb161f3522daa54b1783672f93697d87d29
|
|
11
11
|
optional: false
|
|
12
12
|
fields:
|
|
13
13
|
- name: original_issue_price
|
|
14
14
|
type: string
|
|
15
15
|
description: Original purchase price per share of Series A Preferred Stock
|
|
16
|
-
required: true
|
|
17
16
|
- name: initial_purchase_price
|
|
18
17
|
type: string
|
|
19
18
|
description: Initial Series A purchase price per share
|
|
20
|
-
required: true
|
|
21
19
|
- name: signature_page_marker
|
|
22
20
|
type: string
|
|
23
21
|
description: Signature page marker text
|
|
24
|
-
required: false
|
|
25
22
|
default: Signature Page Follows
|
|
26
23
|
- name: time_zone
|
|
27
24
|
type: string
|
|
28
25
|
description: Time zone for notices and deadlines (e.g., Eastern, Pacific)
|
|
29
|
-
required: true
|
|
30
26
|
default: Eastern
|
|
31
27
|
- name: par_value
|
|
32
28
|
type: string
|
|
33
29
|
description: Par value per share of common and preferred stock
|
|
34
|
-
|
|
35
|
-
default: "0.001"
|
|
30
|
+
default: '0.001'
|
|
36
31
|
- name: specify_percentage
|
|
37
32
|
type: string
|
|
38
33
|
description: Percentage threshold for specified provisions
|
|
39
|
-
required: true
|
|
40
34
|
- name: effective_date
|
|
41
35
|
type: date
|
|
42
36
|
description: Effective date of the certificate of incorporation
|
|
43
|
-
|
|
37
|
+
required_fields:
|
|
38
|
+
- original_issue_price
|
|
39
|
+
- initial_purchase_price
|
|
40
|
+
- time_zone
|
|
41
|
+
- par_value
|
|
42
|
+
- specify_percentage
|
|
43
|
+
- effective_date
|