Get instant, detailed feedback on your code. ShipItAI reviews every PR with Claude AI, leaving inline comments exactly where they matter.
Set up in minutes, not hours. No configuration files, no complex setup.
Add ShipItAI to your repositories with one click. Works with public and private repos.
Just push your code like normal. ShipItAI automatically detects new PRs and gets to work.
Receive detailed, inline comments within seconds. Reply to continue the conversation.
Powered by Claude AI to give you thoughtful, actionable feedback.
Get feedback in under 30 seconds. No waiting for human reviewers to find time in their schedule.
Comments appear exactly where they matter - right on the specific lines of code that need attention.
Reply to comments with @shipitai to ask follow-up questions or get clarification on suggestions.
Reviews that understand your codebase. ShipItAI fetches full files, test files, and commit history to give feedback like "Based on the pattern in lines 45-60..."
Your source code is never stored. We review the diff, post comments, and immediately discard it. SOC 2 friendly.
Get specific code suggestions using GitHub's suggestion syntax. Apply fixes with one click.
Works out of the box. Optionally customize behavior with a simple YAML file.
Automatic reviews only trigger for repository contributors. External PRs require a contributor to approve with @shipitai review.
Works out of the box, but you can fine-tune behavior per repository.
enabled: true
trigger: auto
exclude:
- vendor/**
- *.gen.go
contributor_protection: true
context:
full_files: true
related_files: true
history: false
instructions: |
Focus on security issues.
| Option | Values | Description |
|---|---|---|
enabled |
true / false |
Enable or disable reviews for this repository |
trigger |
auto |
Review automatically when PRs are opened or updated |
on-request |
Only review when you mention @shipitai in a comment | |
exclude |
list of patterns |
Glob patterns for files to skip (e.g.,
vendor/**, *.gen.go)
|
contributor_protection |
true (default) |
Only auto-review PRs from contributors. External PRs need @shipitai review from a contributor.
|
instructions |
text | Custom guidance for the reviewer (your stack, conventions, focus areas) |
context.full_files |
true (default) |
Include full file content, not just the diff. Enables "Based on line 45..." feedback. |
context.related_files |
true (default) |
Fetch test files and imported files. Catches missing test coverage. |
context.history |
true (default) |
Include recent commit history. Understands why code was written. |
ShipItAI doesn't just point out problems - it explains why something matters and helps you fix it.
Confused by a suggestion? Just reply with
@shipitai to ask follow-up questions. Get
clarification, alternatives, or deeper explanations without
leaving the PR.
@shipitai What if I validate the input first with a regex? Would that be safe enough?
Input validation alone isn't sufficient. Even well-intentioned regex patterns can have edge cases that attackers exploit. Use parameterized queries instead:
query := "SELECT * FROM users WHERE id = ?"
rows, err := db.Query(query, id)
When ShipItAI knows exactly what to fix, it provides GitHub suggestions you can apply with a single click. No copy-pasting, no manual edits.
The error is being silently discarded. This could mask issues in production.
Not just style nits. ShipItAI identifies bugs, security vulnerabilities, performance problems, and race conditions that could break production.
Critical bug: This map is accessed from multiple goroutines without synchronization. This will cause a race condition and potentially crash with "concurrent map writes".
Consider using sync.RWMutex or
sync.Map for thread-safe access.
ShipItAI doesn't just see the diff—it fetches full files, test files, and commit history. Reviews reference surrounding context: "Based on the error handling pattern in lines 45-60..." or "The test file doesn't cover this new edge case."
Based on the error handling pattern used in createOrder (lines 45-67) and updateOrder (lines 89-112), this method should wrap the DB call in a try-catch and check the order status before cancelling.
Also, orders.test.ts has tests for create and update, but doesn't cover the cancel flow. Consider adding a test for the "already shipped" edge case.
Pay only for active developers. Bring your own API key for even lower prices.
We handle everything. Just install and go.
Use your Anthropic API key. Pay only for platform access.
Configure your API key in Settings after install
Join teams who trust ShipItAI to catch issues before they reach production.
Get started free
This query is vulnerable to SQL injection. User input should never be interpolated directly into SQL strings.