Skip to content
contract-ops CLI suite

Recipes

Recipes for real situations.

The tour and workflow walk the happy path start to finish. These are the off-path situations that actually come up — copy-paste sequences you can adapt. Discover any tool's exact flags with <cli> --catalog json.

Review an incoming third-party NDA

Someone sends you their paper. Score it against your house policy, then gate the final text before you sign.

review their paper
# 1. Score it against your house policy, with evidence for each finding
nda-review-cli review --file their-nda.docx --playbook config/org-policy.json --why

# 2. Negotiate the points you don't accept (see the tool page for the full
#    negotiate subcommands); nda-review tracks hash-chained negotiation state.

# 3. Before signing, gate the version they sent back against what you agreed
compare --from-negotiation negotiation.json their-nda-final.docx
#   exit 0 = matches the agreed text · 2 = it drifted — don't sign

Gate drift in CI

Fail the build if a ready-to-sign artifact drifted from the text everyone agreed to — the exit code is the gate, no parsing required.

ci gate
# Exit-code-only gate (0 safe · 2 substantive · 3 cosmetic · 4 moved)
compare agreed.md ready-to-sign.docx --check

# …or emit SARIF for GitHub code-scanning / a PR annotation
compare agreed.md ready-to-sign.docx --sarif > drift.sarif

Drive the pipeline from an agent

An LLM agent does the operational work; the human only makes the signing gesture. The per-signer token is the boundary — the agent never sees it.

agent loop
# 1. Discover each tool's surface at startup — never hardcode flags
draft --catalog json    compare --catalog json    sign --catalog json

# 2. Agent fills, gates, and converts (branching on exit codes + --json)
template-vault get nda/house-mutual | draft - --params deal.json | tee filled.md
compare agreed.md filled.md --json   # agent reads the verdict, decides to proceed

# 3. Agent requests a signature; the human receives a scoped, single-use token
sign request create --title "NDA" --document filled.pdf --signer "name:Alice,email:alice@acme.com,order:1"
sign sign --token <token-the-human-received>   # the agent never holds this

Batch convert, then sign a folder

A directory of agreed documents → PDFs → out for signature, fully offline.

batch
# Convert every .docx in a folder to PDF
docx2pdf --out-dir out/ contracts/*.docx

# Send each PDF for signature with the built-in offline signer (no signup)
for f in out/*.pdf; do
  sign request create --document "$f" --signer "name:Signer,email:$SIGNER_EMAIL,order:1"
done
More — Run any of these in the browser on the playground · full step-by-step in the workflow · agent wire-up in built for agents.

Edit this page on GitHub