repo hygiene + docs: templates, dependabot, AGENTS MCP section, troubleshooting, examples/#12
Merged
Merged
Conversation
…on, GETTING_STARTED troubleshooting, examples/
Single PR bundling six small polish items. No code change, no version
bump (none of compare-cli's locked surfaces touched).
.github/
- ISSUE_TEMPLATE/bug_report.md: structured bug-report template.
- ISSUE_TEMPLATE/feature_request.md: structured feature template that
reminds reporters of the deterministic-by-design contract and lists
sibling-CLI alternatives.
- ISSUE_TEMPLATE/config.yml: disables blank issues; surfaces the
security-advisory + suite-discussion links.
- pull_request_template.md: standardizes the PR body so future
contributors and agents alike fill in the same sections (summary,
what changes, why this design, test plan, schema impact, version
impact).
- dependabot.yml: weekly npm bumps grouped by patch/minor for the root
package and the mcp/ workspace, plus monthly github-actions bumps.
Majors stay separate (pdfjs-dist majors in particular need the CI
matrix to validate).
AGENTS.md
- New "Invoking via MCP" section right above "Failure diagnosis".
Documents the three tools, the install incantation, the Claude Desktop
/ Claude Code config block, and the substantive-drift = success-with-
content posture. Cross-cites mcp/README.md and docs/mcp.md.
GETTING_STARTED.md
- New "Troubleshooting" section above "Next steps". Covers:
- The npx-bin-name pitfall (npm 10.x can't auto-resolve a bin when
package name and bin name differ; use `-p compare-cli@latest --
compare`).
- The scanned-PDF zero-text-extraction case (point users at
ocrmypdf; we don't bundle OCR).
- --demo's deliberate exit 2 (it's a fixture, not a bug).
- The EPEERINVALID warning for compare-cli-mcp@0.1.0 against
compare-cli@0.3.0+ (fixed in mcp@0.1.1).
- "no agreed round found" — the three-tier resolution.
- CI gate patterns and how 0/2/3/4 map to publish-blocking decisions.
examples/
- base.md, cand-clean.md, cand-substantive.md, cand-cosmetic.md — four
markdown fixtures shaped like a real NDA. Each candidate's exit code
matches its filename intent (0 / 2 / 3 respectively).
- negotiation.json — canonical nda-review-cli state file shape with
status: converged + signoffs populated. Use with --from-negotiation.
- README.md — explains the files and shows commands for every public
flag against them, including --check, --sarif, --only-clauses,
--from-negotiation. Notes that examples/ doesn't ship in the npm
tarball (no entry in package.json files).
- All four expected exit codes verified locally:
compare base.md cand-clean.md → 0
compare base.md cand-substantive.md → 2
compare base.md cand-cosmetic.md → 3
compare --from-negotiation neg cand-clean.md → 0
Tests: 206/206 root + 22/22 mcp (unchanged).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
One PR bundling six small polish items from the "what's left to polish the CLI" review. No code change, no version bump, no locked-surface touch.
What changes
.github/ISSUE_TEMPLATE/bug_report.md— structured bug-report fields (what happened, what you expected, repro, environment, exit code).ISSUE_TEMPLATE/feature_request.md— feature template that reminds reporters of the deterministic-by-design contract and lists sibling-CLI alternatives so requests don't reinvent draft-cli / nda-review-cli / sign-cli / etc.ISSUE_TEMPLATE/config.yml— disables blank issues; surfaces security-advisory + suite-discussion links.pull_request_template.md— standardizes PR bodies (summary, what changes, why this design, test plan, schema impact, version impact).dependabot.yml— weekly npm bumps grouped patch/minor for root +mcp/; monthly github-actions bumps. Majors stay separate so e.g.pdfjs-distmajors get explicit review.AGENTS.mdmcp/README.mdanddocs/mcp.md.GETTING_STARTED.mdnpxbin-name pitfall (npm 10.x quirk → use-p compare-cli@latest -- compare).ocrmypdf; we don't bundle OCR).--demo's deliberate exit 2 (it's a fixture, not a bug).EPEERINVALIDwarning forcompare-cli-mcp@0.1.0againstcompare-cli@0.3.0+(fixed in MCP0.1.1).0/2/3/4map to publish-blocking decisions.examples/base.md— sample negotiated NDA. Five clauses, plain markdown.cand-clean.md— byte-equivalent tobase.md. Exit 0.cand-substantive.md— Term clause changed (two → three years), Confidentiality weakened. Exit 2.cand-cosmetic.md— curly quotes + paragraph re-wrapping only. Exit 3.negotiation.json— canonical nda-review-cli state-file shape (status: converged, populatedsignoffs).README.md— explains each file and shows commands for every public flag against them (--check,--sarif,--only-clauses,--from-negotiation, etc.). Notes examples/ doesn't ship in the npm tarball.All four expected exit codes verified locally before commit:
compare base.md cand-clean.md→0✓compare base.md cand-substantive.md→2✓compare base.md cand-cosmetic.md→3✓compare --from-negotiation negotiation.json cand-clean.md→0✓Numbers
compare-cli.mjsormcp/exit_class,--jsonshape, clause-detection rule) unchangedTest plan
npm test— 206/206 passing (unchanged)cd mcp && npm test— 22/22 passing (unchanged)Out of scope (deliberate)
--demoflag is interactive enough.🤖 Generated with Claude Code