Best AI engineering tools
Best AI stack for engineering, ranked by effect on the work, with the risk read beside each one.

TL;DR
- 01Choose one primary coding assistant before adding another tool with the same repository access.
- 02Keep tests and human pull-request approval between generated code and production.
- 03Use review and security tools for distinct checks, with clear ownership for findings.
- 04Measure cycle time, review turnaround, escaped defects and remediation time.
We picked these tools for engineering leaders managing coding, review, security, incidents, production issues, and planned work.
The stack at a glance
| # | Tool | Level | Grade | Trains on your data |
|---|---|---|---|---|
| 1 | Workflow tools | A | No training on user data | |
| 2 | Workflow tools | A | Free: Yes, Paid: No | |
| 3 | GitHub Copilot | Workflow tools | A+ | Free: Yes, Paid: No |
| 4 | Workflow tools | A+ | No training on user data | |
| 5 | Workflow tools | A | No training on user data | |
| 6 | Workflow tools | A+ | No training on user data | |
| 7 | Systems of record | B- | Yes | |
| 8 | Systems of record | A | No training on user data |
Oximy grade and training readings are shown on the assessment date. We do not show prices: vendor pricing is mostly quote-only, and we print a number only with a source and a date.
The recommended tools
In rank order. Named customers come from the vendor's own published stories, which we opened and checked. They show the tool is used for that job, not that it worked.
Cursor reads codebases and completes multi-file tasks from its editor.
What it should move: it shortens the path from an issue to a reviewable change.
Best fit
The catch
Cursor sends code context to model services and can change many files. Teams must control data settings, diffs, and commands.
Claude Code inspects repositories, edits code, and runs commands from the terminal.
What it should move: engineers spend less time implementing changes, writing tests, and maintaining codebases.
Best fit
The catch
Claude Code can read files and run commands. Limit access to repositories and secrets, set command permissions, and review changes before wider use.
GitHub Copilot suggests code, explains repositories, and reviews changes.
What it should move: it shortens implementation, reviews, and repetitive coding work.
Best fit
The catch
Generated code can repeat insecure or unsuitable patterns. Teams still need repository rules, licence checks, tests, and pull-request approval.
CodeRabbit reviews pull requests for defects, policy issues, and code quality.
What it should move: it shortens reviews and catches basic defects before merge.
Best fit
The catch
Automated review comments can create noise or false confidence. Set repository permissions and review policies, and assign responsibility for merging changes.
Graphite manages stacked pull requests across dependent code changes.
What it should move: it shortens review cycles and time from completed code to merge.
Best fit
- It fits teams that split changes into small, dependent pull requests.
- Shopify uses Graphite for stacked pull requests and code review workflows.[9]
The catch
Engineers must learn the stacked-change process. Teams must agree on branch rules and fallback Git workflows.
Snyk finds vulnerabilities in code, dependencies, containers, and infrastructure definitions.
What it should move: it shortens remediation and finds more security issues before release.
Best fit
The catch
Scanning can create a large backlog. Teams need rules for access, false positives, priorities, and remediation owners.
Seer connects production errors to code context, causes, and proposed fixes.
What it should move: it shortens the path from a production error to a reviewable fix.
Best fit
The catch
Telemetry can contain customer and operations data. Control access and retention, and require engineers to review proposed fixes.
Linear stores engineering issues, projects, roadmaps, and delivery status.
What it should move: teams resolve issues sooner, keep backlogs clear, and coordinate releases.
Best fit
The catch
Linear cannot fix unclear priorities or large backlogs. Assign owners for issue migration, project workflows, and connections to development tools.
Where to start
Developers work mainly in editors
Compare Cursor and GitHub Copilot on your repositories, languages, and review process.
Developers work mainly in terminals
Use Claude Code for scoped tasks where engineers can review commands, tests, and file changes together.
Pull requests wait for review
Use CodeRabbit for the first review, and use Graphite when dependent pull requests create delays.
Incidents take too much time
Connect Sentry context to code, but keep diagnosis and production changes inside your incident and review process.
Questions
References
- 01Box: how it uses CursorCursorVendor-published
- 02Vercel: how it uses CursorCursorVendor-published
- 03Rakuten: how it uses Claude CodeAnthropicVendor-published
- 04Ramp: how it uses Claude CodeAnthropicVendor-published
- 05ASOS: how it uses GitHub CopilotGitHubVendor-published
- 06Duolingo: how it uses GitHub CopilotGitHubVendor-published
- 07Abnormal AI: how it uses CodeRabbitCodeRabbitVendor-published
- 08LeoLabs: how it uses CodeRabbitCodeRabbitVendor-published
- 09Shopify: how it uses GraphiteGraphiteVendor-published
- 10Salesforce: how it uses SnykSnykVendor-published
- 11Pearson: how it uses SnykSnykVendor-published
- 12Bolt: how it uses Sentry with SeerSentryVendor-published
- 13Factory: how it uses Sentry with SeerSentryVendor-published
- 14Automattic: how it uses LinearLinearVendor-published
- 15Retool: how it uses LinearLinearVendor-published