Skip to content

Getting Started

Install globally via npm:

Terminal window
npm install -g @mcptoolshop/shipcheck

Or run directly:

Terminal window
npx @mcptoolshop/shipcheck init

The full adoption takes about 30 minutes per repo:

Terminal window
npx @mcptoolshop/shipcheck init

This auto-detects your repo type and copies the appropriate templates:

  • SHIP_GATE.md — the checklist
  • SECURITY.md — vulnerability reporting template
  • CHANGELOG.md — change log template
  • SCORECARD.md — scoring template
  • Fill in SECURITY.md with your contact email and response timeline
  • Add a threat model section to your README

At minimum, all user-facing errors should have:

{
"code": "INPUT_TEXT_EMPTY",
"message": "Text must not be empty",
"hint": "Provide at least one character",
"retryable": false
}

For CLI/MCP/desktop apps, add exit codes and a typed error class.

  • Ensure README is current
  • Add or update CHANGELOG
  • Verify LICENSE exists
  • Check --help output is accurate (for CLIs)
  • Add a verify script (build + test)
  • Confirm version matches tag
  • Enable dependency scanning in CI

Open SHIP_GATE.md and mark every line:

  • [x] — done (with date)
  • SKIP: reason — not applicable to this repo
  • [ ] — still needs work
Terminal window
npx @mcptoolshop/shipcheck audit

Exits 0 when all hard gates pass. Exits 1 if gaps remain.

If your org uses dogfood-labs for verification, you can also check Gate F:

Terminal window
npx @mcptoolshop/shipcheck dogfood --repo org/repo --surface cli

This verifies that a fresh, passing dogfood record exists. See the Reference page for all flags and enforcement modes.