By language

AI code review, one language at a time.

How LGTM reviews PRs in each of the 8 languages we index. Per-language bug patterns we catch, tree-sitter coverage notes, setup gotchas, and cost-per-review math on BYOK. Pick your stack:

TypeScript

AI code review for TypeScript: LGTM catches type-narrowing bugs, unsafe assertions, async race conditions, React stale-closure bugs, and unused exports — across the diff and the wider repo context.

Python

AI code review for Python: LGTM catches mutable-default-argument bugs, missing await on coroutines, missing type hints on public APIs, unsafe subprocess, and SQL injection — with full repo context.

Go

AI code review for Go: LGTM catches ignored errors, shadowed variables in if-bodies, goroutine leaks, missing context.Context plumbing, unsafe nil-pointer derefs, and missing defer cleanup.

Rust

AI code review for Rust: LGTM catches lifetime annotation issues, unnecessary unsafe blocks, missed `?` short-circuits, Arc/Rc misuse, and panics in library code — beyond what the borrow checker flags.

Java

AI code review for Java: LGTM catches potential NPEs, mutable collection leaks from getters, thread-safety smells, missing equals/hashCode pairs, and Spring Boot anti-patterns.

JavaScript

AI code review for JavaScript: LGTM catches == vs === bugs, missing await on Promises, unhandled rejections, and event-listener cleanup leaks.

Ruby

AI code review for Ruby: LGTM catches N+1 query patterns, dangerous send + eval calls, missing strong-params on Rails controllers, monkey-patch surprises, and unsafe deserialization.

C++

AI code review for C++: LGTM catches undefined behavior risks, dangling references, missing RAII patterns, integer overflow, smart-pointer misuse, and concurrency hazards in modern (C++17/20/23) code.

Looking for the full feature page?

For the architecture deep dive on LGTM's 6-agent review pipeline, tree-sitter context indexer, BYOK model, and synthesizer — across all languages — head to the product page.