open-agreements 0.2.2 → 0.3.1

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 (147) hide show
  1. package/README.de.md +371 -0
  2. package/README.es.md +371 -0
  3. package/README.md +30 -0
  4. package/README.pt-br.md +371 -0
  5. package/README.zh.md +371 -0
  6. package/content/templates/closing-checklist/template.docx +0 -0
  7. package/content/templates/common-paper-ai-addendum/README.md +18 -0
  8. package/content/templates/common-paper-ai-addendum/metadata.yaml +136 -0
  9. package/content/templates/common-paper-ai-addendum/replacements.json +5 -0
  10. package/content/templates/common-paper-ai-addendum/selections.json +62 -0
  11. package/content/templates/common-paper-ai-addendum/template.docx +0 -0
  12. package/content/templates/common-paper-ai-addendum-in-app/metadata.yaml +88 -0
  13. package/content/templates/common-paper-ai-addendum-in-app/replacements.json +5 -0
  14. package/content/templates/common-paper-ai-addendum-in-app/selections.json +62 -0
  15. package/content/templates/common-paper-amendment/README.md +18 -0
  16. package/content/templates/common-paper-amendment/metadata.yaml +48 -0
  17. package/content/templates/common-paper-amendment/template.docx +0 -0
  18. package/content/templates/common-paper-business-associate-agreement/README.md +20 -1
  19. package/content/templates/common-paper-business-associate-agreement/metadata.yaml +111 -3
  20. package/content/templates/common-paper-business-associate-agreement/replacements.json +2 -1
  21. package/content/templates/common-paper-business-associate-agreement/selections.json +38 -0
  22. package/content/templates/common-paper-business-associate-agreement/template.docx +0 -0
  23. package/content/templates/common-paper-cloud-service-agreement/README.md +18 -0
  24. package/content/templates/common-paper-cloud-service-agreement/metadata.yaml +48 -0
  25. package/content/templates/common-paper-cloud-service-agreement/template.docx +0 -0
  26. package/content/templates/common-paper-csa-with-ai/README.md +18 -0
  27. package/content/templates/common-paper-csa-with-ai/metadata.yaml +462 -2
  28. package/content/templates/common-paper-csa-with-ai/replacements.json +5 -2
  29. package/content/templates/common-paper-csa-with-ai/selections.json +291 -0
  30. package/content/templates/common-paper-csa-with-ai/template.docx +0 -0
  31. package/content/templates/common-paper-csa-with-sla/README.md +18 -0
  32. package/content/templates/common-paper-csa-with-sla/metadata.yaml +387 -2
  33. package/content/templates/common-paper-csa-with-sla/replacements.json +4 -2
  34. package/content/templates/common-paper-csa-with-sla/selections.json +257 -0
  35. package/content/templates/common-paper-csa-with-sla/template.docx +0 -0
  36. package/content/templates/common-paper-csa-without-sla/README.md +18 -0
  37. package/content/templates/common-paper-csa-without-sla/metadata.yaml +380 -2
  38. package/content/templates/common-paper-csa-without-sla/replacements.json +5 -2
  39. package/content/templates/common-paper-csa-without-sla/selections.json +250 -0
  40. package/content/templates/common-paper-csa-without-sla/template.docx +0 -0
  41. package/content/templates/common-paper-data-processing-agreement/README.md +16 -0
  42. package/content/templates/common-paper-data-processing-agreement/metadata.yaml +397 -3
  43. package/content/templates/common-paper-data-processing-agreement/replacements.json +2 -1
  44. package/content/templates/common-paper-data-processing-agreement/selections.json +211 -0
  45. package/content/templates/common-paper-data-processing-agreement/template.docx +0 -0
  46. package/content/templates/common-paper-design-partner-agreement/README.md +18 -0
  47. package/content/templates/common-paper-design-partner-agreement/metadata.yaml +99 -3
  48. package/content/templates/common-paper-design-partner-agreement/selections.json +27 -0
  49. package/content/templates/common-paper-design-partner-agreement/template.docx +0 -0
  50. package/content/templates/common-paper-independent-contractor-agreement/README.md +18 -0
  51. package/content/templates/common-paper-independent-contractor-agreement/clean.json +8 -0
  52. package/content/templates/common-paper-independent-contractor-agreement/metadata.yaml +52 -0
  53. package/content/templates/common-paper-independent-contractor-agreement/replacements.json +3 -0
  54. package/content/templates/common-paper-independent-contractor-agreement/template.docx +0 -0
  55. package/content/templates/common-paper-letter-of-intent/README.md +18 -0
  56. package/content/templates/common-paper-letter-of-intent/metadata.yaml +48 -0
  57. package/content/templates/common-paper-letter-of-intent/template.docx +0 -0
  58. package/content/templates/common-paper-mutual-nda/README.md +29 -7
  59. package/content/templates/common-paper-mutual-nda/metadata.yaml +48 -0
  60. package/content/templates/common-paper-mutual-nda/template.docx +0 -0
  61. package/content/templates/common-paper-one-way-nda/README.md +13 -0
  62. package/content/templates/common-paper-one-way-nda/metadata.yaml +24 -0
  63. package/content/templates/common-paper-one-way-nda/selections.json +38 -0
  64. package/content/templates/common-paper-one-way-nda/template.docx +0 -0
  65. package/content/templates/common-paper-order-form/README.md +18 -0
  66. package/content/templates/common-paper-order-form/metadata.yaml +115 -3
  67. package/content/templates/common-paper-order-form/replacements.json +5 -2
  68. package/content/templates/common-paper-order-form/selections.json +56 -0
  69. package/content/templates/common-paper-order-form/template.docx +0 -0
  70. package/content/templates/common-paper-order-form-with-sla/README.md +18 -0
  71. package/content/templates/common-paper-order-form-with-sla/metadata.yaml +149 -3
  72. package/content/templates/common-paper-order-form-with-sla/replacements.json +6 -2
  73. package/content/templates/common-paper-order-form-with-sla/selections.json +64 -0
  74. package/content/templates/common-paper-order-form-with-sla/template.docx +0 -0
  75. package/content/templates/common-paper-partnership-agreement/README.md +18 -0
  76. package/content/templates/common-paper-partnership-agreement/metadata.yaml +293 -4
  77. package/content/templates/common-paper-partnership-agreement/replacements.json +5 -2
  78. package/content/templates/common-paper-partnership-agreement/selections.json +138 -0
  79. package/content/templates/common-paper-partnership-agreement/template.docx +0 -0
  80. package/content/templates/common-paper-pilot-agreement/README.md +18 -0
  81. package/content/templates/common-paper-pilot-agreement/metadata.yaml +48 -0
  82. package/content/templates/common-paper-pilot-agreement/template.docx +0 -0
  83. package/content/templates/common-paper-professional-services-agreement/README.md +18 -0
  84. package/content/templates/common-paper-professional-services-agreement/metadata.yaml +338 -4
  85. package/content/templates/common-paper-professional-services-agreement/replacements.json +7 -4
  86. package/content/templates/common-paper-professional-services-agreement/selections.json +207 -0
  87. package/content/templates/common-paper-professional-services-agreement/template.docx +0 -0
  88. package/content/templates/common-paper-statement-of-work/README.md +18 -0
  89. package/content/templates/common-paper-statement-of-work/metadata.yaml +110 -2
  90. package/content/templates/common-paper-statement-of-work/replacements.json +4 -1
  91. package/content/templates/common-paper-statement-of-work/selections.json +55 -0
  92. package/content/templates/common-paper-statement-of-work/template.docx +0 -0
  93. package/content/templates/common-paper-term-sheet/README.md +18 -0
  94. package/content/templates/common-paper-term-sheet/metadata.yaml +48 -0
  95. package/content/templates/common-paper-term-sheet/template.docx +0 -0
  96. package/content/templates/working-group-list/template.docx +0 -0
  97. package/dist/commands/checklist.d.ts.map +1 -1
  98. package/dist/commands/checklist.js +2 -1
  99. package/dist/commands/checklist.js.map +1 -1
  100. package/dist/commands/list.d.ts.map +1 -1
  101. package/dist/commands/list.js +1 -46
  102. package/dist/commands/list.js.map +1 -1
  103. package/dist/core/checklist/format-checklist-docx.d.ts +10 -0
  104. package/dist/core/checklist/format-checklist-docx.d.ts.map +1 -0
  105. package/dist/core/checklist/format-checklist-docx.js +321 -0
  106. package/dist/core/checklist/format-checklist-docx.js.map +1 -0
  107. package/dist/core/checklist/index.d.ts +1 -0
  108. package/dist/core/checklist/index.d.ts.map +1 -1
  109. package/dist/core/checklist/index.js +7 -3
  110. package/dist/core/checklist/index.js.map +1 -1
  111. package/dist/core/engine.d.ts +1 -0
  112. package/dist/core/engine.d.ts.map +1 -1
  113. package/dist/core/engine.js +72 -11
  114. package/dist/core/engine.js.map +1 -1
  115. package/dist/core/selector.d.ts +2 -0
  116. package/dist/core/selector.d.ts.map +1 -1
  117. package/dist/core/selector.js +181 -39
  118. package/dist/core/selector.js.map +1 -1
  119. package/dist/core/template-listing.d.ts +40 -0
  120. package/dist/core/template-listing.d.ts.map +1 -0
  121. package/dist/core/template-listing.js +91 -0
  122. package/dist/core/template-listing.js.map +1 -0
  123. package/dist/core/validation/template.d.ts.map +1 -1
  124. package/dist/core/validation/template.js +10 -2
  125. package/dist/core/validation/template.js.map +1 -1
  126. package/dist/index.d.ts +2 -0
  127. package/dist/index.d.ts.map +1 -1
  128. package/dist/index.js +4 -0
  129. package/dist/index.js.map +1 -1
  130. package/package.json +8 -2
  131. package/skills/iso-27001-evidence-collection/CONNECTORS.md +25 -9
  132. package/skills/iso-27001-evidence-collection/SKILL.md +10 -6
  133. package/skills/iso-27001-internal-audit/CONNECTORS.md +25 -9
  134. package/skills/iso-27001-internal-audit/SKILL.md +12 -9
  135. package/skills/soc2-readiness/CONNECTORS.md +25 -9
  136. package/skills/soc2-readiness/SKILL.md +17 -5
  137. package/skills/soc2-readiness/rules/change-vendor-management.md +104 -0
  138. package/skills/soc2-readiness/rules/communication-info.md +85 -0
  139. package/skills/soc2-readiness/rules/control-activities.md +95 -0
  140. package/skills/soc2-readiness/rules/control-environment.md +126 -0
  141. package/skills/soc2-readiness/rules/logical-access.md +264 -0
  142. package/skills/soc2-readiness/rules/monitoring-activities.md +66 -0
  143. package/skills/soc2-readiness/rules/optional-categories.md +264 -0
  144. package/skills/soc2-readiness/rules/privacy-criteria.md +359 -0
  145. package/skills/soc2-readiness/rules/risk-assessment.md +100 -0
  146. package/skills/soc2-readiness/rules/system-operations.md +170 -0
  147. package/skills/soc2-readiness/rules/trust-services.md +0 -230
package/README.de.md ADDED
@@ -0,0 +1,371 @@
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
+ [English](./README.md) | [Español](./README.es.md) | [简体中文](./README.zh.md) | [Português (Brasil)](./README.pt-br.md) | [Deutsch](./README.de.md)
17
+
18
+ > **Übersetzungshinweis:** Das englische `README.md` ist die kanonische Quelle. Diese Übersetzung kann kurzzeitig hinterherhinken. Wichtige Änderungen im englischen README sollten innerhalb von 72 Stunden übernommen werden.
19
+
20
+ <!-- TODO: Add OpenSSF Scorecard badge once repo is indexed at securityscorecards.dev -->
21
+ <!-- TODO: Add OpenSSF Best Practices badge after registration at bestpractices.dev -->
22
+ <!-- TODO: Re-evaluate Snyk badge — Advisor migrated to security.snyk.io (July 2024) -->
23
+
24
+ <p align="center">
25
+ <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">
26
+ </p>
27
+
28
+ > *Demo: Claude füllt ein Common Paper Mutual NDA in unter 2 Minuten aus. Für Kürze beschleunigt.*
29
+
30
+ Fülle standardisierte juristische Vertragsvorlagen aus und erzeuge signierbare DOCX-Dateien. Die Vorlagen decken NDAs, Cloud-Bedingungen, Arbeitsdokumente, Contractor-Verträge, SAFEs und NVCA-Finanzierungsdokumente ab.
31
+
32
+ Entwickelt vom Team hinter [UseJunior.com](https://usejunior.com) — produktiv im Einsatz bei Am Law 100 Kanzleien.
33
+
34
+ ## Qualitäts- und Vertrauenssignale
35
+
36
+ - CI läuft bei Pull Requests und Pushes auf `main`.
37
+ - Der Live-Service-Status wird über OpenStatus unter `openagreements.openstatus.dev` veröffentlicht.
38
+ - Die Coverage wird in Codecov veröffentlicht, mit repositorydefinierten Patch-/Projekt-Gates in `codecov.yml`.
39
+ - Das aktive JS-Testframework ist Vitest; JUnit-Testergebnisse werden für Codecov-Testanalysen hochgeladen.
40
+ - OpenSpec-Szenario-Traceability wird über `npm run check:spec-coverage` erzwungen. Für einen lokalen Matrix-Export führe `npm run check:spec-coverage -- --write-matrix integration-tests/OPENSPEC_TRACEABILITY.md` aus.
41
+ - Der Recipe-Source-Drift-Canary (`npm run check:source-drift`) prüft den erwarteten Source-Hash plus strukturelle Replacement-/Normalize-Anker.
42
+ - Annahmebasierte Regressionen werden in `docs/assumptions.md` verfolgt und mit gezielten Regressionstests plus CI-Gates validiert.
43
+ - Die LibreOffice-basierte DOCX-Visualisierung nutzt eine gepinnte Build-Konfiguration auf macOS (`config/libreoffice-headless.json`); führe vor visuellen Allure-Evidenztests `npm run check:libreoffice` aus.
44
+ - Maintainer: [Steven Obiajulu](https://www.linkedin.com/in/steven-obiajulu/) (am MIT ausgebildeter Maschinenbauingenieur; juristisch ausgebildet an Harvard Law).
45
+
46
+ ## So funktioniert es
47
+
48
+ 1. Schritt 1: Vorlage auswählen (36 Standardverträge)
49
+ 2. Schritt 2: Deine Angaben ausfüllen (interaktive Prompts oder MCP)
50
+ 3. Schritt 3: Professionell formatierte DOCX-Datei erhalten
51
+
52
+ OpenAgreements unterstützt zwei Ausführungsmodi mit unterschiedlichen Vertrauensgrenzen:
53
+
54
+ - Gehosteter Remote-MCP-Connector (`https://openagreements.ai/api/mcp`) für schnelles Setup in Claude.
55
+ - Vollständig lokale Paketausführung (`npx`, globale Installation oder lokales stdio-MCP-Paket) für machine-lokale Workflows.
56
+
57
+ Es gibt keine globale Empfehlung für einen Standardmodus. Wähle je nach Dokument-Sensibilität, interner Policy und gewünschter Workflow-Geschwindigkeit. Siehe `docs/trust-checklist.md` für eine 60-Sekunden-Datenflussübersicht.
58
+
59
+ ### Schnelle Entscheidung
60
+
61
+ - Wenn dein Dokument sensibel ist, nutze vollständig lokale Paketausführung.
62
+ - Wenn du Bequemlichkeit priorisierst, nutze den gehosteten Remote-MCP-Connector.
63
+
64
+ ## Nutzung mit Claude Code
65
+
66
+ OpenAgreements funktioniert als [Claude Code plugin](https://docs.anthropic.com/en/docs/claude-code/plugins) und [Agent Skill](https://agentskills.io). Keine Vorinstallation erforderlich — Claude lädt und startet die CLI bei Bedarf über `npx`.
67
+
68
+ ### Option 1: Agent Skill (empfohlen)
69
+
70
+ ```bash
71
+ npx skills add open-agreements/open-agreements
72
+ ```
73
+
74
+ Bitte Claude anschließend, einen Vertrag zu entwerfen:
75
+
76
+ ```
77
+ > Draft an NDA between Acme Corp and Beta Inc
78
+ ```
79
+
80
+ Claude erkennt verfügbare Vorlagen, fragt Feldwerte interaktiv ab und rendert eine signierbereite DOCX-Datei.
81
+
82
+ ### Option 2: Gemini CLI Extension
83
+
84
+ ```bash
85
+ gemini extensions install https://github.com/open-agreements/open-agreements
86
+ ```
87
+
88
+ Bitte Gemini anschließend, einen Vertrag zu entwerfen. Die Extension stellt MCP-Tools, Kontextdateien und Skills für Template-Discovery und Befüllung bereit.
89
+
90
+ ### Option 3: Direkt mit Claude Code
91
+
92
+ Wenn du Node.js >= 20 hast, frage Claude einfach:
93
+
94
+ ```
95
+ > Fill the Common Paper mutual NDA for my company
96
+ ```
97
+
98
+ Claude führt `npx -y open-agreements@latest list --json` zur Vorlagenerkennung aus und danach `npx -y open-agreements@latest fill <template>` für die Ausgabe. Keine Installation.
99
+
100
+ ### Option 4: CLI
101
+
102
+ ```bash
103
+ # Install globally
104
+ npm install -g open-agreements
105
+
106
+ # List available templates
107
+ open-agreements list
108
+
109
+ # Fill a template
110
+ open-agreements fill common-paper-mutual-nda -d values.json -o my-nda.docx
111
+ ```
112
+
113
+ ### Was passiert
114
+
115
+ 1. Claude führt `list --json` aus, um verfügbare Vorlagen und Felder zu erkennen
116
+ 2. Claude fragt Feldwerte ab (nach Abschnitten gruppiert, bis zu 4 Fragen pro Runde)
117
+ 3. Claude führt `fill <template>` aus, um eine DOCX mit unverändertem Originalformat zu rendern
118
+ 4. Du prüfst und unterschreibst das Ausgabedokument
119
+
120
+ ## Nutzung mit Cursor
121
+
122
+ Dieses Repository enthält ein Cursor-Plugin-Manifest mit MCP-Verdrahtung:
123
+
124
+ - Plugin manifest: `.cursor-plugin/plugin.json`
125
+ - MCP config: `mcp.json`
126
+ - Skill: `skills/open-agreements/SKILL.md`
127
+
128
+ Das Standard-MCP-Setup in `mcp.json` enthält:
129
+
130
+ - Gehosteten OpenAgreements-MCP-Connector (`https://openagreements.ai/api/mcp`)
131
+ - Lokalen Workspace-MCP-Server (`npx -y @open-agreements/contracts-workspace-mcp`)
132
+ - Lokalen Template-Drafting-MCP-Server (`npx -y @open-agreements/contract-templates-mcp`)
133
+
134
+ Um dieses Plugin im Cursor Marketplace zu veröffentlichen, reiche dieses Repository ein unter:
135
+
136
+ - https://cursor.com/marketplace/publish
137
+
138
+ ## Vorlagen
139
+
140
+ 28 Vorlagen in drei Tiers. Führe `open-agreements list` aus, um das vollständige Inventar zu sehen.
141
+
142
+ | Tier | Anzahl | Quelle | Funktionsweise |
143
+ |------|-------|--------|--------------|
144
+ | Interne Vorlagen | 17 | [Common Paper](https://commonpaper.com), [Bonterms](https://bonterms.com), OpenAgreements | Im Paket enthalten, CC BY 4.0 |
145
+ | Externe Vorlagen | 4 | [Y Combinator](https://www.ycombinator.com/documents) | Unverändert vendored, CC BY-ND 4.0 |
146
+ | Recipes | 7 | [NVCA](https://nvca.org/model-legal-documents/) | Bei Bedarf heruntergeladen (nicht redistributable) |
147
+
148
+ **Interne Vorlagen** (NDAs, Cloud-Bedingungen, Beschäftigungsformulare, Contractor-Verträge usw.) sind CC BY 4.0 — wir liefern DOCX-Dateien mit `{tag}`-Platzhaltern.
149
+
150
+ **Externe Vorlagen** (YC SAFEs) sind CC BY-ND 4.0 — wir übernehmen das Original unverändert. Die ausgefüllte Ausgabe ist ein transient derivative auf deinem Rechner.
151
+
152
+ **Recipes** (NVCA-Finanzierungsdokumente) sind frei herunterladbar, aber nicht redistributable — wir liefern nur Transformationsanweisungen und laden die Source-DOCX zur Laufzeit von nvca.org.
153
+
154
+ ### Guidance-Extraktion
155
+
156
+ Source-Dokumente enthalten Expertenkommentare — Fußnoten, Drafting-Hinweise, `[Comment: ...]`-Blöcke — von Domänenexpert:innen (z. B. Wertpapierrechtler:innen). Der Recipe-Cleaner entfernt diese Inhalte, um ein ausfüllbares Dokument zu erzeugen, kann sie aber auch als strukturiertes JSON extrahieren:
157
+
158
+ ```bash
159
+ open-agreements recipe clean source.docx -o cleaned.docx \
160
+ --recipe nvca-indemnification-agreement \
161
+ --extract-guidance guidance.json
162
+ ```
163
+
164
+ Das erzeugt eine `guidance.json` mit jeder entfernten Fußnote, jedem Kommentar und jedem Drafting-Hinweis, getaggt nach Quelltyp und Dokumentposition. Guidance ist ein lokales Artefakt (wird nicht committed oder ausgeliefert), das AI-Agenten oder menschliche Autor:innen beim Ausfüllen referenzieren können. Siehe [Adding Recipes — Guidance Extraction](docs/adding-recipes.md#guidance-extraction) für Formatdetails.
165
+
166
+ **Warum programmgesteuerte Extraktion?** Das Source-Dokument ist die Single Source of Truth. Nach einem Publisher-Update liefert erneute Extraktion ohne manuelle Arbeit aktuelle Guidance, bewahrt die exakte Sprache von Domänenexpert:innen und erfasst alles — eine KI kann ad hoc zusammenfassen, aber verworfene Inhalte nicht wiederherstellen.
167
+
168
+ Jede Vorlage ist ein eigenständiges Verzeichnis:
169
+
170
+ ```
171
+ content/templates/<name>/
172
+ ├── template.docx # DOCX with {tag} placeholders
173
+ ├── metadata.yaml # Fields, license, source, attribution
174
+ └── README.md # Template-specific documentation
175
+ ```
176
+
177
+ ## CLI-Befehle
178
+
179
+ ### `fill <template>`
180
+
181
+ Rendert eine ausgefüllte DOCX aus einer Vorlage.
182
+
183
+ ```bash
184
+ # Using a JSON data file
185
+ open-agreements fill common-paper-mutual-nda -d data.json -o output.docx
186
+
187
+ # Using inline --set flags
188
+ open-agreements fill common-paper-mutual-nda --set party_1_name="Acme Corp" --set governing_law="Delaware"
189
+ ```
190
+
191
+ ### `validate [template]`
192
+
193
+ Führt die Validierungspipeline für eine oder alle Vorlagen aus.
194
+
195
+ ```bash
196
+ open-agreements validate # All templates
197
+ open-agreements validate common-paper-mutual-nda # One template
198
+ ```
199
+
200
+ ### `list`
201
+
202
+ Zeigt verfügbare Vorlagen mit Lizenzinformationen und Feldanzahl.
203
+
204
+ ```bash
205
+ open-agreements list
206
+
207
+ # Machine-readable JSON output (for agent skills and automation)
208
+ open-agreements list --json
209
+ ```
210
+
211
+ ## Contracts Workspace CLI (separates Paket)
212
+
213
+ OpenAgreements enthält jetzt ein Schwesterpaket für Repository-/Workspace-Operationen:
214
+
215
+ - Package: `@open-agreements/contracts-workspace`
216
+ - Binary: `open-agreements-workspace`
217
+ - Docs: `docs/contracts-workspace.md`
218
+
219
+ Dieses Paket ist bewusst von `open-agreements` getrennt, sodass Teams nutzen können:
220
+
221
+ - nur Template-Befüllung
222
+ - nur Workspace-Management
223
+ - oder beides zusammen
224
+
225
+ Kernfunktionen des Workspace-Pakets:
226
+
227
+ - topic-first `init`-Planung (minimale empfohlene Struktur mit Top-Level-Domänen)
228
+ - Form-Katalog mit URL- und SHA-256-Validierung
229
+ - YAML-Status-Indexierung und Linting mit dateinamengetriebenem `_executed`-Status
230
+
231
+ Das v1-Modell ist rein dateisystembasiert und funktioniert in lokal synchronisierten Cloud-Drive-Ordnern (z. B. Google-Drive-Sync). Keine Drive-API-/OAuth-Integration erforderlich.
232
+
233
+ ## Lokales MCP für Workspace-Demo
234
+
235
+ Für lokale Connector-Demos gibt es ein lokales stdio-MCP-Paket:
236
+
237
+ - Package: `@open-agreements/contracts-workspace-mcp`
238
+ - Binary: `open-agreements-workspace-mcp`
239
+ - Docs: `docs/contracts-workspace.md`
240
+
241
+ Schnellstart:
242
+
243
+ ```bash
244
+ npm run build:workspace-mcp
245
+ node packages/contracts-workspace-mcp/bin/open-agreements-workspace-mcp.js
246
+ ```
247
+
248
+ ## Lokales MCP für Template-Drafting
249
+
250
+ Für lokale Gemini-/Cursor-Template-Drafting-Workflows nutze:
251
+
252
+ - Package: `@open-agreements/contract-templates-mcp`
253
+ - Binary: `open-agreements-contract-templates-mcp`
254
+
255
+ Schnellstart:
256
+
257
+ ```bash
258
+ npm run build:contract-templates-mcp
259
+ node packages/contract-templates-mcp/bin/open-agreements-contract-templates-mcp.js
260
+ ```
261
+
262
+ ## Website (Vercel)
263
+
264
+ Eine statische Marketing-Site wird aus `site/` mit Eleventy erzeugt.
265
+
266
+ - Entry points: `site/index.njk`, `site/templates.njk`, `site/template-detail.njk`
267
+ - Styles: `site/styles.css`
268
+ - Demo media: `site/assets/demo-fill-nda.gif`
269
+ - Deployment config: `vercel.json`
270
+ - Discovery outputs (generated during `npm run build:site`): `_site/llms.txt`, `_site/llms-full.txt`, `_site/sitemap.xml`, `_site/robots.txt`
271
+
272
+ Lokale Vorschau:
273
+
274
+ ```bash
275
+ npm run build:site
276
+ python3 -m http.server 8080 --directory _site
277
+ ```
278
+
279
+ Öffne dann `http://localhost:8080`.
280
+
281
+ Vercel-Deploy-Hinweise:
282
+
283
+ - Importiere dieses Repository in Vercel
284
+ - Belasse das Projekt-Root auf dem Repository-Root
285
+ - Das enthaltene `vercel.json` deployt `_site/` als statische Ausgabe
286
+
287
+ ## Optionale Content-Roots (Future-Proofing)
288
+
289
+ Um logische Entkopplung bei wachsenden Form-Bibliotheken zu unterstützen, kann `open-agreements` Inhalte aus zusätzlichen Roots laden über:
290
+
291
+ - env var: `OPEN_AGREEMENTS_CONTENT_ROOTS`
292
+ - format: pfadgetrennte Liste absoluter/relativer Verzeichnisse (z. B. `dirA:dirB` auf macOS/Linux)
293
+ - erwartete Struktur unter jedem Root: `templates/`, `external/` und/oder `recipes/` (oder verschachtelt unter `content/`)
294
+
295
+ Lookup-Priorität:
296
+
297
+ 1. Roots in `OPEN_AGREEMENTS_CONTENT_ROOTS` (in der angegebenen Reihenfolge)
298
+ 2. gebündelter Package-Content (Standard-Fallback)
299
+
300
+ So bleiben Standardinstallationen einfach, während fortgeschrittene Nutzer große Content-Bibliotheken außerhalb des Kernpakets ablegen können.
301
+
302
+ ## Mitwirken
303
+
304
+ Siehe [CONTRIBUTING.md](CONTRIBUTING.md), um Vorlagen, Recipes und andere Verbesserungen hinzuzufügen.
305
+
306
+ - [Adding templates](docs/adding-templates.md) (CC BY 4.0 / CC0-Quellen)
307
+ - [Adding recipes](docs/adding-recipes.md) (nicht redistributable Quellen)
308
+ - [Employment source policy](docs/employment-source-policy.md) (Trust- und Terms-Klassifikationen)
309
+ - [Code of Conduct](CODE_OF_CONDUCT.md) (Community-Erwartungen und Durchsetzung)
310
+
311
+ ## Releasing
312
+
313
+ Releases laufen automatisiert über GitHub Actions mit npm Trusted Publishing (OIDC) und aktivierter Provenance.
314
+
315
+ 1. Aktualisiere Versionen im Root-Package und in veröffentlichbaren MCP-Packages.
316
+ 2. Push Commit + Tag mit `git push origin main --tags`
317
+ 3. Führe den lokalen Gemini-Extension-Gate aus (nach `~/.gemini/extensions/open-agreements` kopieren/symlinken und prüfen, dass beide lokalen MCP-Server starten/antworten).
318
+ 4. Der `Release`-Workflow veröffentlicht vom Tag, nachdem Build, Validierung, Tests, isolierter Runtime-Smoke und Package-Checks gelaufen sind.
319
+
320
+ Workflow-Geländer:
321
+
322
+ - Tag muss zu Root- und veröffentlichbaren Package-Versionen passen
323
+ - Release-Commit muss in `origin/main` enthalten sein
324
+ - Publish schlägt fehl, wenn eine Zielversion auf npm bereits existiert
325
+
326
+ ## Architektur
327
+
328
+ - **Language**: TypeScript
329
+ - **DOCX Engine**: [docx-templates](https://www.npmjs.com/package/docx-templates) (MIT)
330
+ - **CLI**: [Commander.js](https://www.npmjs.com/package/commander)
331
+ - **Validation**: [Zod](https://www.npmjs.com/package/zod) schemas
332
+ - **Skill Pattern**: Agent-agnostic `ToolCommandAdapter` interface
333
+
334
+ ```
335
+ content/ # All content directories
336
+ ├── templates/ # Internal templates (CC BY 4.0)
337
+ ├── external/ # External templates (CC BY-ND 4.0)
338
+ └── recipes/ # Recipes (downloaded at runtime)
339
+
340
+ src/ # TypeScript source + collocated unit tests
341
+ ├── cli/ # Commander.js CLI
342
+ ├── commands/ # fill, validate, list, recipe, scan
343
+ ├── core/
344
+ │ ├── engine.ts # docx-templates wrapper
345
+ │ ├── metadata.ts # Zod schemas + loader
346
+ │ ├── recipe/ # Recipe pipeline (clean → patch → fill → verify)
347
+ │ ├── external/ # External template support
348
+ │ ├── validation/ # template, license, output, recipe
349
+ │ └── command-generation/
350
+ │ ├── types.ts # ToolCommandAdapter interface
351
+ │ └── adapters/ # Claude Code adapter
352
+ └── index.ts # Public API
353
+
354
+ integration-tests/ # Integration and end-to-end tests
355
+ ```
356
+
357
+ ## Ressourcen
358
+
359
+ - [Claude Code Documentation](https://docs.anthropic.com/en/docs/claude-code)
360
+ - [Claude Code Plugins Guide](https://docs.anthropic.com/en/docs/claude-code/plugins)
361
+ - [Agent Skills Specification](https://agentskills.io)
362
+
363
+ ## Lizenz
364
+
365
+ MIT
366
+
367
+ Template-Inhalte sind von ihren jeweiligen Autor:innen lizenziert — CC BY 4.0 (Common Paper, Bonterms), CC BY-ND 4.0 (Y Combinator) oder proprietär (NVCA, Laufzeit-Download). Siehe `metadata.yaml` jeder Vorlage für Details.
368
+
369
+ ## Haftungsausschluss
370
+
371
+ Dieses Tool erzeugt Dokumente aus Standardvorlagen. Es bietet keine Rechtsberatung. Eine Zugehörigkeit zu oder Billigung durch Common Paper, Bonterms, Y Combinator, NVCA oder andere Vorlagenquellen ist nicht impliziert. Konsultiere für Rechtsberatung eine Anwältin oder einen Anwalt.