Shipmoor × Cursor

Shipmoor for Cursor

Cursor writes the code. Shipmoor catches the structural defects and claim gaps the agent slips in, locally, with deterministic checks an LLM never overrides, and holds the agent to a fix before it calls the work done.

  • Local structural scan in Cursor
  • Stop-gate via native Cursor hooks
  • No source upload

The summary says done. The scan says phantom import · afterFileEdit re-checks every edit.

Cursor's agent edits across your repo at a pace no reviewer keeps up with, then hands you a diff with a confident summary. The summary is not the change. Shipmoor closes that gap with deterministic checks that run where the code is created, not after it's already on a reviewer's screen.

  • local scan
  • deterministic gate
  • native Cursor hooks
  • an LLM never blocks
  • no source upload
$ shipmoor scan --changed
 
scanning 6 changed files · cursor agent edit
✗ high   SM-IMP-002  phantom import        src/api/orders.ts:3
         'normalizeCart' imported from ./cart · not exported there
! med    SM-STB-007  placeholder stub      src/api/orders.ts:48
         applyDiscount() returns 0 · empty body, no logic
 
verdict: 1 high · gate would block · fix before "done"
human · json · sarif output · stable CI exit codes

Phantom imports, placeholder stubs, and silenced errors all read as "done" to the agent; Shipmoor reads them as findings.

Three ways Shipmoor plugs into Cursor

From a free local scan you run yourself, up to an enforced stop-gate wired with Cursor's native hooks.

  • 01 · Shipmoor CLI

    Local structural scan

    Scan your changes for phantom and undeclared imports, placeholder and empty-body stubs, and silenced errors. Human, JSON, and SARIF output; stable CI exit codes.

    Live · free
  • 02 · Agent Skills

    Behaviors in .cursor/rules

    shipmoor skills install cursor writes an always-applied rule that tells the agent to scan, triage, and gate before "done", and not to invent imports or fake success.

    Live · Free
  • 03 · The harness loop

    Native hook adapter

    shipmoor harness install cursor installs native afterFileEdit and stop hooks. Use --soft only when you want the guidance-only rules fallback instead.

    Native hooks live · soft fallback available

Claude Code and Cursor both have shipped native hook adapters. Cursor's afterFileEdit hook records the latest scan and its stop hook returns a follow-up message until blockers clear. The optional soft install remains available for setups that decline native hooks.

A real stop-gate in Cursor, today

shipmoor harness install cursor writes two native lifecycle hooks to .cursor/hooks.json. They provide a Claude-parity gate driven by one-shot local scans, with no background daemon.

  • afterFileEdit Re-scan the file the agent just edited Refresh the report the agent is told to treat as authoritative, so findings are never stale.
  • stop Hold the agent until blockers clear When the agent tries to finish, scan the change-set; if a blocking finding is present, return a followup_message (auto-submitted as the agent's next turn) so it keeps working. A loop_limit bounds it so a session can never get stuck.
{
  "version": 1,
  "hooks": {
    "afterFileEdit": [{ "command": "shipmoor harness hook cursor after-file-edit" }],
    "stop":          [{ "command": "shipmoor harness hook cursor stop" }]
  }
}

The installed stop hook invokes shipmoor harness hook cursor stop; if Scan finds blockers, the handler returns them as the follow-up message. A rule that asks an agent to scan is advisory; a native gate that won't let it say "done" until blockers clear is enforced.

Deterministic evidence decides: an LLM never blocks

A gate you could hallucinate past would be worse than none

Every finding that can hold the gate comes from a deterministic structural check. Shipmoor's architecture structurally bars any LLM inference from producing a blocking verdict: a model can advise, never block. The optional advisory runs inside your own coding agent (Shipmoor hosts and calls no model) and is labeled as inference, excluded from the verdict.

What this is not: Shipmoor catches what didn't earn its claim and says "couldn't check" where it has no probe. It doesn't prove your change did what the ticket asked, and it checks structural risk, not logic or design. Your tests still run. It raises the floor and gives a repeatable checkpoint; it doesn't replace your judgment.

Check the change against the task

Beyond defects, Claim Check compares an agent's change to the task it was given, and flags work that's well-formed but doesn't do what was asked.

Claim Check

Resolves intent from the ticket, prompt, or the Cursor agent session (secrets masked on ingest). A deterministic floor decides; the LLM only advises.

Free account. Local execution. No source upload.

The scan engine runs on your machine or in your own CI runner. Shipmoor contacts its service for account and device authorization, signed entitlements, Free command allowances, security, billing when you choose Pro, and allowlisted analytics. Those requests exclude source, diffs, paths, repository identity, findings, verdicts, evidence, test output, and acceptance criteria.

PythonTypeScriptJavaScriptGo

Get started in Cursor

At creation, a new Free personal account receives one 30-day period of full Pro without a card. Authorize this installation, then add Agent Skills and the native Harness adapter.

shipmoor scan --changed

Free account, local execution, no source upload. Scan your current changes before you wire anything up.

  • Install the always-applied Cursor rule

    shipmoor skills install cursor
  • Install the harness adapter

    shipmoor harness install cursor
  • Start safe: report only, then escalate

    shipmoor harness mode observe

Free keeps Scan, Agent Harness, and Agent Skills unlimited and includes 5 Claim Checks, 5 Reviews, 5 Test Evidence runs, and 5 Blast Radius runs each month. Pro is $19/month or $190/year and makes all four unlimited.

Catch it in Cursor, before review

A new personal account receives one 30-day period of full Pro at account creation without a card. Then keep local Scan, Harness, and Skills plus four separate monthly command allowances on Free.

Start free

Explore the Shipmoor CLI →