@open-agreements/open-agreements 0.7.3 → 0.7.4

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 CHANGED
@@ -3,186 +3,139 @@
3
3
  [![npm version](https://img.shields.io/npm/v/open-agreements)](https://www.npmjs.com/package/open-agreements)
4
4
  [![npm downloads](https://img.shields.io/npm/dm/open-agreements.svg)](https://npmjs.org/package/open-agreements)
5
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
6
  [![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.org%2Fapi%2Fstatus%3Fformat%3Dshields)](https://openagreements.openstatus.dev/)
9
7
  [![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
8
  [![Socket Badge](https://socket.dev/api/badge/npm/package/open-agreements)](https://socket.dev/npm/package/open-agreements)
9
+ [![GitHub stargazers](https://img.shields.io/github/stars/open-agreements/open-agreements?style=social)](https://github.com/open-agreements/open-agreements/stargazers)
10
+ [![Agent Skill](https://img.shields.io/badge/agent--skill-open--agreements-purple)](https://skills.sh)
11
+ [![MCP Server Status](https://img.shields.io/endpoint?url=https%3A%2F%2Fopenagreements.org%2Fapi%2Fstatus%3Fformat%3Dshields)](https://openagreements.openstatus.dev/)
14
12
  [![install size](https://packagephobia.com/badge?p=open-agreements)](https://packagephobia.com/result?p=open-agreements)
15
13
 
16
14
  [English](./README.md) | [Español](./README.es.md) | [简体中文](./README.zh.md) | [Português (Brasil)](./README.pt-br.md) | [Deutsch](./README.de.md)
17
15
 
18
- <!-- TODO: Add OpenSSF Scorecard badge once repo is indexed at securityscorecards.dev -->
19
- <!-- TODO: Add OpenSSF Best Practices badge after registration at bestpractices.dev -->
20
- <!-- TODO: Re-evaluate Snyk badge — Advisor migrated to security.snyk.io (July 2024) -->
21
-
22
16
  <p align="center">
23
- <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">
17
+ <img src="https://raw.githubusercontent.com/open-agreements/open-agreements/main/docs/assets/demo-fill-nda.gif" alt="Fill a Mutual NDA in Claude Code — prompt, answer questions, get a signed-ready DOCX" width="720">
24
18
  </p>
25
19
 
26
20
  > *Demo: Claude fills a Common Paper Mutual NDA in under 2 minutes. Sped up for brevity.*
27
21
 
28
- Fill standard legal agreement templates and produce signable DOCX files. Templates cover NDAs, cloud terms, employment docs, contractor agreements, SAFEs, and NVCA financing documents.
29
-
30
- **Open Agreements** by [UseJunior](https://usejunior.com) — part of the [UseJunior developer tools](https://usejunior.com/developer-tools/open-agreements). In production at Am Law 100 firms.
31
-
32
- ## Quality and Trust Signals
33
-
34
- - CI runs on pull requests and pushes to `main`.
35
- - Live service health is published via OpenStatus at `openagreements.openstatus.dev`.
36
- - Coverage is published to Codecov with repository-defined patch/project gates in `codecov.yml`.
37
- - The active JS test framework is Vitest, with JUnit test results uploaded for Codecov test analytics.
38
- - 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`.
39
- - Recipe source drift canary (`npm run check:source-drift`) verifies expected source hash plus structural replacement/normalize anchors.
40
- - Assumption-level regressions are tracked in `docs/assumptions.md` and validated via targeted regression tests + CI gates.
41
- - 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.
42
- - Maintainer: [Steven Obiajulu](https://www.linkedin.com/in/steven-obiajulu/) (MIT-trained mechanical engineer; Harvard Law trained lawyer).
43
-
44
- ## How It Works
45
-
46
- 1. Step 1: Choose a template (36 standard agreements)
47
- 2. Step 2: Fill in your details (interactive prompts or MCP)
48
- 3. Step 3: Get a professionally formatted DOCX
49
-
50
- OpenAgreements supports two execution modes with different trust boundaries:
51
-
52
- - Hosted remote MCP connector (`https://openagreements.org/api/mcp`) for fast setup in Claude.
53
- - Fully local package execution (`npx`, global install, or local stdio MCP package) for machine-local workflows.
54
-
55
- 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.
56
-
57
- ### Quick Decision
22
+ Fill standard legal agreement templates and get signable DOCX files. 41 templates covering NDAs, cloud service agreements, employment docs, contractor agreements, SAFEs, and NVCA financing documents.
58
23
 
59
- - If your document is sensitive, use fully local package execution.
60
- - If you prioritize convenience, use the hosted remote MCP connector.
24
+ Works with Claude Code, Gemini CLI, and Cursor.
61
25
 
62
- ## Use with Claude Code
63
-
64
- 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`.
65
-
66
- ### Option 1: Agent Skill (recommended)
26
+ ## Install
67
27
 
68
28
  ```bash
69
- npx skills add open-agreements/open-agreements
70
- ```
71
-
72
- Then ask Claude to draft an agreement:
73
-
74
- ```
75
- > Draft an NDA between Acme Corp and Beta Inc
29
+ npm install -g open-agreements
76
30
  ```
77
31
 
78
- Claude discovers available templates, interviews you for field values, and renders a signed-ready DOCX.
79
-
80
- ### Option 2: Gemini CLI Extension
32
+ Or run directly with zero install:
81
33
 
82
34
  ```bash
83
- gemini extensions install https://github.com/open-agreements/open-agreements
35
+ npx -y open-agreements@latest list
84
36
  ```
85
37
 
86
- Then ask Gemini to draft an agreement. The extension provides MCP tools, context files, and skills for template discovery and filling.
38
+ ## Quick Start
87
39
 
88
- ### Option 3: Direct with Claude Code
40
+ ### With Claude Code (zero install)
89
41
 
90
- If you have Node.js >= 20, just ask Claude:
42
+ Just ask Claude:
91
43
 
92
44
  ```
93
45
  > Fill the Common Paper mutual NDA for my company
94
46
  ```
95
47
 
96
- 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.
48
+ Claude discovers templates, interviews you for field values, and renders a signed-ready DOCX. No install needed Claude runs `npx` on demand.
97
49
 
98
- ### Option 4: CLI
50
+ ### With Gemini CLI
99
51
 
100
52
  ```bash
101
- # Install globally
102
- npm install -g open-agreements
103
-
104
- # List available templates
105
- open-agreements list
106
-
107
- # Fill a template
108
- open-agreements fill common-paper-mutual-nda -d values.json -o my-nda.docx
53
+ gemini extensions install https://github.com/open-agreements/open-agreements
109
54
  ```
110
55
 
111
- ### What Happens
56
+ Then ask Gemini to draft an agreement.
112
57
 
113
- 1. Claude runs `list --json` to discover available templates and their fields
114
- 2. Claude interviews you for field values (grouped by section, up to 4 questions per round)
115
- 3. Claude runs `fill <template>` to render a DOCX preserving all original formatting
116
- 4. You review and sign the output document
58
+ ### With the CLI
117
59
 
118
- ## Use with Cursor
60
+ ```bash
61
+ # See all available templates
62
+ open-agreements list
119
63
 
120
- This repository includes a Cursor plugin manifest with MCP wiring:
64
+ # Fill a template from a JSON data file
65
+ open-agreements fill common-paper-mutual-nda -d values.json -o my-nda.docx
121
66
 
122
- - Plugin manifest: `.cursor-plugin/plugin.json`
123
- - MCP config: `mcp.json`
124
- - Skill: `skills/open-agreements/SKILL.md`
67
+ # Fill with inline values
68
+ open-agreements fill common-paper-mutual-nda --set party_1_name="Acme Corp" --set governing_law="Delaware"
69
+ ```
125
70
 
126
- The default MCP setup in `mcp.json` includes:
71
+ ### Example Prompts
127
72
 
128
- - Hosted OpenAgreements MCP connector (`https://openagreements.org/api/mcp`)
129
- - Local workspace MCP server (`npx -y @open-agreements/contracts-workspace-mcp`)
130
- - Local template drafting MCP server (`npx -y @open-agreements/contract-templates-mcp`)
73
+ - "Draft an NDA for our construction subcontractor"
74
+ - "Create a consulting agreement for our insurance agency"
75
+ - "Fill the independent contractor agreement for a freelance designer"
76
+ - "Generate a SAFE with a $5M valuation cap"
131
77
 
132
- To publish this plugin in Cursor Marketplace, submit this repository at:
78
+ ### What Happens
133
79
 
134
- - https://cursor.com/marketplace/publish
80
+ 1. The agent runs `list --json` to discover templates and their fields
81
+ 2. It interviews you for field values (grouped by section, a few at a time)
82
+ 3. It runs `fill <template>` to render a DOCX preserving all original formatting
83
+ 4. You review and sign the output document
135
84
 
136
85
  ## Templates
137
86
 
138
- 28 templates across three tiers. Run `open-agreements list` for the full inventory.
139
-
140
- | Tier | Count | Source | How It Works |
141
- |------|-------|--------|--------------|
142
- | Internal templates | 17 | [Common Paper](https://commonpaper.com), [Bonterms](https://bonterms.com), OpenAgreements | Shipped in package, CC BY 4.0 |
143
- | External templates | 4 | [Y Combinator](https://www.ycombinator.com/documents) | Vendored unchanged, CC BY-ND 4.0 |
144
- | Recipes | 7 | [NVCA](https://nvca.org/model-legal-documents/) | Downloaded on demand (not redistributable) |
87
+ 41 templates across 7 categories. Run `open-agreements list` for the full inventory.
145
88
 
146
- **Internal templates** (NDAs, cloud terms, employment forms, contractor agreements, etc.) are CC BY 4.0 — we ship the DOCX with `{tag}` placeholders.
89
+ - **NDAs** Mutual and one-way (Common Paper, Bonterms)
90
+ - **Cloud & SaaS** — Cloud service agreements, order forms, SLAs, pilot agreements, software licenses
91
+ - **Services & Contractors** — Professional services, independent contractor, SOW (Common Paper, Bonterms)
92
+ - **Employment** — Offer letter, IP assignment, confidentiality acknowledgement, restrictive covenant
93
+ - **Data Privacy** — DPA, BAA, AI addendum (Common Paper)
94
+ - **SAFEs** — Valuation cap, discount, MFN, pro rata side letter (Y Combinator)
95
+ - **Venture Financing** — Stock purchase, certificate of incorporation, investors' rights, voting, ROFR, indemnification, management rights letter (NVCA)
147
96
 
148
- **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.
97
+ Internal templates are CC BY 4.0. YC SAFEs are CC BY-ND 4.0 (vendored unchanged). NVCA documents are downloaded on demand from nvca.org (not bundled).
149
98
 
150
- **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.
99
+ ## What Gets Installed
151
100
 
152
- ### Guidance Extraction
101
+ ```
102
+ open-agreements/
103
+ bin/ # CLI entry point
104
+ dist/ # Compiled TypeScript
105
+ content/
106
+ templates/ # Fillable DOCX templates with {tag} placeholders
107
+ external/ # YC SAFE templates (vendored unchanged)
108
+ skills/ # Agent skill definitions (Claude Code, Gemini, Cursor)
109
+ server.json # MCP server manifest
110
+ gemini-extension.json # Gemini CLI extension config
111
+ README.md, LICENSE
112
+ ```
153
113
 
154
- 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:
114
+ NVCA recipe templates (7) are downloaded at runtimenot bundled in the package.
155
115
 
156
- ```bash
157
- open-agreements recipe clean source.docx -o cleaned.docx \
158
- --recipe nvca-indemnification-agreement \
159
- --extract-guidance guidance.json
160
- ```
116
+ <details>
117
+ <summary><strong>CLI Reference</strong></summary>
161
118
 
162
- 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.
119
+ ### `list`
163
120
 
164
- **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.
121
+ Show available templates with license info and field counts.
165
122
 
166
- Each template is a self-contained directory:
123
+ ```bash
124
+ open-agreements list
167
125
 
168
- ```
169
- content/templates/<name>/
170
- ├── template.docx # DOCX with {tag} placeholders
171
- ├── metadata.yaml # Fields, license, source, attribution
172
- └── README.md # Template-specific documentation
126
+ # Machine-readable JSON (for agent skills and automation)
127
+ open-agreements list --json
173
128
  ```
174
129
 
175
- ## CLI Commands
176
-
177
130
  ### `fill <template>`
178
131
 
179
132
  Render a filled DOCX from a template.
180
133
 
181
134
  ```bash
182
- # Using a JSON data file
135
+ # From a JSON data file
183
136
  open-agreements fill common-paper-mutual-nda -d data.json -o output.docx
184
137
 
185
- # Using inline --set flags
138
+ # With inline --set flags
186
139
  open-agreements fill common-paper-mutual-nda --set party_1_name="Acme Corp" --set governing_law="Delaware"
187
140
  ```
188
141
 
@@ -195,217 +148,59 @@ open-agreements validate # All templates
195
148
  open-agreements validate common-paper-mutual-nda # One template
196
149
  ```
197
150
 
198
- ### `list`
199
-
200
- Show available templates with license info and field counts.
201
-
202
- ```bash
203
- open-agreements list
204
-
205
- # Machine-readable JSON output (for agent skills and automation)
206
- open-agreements list --json
207
- ```
208
-
209
- ## Contracts Workspace CLI (Separate Package)
151
+ </details>
210
152
 
211
- OpenAgreements now includes a sibling package for repository/workspace operations:
153
+ <details>
154
+ <summary><strong>Agent Setup Details</strong></summary>
212
155
 
213
- - Package: `@open-agreements/contracts-workspace`
214
- - Binary: `open-agreements-workspace`
215
- - Docs: `docs/contracts-workspace.md`
216
-
217
- This package is intentionally separate from `open-agreements` so teams can adopt:
218
-
219
- - template filling only
220
- - workspace management only
221
- - or both together
222
-
223
- Core workspace features:
224
-
225
- - topic-first `init` planning (minimal suggested structure with top-level domains)
226
- - forms catalog with URL + SHA-256 validation
227
- - YAML status indexing and linting with filename-driven `_executed` status
228
-
229
- 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.
230
-
231
- ## Local MCP for Workspace Demo
232
-
233
- For local connector demos, there is a local stdio MCP package:
234
-
235
- - Package: `@open-agreements/contracts-workspace-mcp`
236
- - Binary: `open-agreements-workspace-mcp`
237
- - Docs: `docs/contracts-workspace.md`
238
-
239
- Quick start:
240
-
241
- ```bash
242
- npm run build:workspace-mcp
243
- node packages/contracts-workspace-mcp/bin/open-agreements-workspace-mcp.js
244
- ```
245
-
246
- ## Local MCP for Template Drafting
247
-
248
- For local Gemini/Cursor template drafting flows, use:
249
-
250
- - Package: `@open-agreements/contract-templates-mcp`
251
- - Binary: `open-agreements-contract-templates-mcp`
252
-
253
- Quick start:
156
+ ### Claude Code — Agent Skill
254
157
 
255
158
  ```bash
256
- npm run build:contract-templates-mcp
257
- node packages/contract-templates-mcp/bin/open-agreements-contract-templates-mcp.js
159
+ npx skills add open-agreements/open-agreements
258
160
  ```
259
161
 
260
- ## Website (Vercel)
261
-
262
- A static marketing site is generated from `site/` with Eleventy.
162
+ Then ask Claude to draft an agreement. Claude discovers available templates, interviews you for field values, and renders a signed-ready DOCX.
263
163
 
264
- - Entry points: `site/index.njk`, `site/templates.njk`, `site/template-detail.njk`
265
- - Styles: `site/styles.css`
266
- - Demo media: `site/assets/demo-fill-nda.gif`
267
- - Deployment config: `vercel.json`
268
- - Discovery outputs (generated during `npm run build:site`): `_site/llms.txt`, `_site/llms-full.txt`, `_site/sitemap.xml`, `_site/robots.txt`
269
-
270
- Local preview:
164
+ ### Gemini CLI Extension
271
165
 
272
166
  ```bash
273
- npm run build:site
274
- python3 -m http.server 8080 --directory _site
275
- ```
276
-
277
- Then open `http://localhost:8080`.
278
-
279
- Vercel deploy notes:
280
-
281
- - Import this repository in Vercel
282
- - Keep project root as repo root
283
- - The included `vercel.json` deploys `_site/` as static output
284
-
285
- ## Compliance & Audit Skills
286
-
287
- Open Agreements includes AI agent skills for ISO 27001 and SOC 2 compliance work. These are markdown-only procedural skills — no scripts executed, no secrets required, evidence stays local. Developed with [Hazel Castro](https://internalisoaudit.com) (ISO 27001 Lead Auditor, 14+ years, 100+ audits).
288
-
289
- ### ISO 27001 Evidence Collection
290
-
291
- Collect, organize, and validate evidence for ISO 27001 and SOC 2 audits. API-first approach with CLI commands for major cloud platforms. Produces timestamped, auditor-ready evidence packages.
292
-
293
- ```bash
294
- npx skills add open-agreements/open-agreements --skill iso-27001-evidence-collection
167
+ gemini extensions install https://github.com/open-agreements/open-agreements
295
168
  ```
296
169
 
297
- ### ISO 27001 Internal Audit
298
-
299
- Run a structured internal audit against ISO 27001:2022. Walk through controls by domain, identify gaps, collect evidence, and generate findings with corrective action recommendations.
170
+ The extension provides MCP tools, context files, and skills for template discovery and filling.
300
171
 
301
- ```bash
302
- npx skills add open-agreements/open-agreements --skill iso-27001-internal-audit
303
- ```
172
+ ### Cursor — Plugin
304
173
 
305
- ### SOC 2 Readiness
174
+ This repository includes a Cursor plugin manifest at `.cursor-plugin/plugin.json` with MCP wiring in `mcp.json`.
306
175
 
307
- Assess SOC 2 Type II readiness. Map Trust Services Criteria to controls, identify gaps, and build a prioritized remediation plan with NIST SP 800-53 cross-mapping.
308
-
309
- ```bash
310
- npx skills add open-agreements/open-agreements --skill soc2-readiness
311
- ```
176
+ ### Local vs. Hosted Execution
312
177
 
313
- All three skills use NIST SP 800-53 (public domain) as their canonical reference. Browse the full skill catalog at [skills.sh/open-agreements](https://skills.sh/open-agreements).
178
+ OpenAgreements supports two execution modes:
314
179
 
315
- ## Optional Content Roots (Future-Proofing)
180
+ - **Local** (`npx`, global install, or stdio MCP): all processing happens on your machine. No document content leaves your machine.
181
+ - **Hosted** (`https://openagreements.org/api/mcp`): template filling runs server-side for fast setup. No filled documents are stored after the response.
316
182
 
317
- To support logical unbundling as form libraries grow, `open-agreements` can load content from additional roots via:
183
+ Choose based on document sensitivity and workflow needs. See [docs/trust-checklist.md](docs/trust-checklist.md) for a 60-second data-flow summary.
318
184
 
319
- - env var: `OPEN_AGREEMENTS_CONTENT_ROOTS`
320
- - format: path-delimited list of absolute/relative directories (for example, `dirA:dirB` on macOS/Linux)
321
- - expected structure under each root: `templates/`, `external/`, and/or `recipes/` (or nested under `content/`)
185
+ </details>
322
186
 
323
- Lookup precedence is:
187
+ ## Privacy
324
188
 
325
- 1. roots in `OPEN_AGREEMENTS_CONTENT_ROOTS` (in listed order)
326
- 2. bundled package content (default fallback)
189
+ - **Local mode** (`npx`, global install, stdio MCP): all processing happens on your machine. No document content is sent externally.
190
+ - **Hosted mode** (`https://openagreements.org/api/mcp`): template filling runs server-side. No filled documents are stored after the response is returned.
327
191
 
328
- This keeps default installs simple while allowing advanced users to move large content libraries outside the core package.
192
+ See our [Privacy Policy](https://usejunior.com/privacy_policy) for details.
329
193
 
330
194
  ## See Also
331
195
 
332
196
  - [safe-docx](https://github.com/UseJunior/safe-docx) — surgical editing of existing Word documents with coding agents (MCP server)
333
- - [UseJunior Developer Tools](https://usejunior.com/developer-tools/open-agreements) — product page with install options and template catalog
334
197
 
335
198
  ## Contributing
336
199
 
337
200
  See [CONTRIBUTING.md](CONTRIBUTING.md) for how to add templates, recipes, and other improvements.
338
201
 
339
- - [Adding templates](docs/adding-templates.md) (CC BY 4.0 / CC0 sources)
340
- - [Adding recipes](docs/adding-recipes.md) (non-redistributable sources)
341
- - [Employment source policy](docs/employment-source-policy.md) (trust and terms classifications)
342
- - [Code of Conduct](CODE_OF_CONDUCT.md) (community expectations and enforcement)
343
-
344
- ## Releasing
345
-
346
- Releases are automated through GitHub Actions using npm trusted publishing (OIDC) with provenance enabled.
347
-
348
- 1. Update versions in root package + publishable MCP packages.
349
- 2. Push commit + tag with `git push origin main --tags`
350
- 3. Run the local Gemini extension gate (copy/symlink into `~/.gemini/extensions/open-agreements` and verify both local MCP servers start/respond).
351
- 4. The `Release` workflow publishes from the tag after running build, validation, tests, isolated runtime smoke, and package checks.
352
-
353
- Workflow guardrails:
354
-
355
- - tag must match root + publishable package versions
356
- - release commit must be contained in `origin/main`
357
- - publish fails if any target npm version already exists
358
-
359
- ## Architecture
360
-
361
- - **Language**: TypeScript
362
- - **DOCX Engine**: [docx-templates](https://www.npmjs.com/package/docx-templates) (MIT)
363
- - **CLI**: [Commander.js](https://www.npmjs.com/package/commander)
364
- - **Validation**: [Zod](https://www.npmjs.com/package/zod) schemas
365
- - **Skill Pattern**: Agent-agnostic `ToolCommandAdapter` interface
366
-
367
- ```
368
- content/ # All content directories
369
- ├── templates/ # Internal templates (CC BY 4.0)
370
- ├── external/ # External templates (CC BY-ND 4.0)
371
- └── recipes/ # Recipes (downloaded at runtime)
372
-
373
- src/ # TypeScript source + collocated unit tests
374
- ├── cli/ # Commander.js CLI
375
- ├── commands/ # fill, validate, list, recipe, scan
376
- ├── core/
377
- │ ├── engine.ts # docx-templates wrapper
378
- │ ├── metadata.ts # Zod schemas + loader
379
- │ ├── recipe/ # Recipe pipeline (clean → patch → fill → verify)
380
- │ ├── external/ # External template support
381
- │ ├── validation/ # template, license, output, recipe
382
- │ └── command-generation/
383
- │ ├── types.ts # ToolCommandAdapter interface
384
- │ └── adapters/ # Claude Code adapter
385
- └── index.ts # Public API
386
-
387
- integration-tests/ # Integration and end-to-end tests
388
- ```
389
-
390
- ## Resources
391
-
392
- - [Claude Code Documentation](https://docs.anthropic.com/en/docs/claude-code)
393
- - [Claude Code Plugins Guide](https://docs.anthropic.com/en/docs/claude-code/plugins)
394
- - [Agent Skills Specification](https://agentskills.io)
395
-
396
202
  ## License
397
203
 
398
- MIT
399
-
400
- 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.
401
-
402
- ## Privacy
403
-
404
- - **Local mode** (`npx`, global install, stdio MCP): all processing happens on your machine. No document content is sent externally.
405
- - **Hosted mode** (`https://openagreements.org/api/mcp`): template filling runs server-side. No filled documents are stored after the response is returned.
406
-
407
- See our [Privacy Policy](https://usejunior.com/privacy_policy) for details.
408
-
409
- ## Disclaimer
204
+ MIT. 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.
410
205
 
411
- 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.
206
+ This tool generates documents from standard templates. It does not provide legal advice. Consult an attorney for legal guidance.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "open-agreements",
3
- "version": "0.7.3",
3
+ "version": "0.7.4",
4
4
  "description": "Local MCP extension for OpenAgreements workspace organization and contract template drafting.",
5
5
  "contextFileName": "GEMINI.md",
6
6
  "entrypoint": "GEMINI.md",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open-agreements/open-agreements",
3
- "version": "0.7.3",
3
+ "version": "0.7.4",
4
4
  "workspaces": [
5
5
  "packages/allure-test-factory",
6
6
  "packages/contract-templates-mcp",