Skip to content
contract-ops CLI suite

5-minute tour

The whole suite in five minutes.

Every CLI ships a zero-config demo — no setup, no config, no network. Run them top to bottom to see each step of the pipeline, then chain them on your own files.

TL;DR — Six commands, nothing to configure. Each demo runs against bundled fixtures and cleans up after itself. Install the suite first (or run any one with npx / pipx run — no install needed).

The speed run

Paste these one at a time. Each is self-contained and shows that tool's job in a few seconds.

six demos, zero config
template-vault demo     # 1. store — compose a template + swap a clause, with provenance
draft --demo            # 2. draft — fill [Party A], [Effective Date], … in a template
nda-review-cli demo     # 3. review — score a sample NDA against a house policy
compare --demo          # 4. compare — clause-aware drift gate (exits 2 on the fixture)
docx2pdf demo           # 5. convert — render a sample DOCX to PDF
npx @drbaher/sign-cli demo   # 6. sign — offline PAdES sign + verify + receipt

What just happened

  • template-vault — forked a base NDA, swapped one clause from another, and recorded the provenance in meta.json.
  • draft — substituted typed placeholders into a template and printed the filled draft.
  • nda-review-cli — scored the sample NDA and emitted a structured verdict (decision + risk + findings).
  • compare — diffed two versions clause-by-clause and flagged the substantive drift (exit 2).
  • docx2pdf — converted a DOCX to PDF with whatever backend is installed.
  • sign — created, sent, signed, verified, and bundled a receipt for a PDF — fully offline.

Now chain them on your own files

The tools read - from stdin and write to stdout, so the pre-signature flow composes as a real pipeline. Bring your own template ref, deal params, and policy:

end-to-end on real files
# resolve a template from the vault → fill it → review it → gate drift → render → sign
template-vault get nda/house-mutual \
  | draft - --params deal.json \
  | tee filled.md \
  | nda-review-cli review --file - --playbook config/org-policy.json --out-md review.md

# gate the ready-to-sign artifact against what you agreed to
compare filled.md ready-to-sign.docx        # exit 0 = safe · 2 = substantive drift

# render the agreed .docx to PDF (docx2pdf takes a .docx, not markdown)
docx2pdf ready-to-sign.docx ready-to-sign.pdf

# sign — DOCX or PDF in, sealed PAdES PDF out, fully offline (one shot)
sign document ready-to-sign.pdf \
  --signer "Alice Founder" --signer-email alice@acme.com \
  --name-signature true --auto-place first --out signed.pdf

Review and compare are gates, not transforms — they branch the flow (escalate, redline, or block) rather than rewrite the document, which is why they read the draft but don't sit mid-pipe. For the full step-by-step with every flag, see the workflow.

Next — Install the suite · read the workflow · wire it into an agent via built for agents.

Edit this page on GitHub