IntentiAI

Review what your coding agent changed before you push

Coding agents finish the way they were told to: tests green, task marked done. Ship Check reads the change they left behind and flags what a passing run hides, from deleted assertions to a migration that breaks the version of your app that is still running.

npx intentiai check

Runs offline on your machine. Works after any agent, or any person.

What it looks like

$ npx intentiai check

  Changed:   5 files  (+25 / -5)
  Findings:  7 critical, 3 high, 3 medium

  CRITICAL Column legacy_status is dropped from users
           while the running app may still read it
  CRITICAL Webhook in webhook.ts trusts payloads
           without checking the signature
  CRITICAL 3 assertions removed from pay.test.ts
  HIGH     Scheduled job runs 288x more often

Output on a seeded demo repository. Open the full sample report.

What it checks

Add your own agent as a second reviewer

npx intentiai check --agent claude hands the findings to your own coding agent, on your own plan. It explains or rules out each finding, and reports problems the deterministic checks cannot see. See the docs for supported agents and running it automatically after every task.

How accurate it is

On 30 recent commits from six open-source projects in Go, Rust, Java, Python and TypeScript, 13 of its 14 findings were correct. It is built to be right when it speaks, and to say plainly when a check could not run.

Questions

Which coding agents does Ship Check work with?

Any of them. It reads the git diff, not the agent, so it works the same after Claude Code, Codex, Cursor, Copilot or a human. It can also run automatically when an agent finishes a task.

Does it use an LLM?

Not by default. The checks are deterministic and run offline. Add --agent claude and your own coding agent reviews the findings on your own plan: it explains or rules out each one and reports what the checks cannot see.

Does my code leave my machine?

No. The report is an HTML file on your machine. Only --share uploads anything: the findings, file paths, and up to four quoted lines per finding. Never whole files, the diff, or your git history.

What can it not catch?

Mistakes about meaning, such as a condition applied to the wrong users or a subtly wrong default. A model reviewer catches more of those, which is why --agent exists.

Ship Check: review AI-generated code before you push | IntentiAI