Pull-request native
ShipCheck lives where code actually gets merged. GitHub events automatically create scans for connected repositories.
ShipCheck is currently in beta.ShipCheck is currently in beta. You may encounter rough edges while we improve the experience.
ShipCheck analyzes pull requests for unintended behavior changes, removed safeguards, broken contracts, and regressions that can look completely reasonable in code review — then helps you fix and lock the expected behavior in with a regression test.
Ship report
PR #42 · 31 files checked · 18 seconds ago
Ship Score
High risk
Critical
2Blocks shipping
Warnings
4Needs review
Passed
31Checks successful
Behavior changes
Changes that may break existing behavior
Subscription ownership behavior changed
Before
Only the subscription owner could delete it.
After this PR
Any authenticated user can reach the delete operation.
Impact: A user may now be able to delete another user's subscription.
app/api/subscriptions/[id]/route.ts
Checkout response contract changed
Before
The checkout page received the fields it expects from the API.
After this PR
The API returns a different shape while the checkout page still reads the old fields.
Impact: A successful checkout can break when the frontend reads values that no longer exist.
app/api/checkout/route.ts
Retry behavior changed without regression coverage
Before
The checkout flow only handled the existing request path.
After this PR
The PR introduces retry behavior and a new failure path.
Impact: The new behavior can regress later without a test proving how retries should work.
tests/checkout.test.ts
AI can generate a valid-looking implementation in seconds.
It can also remove a safeguard, misunderstand a repository contract, skip a failure state, or quietly introduce behavior nobody tested.
ShipCheck is the verification layer after the generation layer.
It compares the pull request against the behavior and safeguards already present in the repository, surfaces dangerous changes, and helps prove the expected behavior before merge.
ShipCheck looks for behavior that disappeared, safeguards that were weakened, contracts that changed, and existing assumptions that no longer hold after the pull request.
Security checks
ShipCheck combines deterministic checks with repository-aware review to surface credentials, unsafe APIs, missing authorization, injection risks, insecure configuration, and other security regressions.
Scan findings
PR #42 · current revision
Ownership validation removed from delete route
criticalThe endpoint still authenticates the request, but no longer verifies that the resource belongs to the signed-in user.
app/api/projects/[id]/route.ts
Live provider credential detected
criticalA newly added literal matches the structure of a production credential rather than an obvious placeholder.
lib/payments/client.ts
Protected dashboard remains authenticated
passedExisting authentication boundaries remain intact after the pull request.
middleware.ts
Critical
1
Warning
1
Passed
1
ShipCheck receives the GitHub event and queues the exact PR revision for analysis.
Deterministic rules and AI review analyze the changed code, surrounding contracts, and relevant repository context.
See severity, categories, risk, concrete findings, suggested fixes, and an overall Ship Score.
Apply a guarded repair or generate a focused test designed to prevent that exact bug from returning.
Push the repair or comment /shipcheck and verify the current revision before merging.
Fixed a finding? Changed the implementation? Comment /shipcheck on the pull request and run another review of the latest revision.
shipcheck-ai
botShipCheck queued for the latest revision.
Previous critical findings no longer appear in the current PR revision.
Interactive example — no GitHub action is performed here.
Detect what behavior changed, understand the impact, repair the regression, lock the expected behavior in with a test, and verify the next revision.
ShipCheck lives where code actually gets merged. GitHub events automatically create scans for connected repositories.
Analyze changed behavior against surrounding contracts, callers, safeguards, and repository assumptions instead of judging isolated lines.
Catch known credential formats, private keys, credentialed connection strings, high-entropy secrets, and other high-signal problems without relying entirely on AI.
Turn a wall of feedback into a clear readiness signal with structured counts by severity and category.
For safe machine-applicable findings, ShipCheck can commit exact fixes directly to the current PR branch.
Generate one focused test for one concrete finding using the repository's detected framework and existing testing style.
Fixed a regression or changed the implementation? Comment /shipcheck to verify the latest PR revision again.
Enable or disable Security, Reliability, Quality, Accessibility, Testing, AI review, ignored paths, and ignored rules per repository.
Scans are queued and claimed by workers with retry handling and stale leases instead of depending on a fragile request staying alive.
A review comment is useful. A repaired pull request with a regression test is better. ShipCheck can move from diagnosis to remediation while keeping the developer in control.
The pull request still verifies that the caller is authenticated, but no longer checks that the requested project belongs to that user.
Ready to validate repair
ShipCheck will verify the target revision before changing any code.
Tune ShipCheck per project. Enable the categories that matter, turn AI review on or off, ignore generated directories, and silence rules that do not fit a repository.
Repository settings
acme-inc/customer-portal
AI review
Use repository-aware AI analysis during scans.
Scan categories
Security
Reliability
Quality
Accessibility
Testing
Ignored paths
Ignored rules
Try the toggles — this is an interactive homepage preview.
GitHub Copilot, Cursor Bugbot, CodeRabbit, and Qodo are capable code-review tools. ShipCheck is built specifically around behavioral regression analysis: what worked before, what changed in this pull request, whether that change is dangerous, and how to prevent the regression from returning.
Behavioral regressions
Looks for existing behavior, safeguards, contracts, and assumptions changed by the PR.
General code review
Reviews pull-request changes for bugs, quality issues, and other concerns.
Bug-focused review
Reviews pull requests for logic bugs, security issues, and correctness problems.
AI code review
Provides automated review, walkthroughs, and configurable merge checks.
AI review + governance
Reviews code against repository context, requirements, and organizational rules.
Before → after reasoning
Explains what behavior existed before the PR and what the changed code now does.
Review changed code
Can identify problems introduced by changed lines and surrounding context.
Review changed code
Analyzes pull-request changes for likely bugs.
Context-aware review
Reviews changed code using repository and pull-request context.
Context-aware review
Uses codebase and organizational context during analysis.
First-class regression signal
Explicitly looks for weakened authorization, validation, fallbacks, checks, and existing protections.
May surface during review
General review can identify safeguard or security problems when detected.
May surface as a bug
Can report removed protection when it creates a correctness or security issue.
May surface during review
Can identify relevant correctness or security problems.
May surface during review
Can identify rule, requirement, or implementation violations.
Finding → regression test
Turn the exact discovered behavior regression into a focused test using the repository's conventions.
General test assistance
Copilot can help developers create and modify tests.
Agent-assisted testing
Findings can be handed into Cursor workflows that modify code and tests.
Unit-test generation
Supports generating tests for changed code.
Test-generation workflows
Provides AI-assisted test-generation capabilities.
Ship Score + verdict
One 0–100 risk score and readiness verdict summarize the exact scanned revision.
Review + repo checks
Merge readiness depends on feedback, required reviews, CI, and branch protections.
Required status check
Can be required before merge, and can fail on unresolved findings in some setups.
Pass / warn / block
Pre-merge checks can pass, warn, or block merges based on configuration.
Prioritized review signal
Review agents and rule enforcement highlight what should influence the merge decision.
Revision-guarded repair
Apply a bounded repair only if the PR head still matches the revision that produced the finding.
Suggestions + agents
Developers can apply suggestions or use Copilot agents for broader changes.
Fix in Cursor / Agent
Bugbot findings can be handed to Cursor or Background Agent for remediation.
Autofix
Can implement unresolved findings and commit changes back to the pull request.
Actionable remediation
Review findings include guidance for resolving issues and rule violations.
Verification controls per repo
Control AI review, scan categories, ignored paths, ignored rules, and checks that feed shipping risk.
Custom instructions
Repository and path-specific instructions can customize review behavior.
Rules + project guidance
Teams can define custom standards, proven approaches, and project-specific review rules.
Deep repository config
Review behavior, paths, automatic reviews, tools, and custom checks are configurable.
Organization rule system
Rules can incorporate repository context, PR history, requirements, and org-wide standards.
Verify the repaired revision
Push the change or run /shipcheck again and evaluate the new revision as a fresh ship decision.
Review updated changes
Updated PRs continue through GitHub's normal review, CI, and branch-protection flow.
Review new changes
Can review what changed since its previous review and surface any new findings.
Incremental re-review
Automatically updates its analysis as commits change the pull request.
Re-review current PR
Can automatically or manually review the latest PR state again.
Positioning comparison, not a benchmark. Competitor capabilities evolve over time and can vary by plan, configuration, platform, and product surface.
ShipCheck is intentionally opinionated about the moment right before merge: find risk, resolve it, and verify the next revision.
ShipCheck is focused specifically on behavioral regressions. Instead of primarily asking whether the changed code looks correct, it asks what behavior, safeguards, contracts, and assumptions changed compared with what already worked. Findings can then be fixed, turned into focused regression tests, and verified against the next revision.
Comment /shipcheck on a connected pull request and ShipCheck can queue another review of the current PR revision. It gives developers an explicit way to re-check a change after fixing findings.
Not blindly. A finding must contain a machine-applicable repair plan before Apply Fix is available. The backend validates edit count, file count, paths, exact search targets, the PR state, and the exact scanned commit before writing.
ShipCheck treats old results as stale for write operations. Before applying a fix it checks that the current pull-request head still matches the commit that was scanned, so an old repair is not silently applied to new code.
Yes. Repository settings support category toggles for Security, Reliability, Quality, Accessibility, and Testing, plus AI review, ignored paths, and ignored rule IDs.
Fixing a bug once is not enough. ShipCheck can turn a specific finding into a focused test that demonstrates the broken behavior, follows the repository's test framework, and helps prevent the same regression from coming back.