Find what the PR changed.
Not just what looks wrong.
ShipCheck reviews a pull request as a change in behavior. It looks for behavior that disappeared, safeguards that became weaker, contracts that changed, assumptions that no longer hold, and places where the old behavior should be protected with a regression test.
Inputs that previously normalized successfully may now be rejected.
Existing valid course-code formats can start failing validation.
Previous implementation uppercased and removed whitespace and hyphens.
Understand the change, not just the diff.
A suspicious line is only useful if you understand what it changed. ShipCheck turns important findings into a behavioral explanation.
What used to happen
ShipCheck identifies the behavior or safeguard that existed before the PR.
What happens now
The new revision is translated into the behavior it introduces.
Why it matters
See the real consequence for callers, users, contracts, or system behavior.
Why ShipCheck thinks so
Relevant code and repository context support the conclusion instead of a vague AI guess.
Find behavior that quietly disappeared.
AI-generated code can look completely reasonable while removing something important. ShipCheck specifically looks for that kind of change.
- Previously supported inputs that no longer work
- Validation or normalization behavior that disappeared
- Authorization and security safeguards that became weaker
- Error handling and fallback behavior that was accidentally removed
- Existing contracts that a new implementation no longer preserves
" cs- 101 " → "CS101"" cs- 101 " → "cs- 101"lib/courseValidation.tsapp/create-session/page.tsxlib/authRules.tstests/courseValidation.test.tsThe diff is not enough context.
ShipCheck can pull in relevant repository context when a change depends on code outside the diff. That helps it understand existing contracts instead of guessing from a few modified lines.
- Callers and consumers of changed code
- Existing validation, authorization, and business rules
- Related tests and expected behavior
- Repository-specific assumptions and conventions
- Selective context instead of blindly sending the entire repository
Different ways a PR can break existing behavior.
ShipCheck combines deterministic checks with contextual AI analysis across the areas most likely to create shipping risk.
Security
Detect security behavior that became weaker because of the pull request.
Reliability
Find changes that quietly make previously working behavior less reliable.
Code quality
Catch changes that break existing contracts, assumptions, or repository conventions.
Accessibility
Identify user-facing changes that remove accessibility behavior that previously worked.
Testing
Find meaningful behavior changes that are not protected by regression tests.
Don't just find the regression. Make it harder to repeat.
Once ShipCheck understands the behavior that changed, it can help repair it and create a regression test based on the behavior that needs to be preserved.
Safe AI fixes
Generate a targeted fix after a contextual AI finding has been identified. Fix generation happens when you ask for it rather than spending model tokens on every finding upfront.
- Generated on demand
- Scoped to AI findings
- Uses finding and repository context
- Review before applying
Regression tests
ShipCheck carries the finding's before, after, impact, and evidence into regression test generation so the resulting test protects the actual behavior that was lost.
- Behavior-aware test generation
- Suggested test file and framework
- Persisted generation state
- Apply the generated test to the PR
Know what changed since the last scan.
Re-running a reviewer should not feel like starting from zero. ShipCheck compares findings across revisions so you can immediately see what your latest changes actually fixed.
Scan delta compares the current revision against the previous completed revision of the same pull request.
This finding did not exist in the previous completed scan.
ShipCheck matched the same finding across both revisions.
The finding existed previously but disappeared in the current revision.
A previously resolved finding appeared again later in the pull request.
Not every finding deserves the same attention.
ShipCheck combines findings into a shipping-risk score and verdict so reviewers can focus on the changes most likely to matter before merge.
- Severity-aware findings
- Security, reliability, quality, accessibility, and testing categories
- Clear shipping verdict
- Recomputed as the PR evolves
From pull request to verified fix.
Read the revision
ShipCheck anchors analysis to the exact pull request revision and determines what changed.
Compare behavior
It reasons about behavior before and after the change instead of reviewing the new lines in isolation.
Gather evidence
Relevant repository context is selected to verify contracts, safeguards, callers, and assumptions.
Prioritize risk
Findings are categorized and weighted so the highest-risk behavior changes surface first.
Protect the behavior
Generate a regression test that captures the behavior that should continue to work.
Verify the revision
Re-scan the PR and see which findings are new, resolved, reopened, or still present.
Review the PR where the PR already lives.
Install ShipCheck on the repositories you choose and scan pull requests without changing your existing GitHub workflow.
- GitHub App installation
- Repository-specific access
- Manual GitHub-native /shipcheck invocation
- Exact pull request commit revision
- Re-scan as new commits are pushed
4beda9cComplete/shipcheckTune ShipCheck to the repository.
AI review
Enable or disable AI-enhanced behavioral analysis independently for each repository.
Category controls
Control Security, Reliability, Code Quality, Accessibility, and Testing findings independently.
Ignored paths
Exclude generated files, snapshots, documentation, vendored code, or repository-specific paths.
Ignored rules
Disable deterministic rules that do not make sense for a specific repository.
