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.