How we rank: AI Coding Assistants
The Score (0–100) is a weighted sum of the factors below. Each factor is the weighted average of its metrics; each metric is calculated from one published fact. Missing facts score zero, and a service is ranked only when enough of its Score is backed by facts.
A service is ranked only when at least 70% of its Score is backed by verified facts.
Code privacy 30%
On the cheapest paid plan for one developer: whether code is kept out of model training by default and whether you can opt out. Plus whether a zero data retention mode exists (on any plan) and a current SOC 2 Type II or ISO 27001 certification.
| Metric | Rule |
|---|---|
| Code not used for training by default | Yes = 100, No = 0 |
| Can opt out of training on your code | Yes = 100, No = 0 |
| Zero data retention mode | Yes = 100, No = 0 |
| SOC 2 Type II or ISO 27001 | Yes = 100, No = 0 |
Features 30%
How many editors and IDEs are supported according to the official list (logarithmic, full score from 10; the JetBrains family counts as one), whether there is a terminal agent (CLI), an agent mode that edits several files on its own, and a self-hosted deployment option.
| Metric | Rule |
|---|---|
| Supported IDEs and editors | Logarithmic, full score at 10 |
| Terminal agent (CLI) | Yes = 100, No = 0 |
| Agent mode (multi-file edits) | Yes = 100, No = 0 |
| Self-hosted deployment | Yes = 100, No = 0 |
Price 25%
Whether there is a permanent free plan (trials don't count) and the monthly price of the cheapest paid individual plan billed monthly: $0 scores 100, $40 or more scores 0.
| Metric | Rule |
|---|---|
| Free plan | Yes = 100, No = 0 |
| Cheapest paid plan, per month | Linear from 0 (100) to 40 (0) — lower is better |
Transparency 15%
Age of the company behind the product (15+ years gets full score), a public status page, and whether official pages name the AI models the assistant runs on.
| Metric | Rule |
|---|---|
| Company founded | Full score at 15+ years |
| Public status page | Yes = 100, No = 0 |
| Models disclosed | Yes = 100, No = 0 |