Skip to content
Published on

Code Quality & Static Analysis 2026 Deep Dive — SonarQube · CodeClimate · Codacy · DeepSource · Qodo Cover · Snyk Code · Semgrep · ESLint

Authors

"You spend ten times more time reading code than writing it. That is why making code easier to read matters far more than making it easier to write." — Robert C. Martin, Clean Code

Static analysis traces back to Lint (lint.c, Stephen C. Johnson, Bell Labs, 1978) and has evolved for nearly 50 years, but the 2020s brought another explosive reshuffling of the landscape. Rust-rewritten tools (Biome, Oxlint, Ruff), AI-powered code review (GitHub Copilot for Code Review, Greptile, CodeRabbit, Cursor Bugbot), and lightweight pattern-based SAST (Semgrep) are rapidly displacing the heavy, slow incumbents.

As of May 2026, the code quality ecosystem has fragmented into five large categories: Platforms, SAST engines, per-language linters, AI review, and adjuncts (coverage, mutation, fuzz, secret scanning). This post covers SonarQube, CodeClimate, Codacy, DeepSource, Qodana, Qodo Cover, Semgrep, CodeQL, Snyk Code, Veracode, Checkmarx, ESLint 9, Biome, Ruff, golangci-lint, clippy, GitHub Copilot Code Review, Greptile, CodeRabbit, Trivy, GitGuardian, and TruffleHog in a single sweep.

1. What Static Analysis Catches — Bug · Smell · Vulnerability · Complexity

Static analysis inspects code without running it, looking only at source text (or AST, IR, CFG) to find defects. The defects fall into four buckets.

BucketDefinitionExamples
BugCode likely to misbehave at runtimeNullPointerException, off-by-one, unused variable
Code SmellMaintainability hazards even if correctLong methods, high Cyclomatic Complexity, duplicate code
VulnerabilityExploitable security defects (CWE classification)SQL Injection, XSS, Hardcoded Secret, Path Traversal
HotspotSecurity-sensitive code that needs human revieweval() calls, weak crypto, debug logs

SonarQube covers all four and exposes them via four grades (A through E): Reliability (Bug), Maintainability (Smell), Security (Vulnerability), Security Review (Hotspot). SAST-only tools like Semgrep and Snyk Code focus on vulnerabilities, while linters like ESLint and Ruff focus on bugs and smells.

The first selection criterion is always whether you primarily want to catch security defects, maintainability problems, or both — no single tool does it all well.

2. SAST · DAST · IAST · SCA — The Confusing Quartet

Application security analysis splits into four major techniques, each with different timing and perspective.

TechniqueFull NameTimingRepresentative Tools
SASTStatic Application Security TestingPre-build / CISonarQube, Semgrep, CodeQL, Snyk Code, Veracode, Checkmarx, Fortify
DASTDynamic Application Security TestingRuntime (production)OWASP ZAP, Burp Suite, Acunetix, Rapid7 InsightAppSec
IASTInteractive Application Security TestingRuntime (instrumented)Contrast Security, Checkmarx IAST, HCL AppScan
SCASoftware Composition AnalysisDependency scanningSnyk Open Source, Dependabot, Renovate, OWASP Dependency-Check, Mend, JFrog Xray

SAST analyzes source directly, so it generates more false positives but provides fast feedback before the build. DAST looks at the running app. IAST sits between the two with a runtime agent that observes execution. SCA inspects dependencies (package.json, pom.xml, go.sum) for known CVEs rather than the code itself.

The 2026 trends are Shift Left (catch defects in development) and DevSecOps (embed security in CI/CD), which has accelerated SAST + SCA integrated solutions (Snyk, Sonar, Veracode, etc.).

3. SonarQube 10.x / SonarCloud — 27-Language Market Leader

SonarQube (SonarSource, Geneva, Switzerland) launched in 2008 and remains the oldest and most widely used code quality platform. SonarQube 10.x (released 2024) has these characteristics.

  • Language support: Java, JavaScript, TypeScript, Python, C#, Go, Rust, Kotlin, Swift, PHP, Ruby, C/C++, Scala, and more — 27 languages total
  • Editions: Community (MIT license, free, self-hosted), Developer (from $170/year/100K LOC), Enterprise, Data Center
  • Cloud variant: SonarCloud (free for open source, LOC-based pricing for private code)
  • Sonar Way ruleset: A default profile bundling 5,000+ rules across languages
  • Quality Gate: PR gating conditions (e.g., New code coverage ≥ 80%, New code reliability rating ≥ A)
  • Clean as You Code: A philosophy of evaluating only new code to drive gradual improvement
  • SonarLint: IDE plugin (IntelliJ, VS Code, Eclipse, Visual Studio) for real-time detection

A standard GitHub Action workflow for SonarCloud:

name: SonarCloud
on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

jobs:
  sonarcloud:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0  # SonarCloud needs full history
      - uses: SonarSource/sonarqube-scan-action@v3
        env:
          SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
        with:
          args: >
            -Dsonar.projectKey=my-org_my-repo
            -Dsonar.organization=my-org
            -Dsonar.javascript.lcov.reportPaths=coverage/lcov.info

Over 70% of large Korean and Japanese enterprises — NAVER, Kakao, LINE Yahoo, Toss — run SonarQube Enterprise internally, and a subset has been migrating to SonarCloud since 2024.

4. CodeClimate Quality + Velocity — Former Leader, Now Stagnant

CodeClimate (New York, USA) launched in 2011 and was once the flagship GitHub-integrated code quality tool. It ships two product lines.

  • CodeClimate Quality (formerly Classic): Static analysis, coverage, PR comments configured via .codeclimate.yml
  • CodeClimate Velocity (engineering metrics: PR cycle time, review time)

In 2024 CodeClimate launched Qlty, a next-generation code quality platform that effectively succeeds CodeClimate Quality. Qlty unifies 50+ open source linters (ESLint, Ruff, RuboCop, golangci-lint, SwiftLint) behind a single interface.

CodeClimate's strengths were CC.Coverage integration (the pre-Codecov/Coveralls standard) and natural GitHub PR comments, but it has steadily lost share to DeepSource, Codacy, and SonarCloud through the 2020s, with new sign-ups stagnating after 2024.

5. Codacy — Open Source + Cloud, Multi-Language

Codacy (Lisbon, Portugal) is a cloud-based code quality platform founded in 2012 that integrates 40+ languages and 50+ open source analyzers.

  • Editions: Free (open source), Pro (from $15/user/month), Enterprise (self-hosted Codacy Self-Hosted)
  • Integrated engines: ESLint, Pylint, RuboCop, golangci-lint, PMD, Checkstyle, Bandit, Brakeman, and more
  • Codacy Coverage: A Codecov/Coveralls alternative
  • Quality Standards: Team-wide code quality policy (SLA, grade, zero-new-defects policies)
  • Pulse: Engineering metrics (deployment frequency, lead time)

Codacy supports more languages and engines than SonarCloud, but the depth of a single ruleset typically rates lower. CyberAgent in Japan and parts of LINE Plus in Korea use Codacy.

6. DeepSource — Fast Managed SAST + Autofix

DeepSource (Bangalore, India) launched in 2018 and has grown quickly on the strength of speed and a clean UX.

  • Language support: Python, Go, JavaScript/TypeScript, Ruby, PHP, Java, C#, Scala, Kotlin — 16 languages
  • Autofix: Generates automatic PR patches for 70%+ of defects
  • Transformers: One-shot runs of Black, isort, Prettier, gofmt, RuboCop autocorrect
  • Custom Issues: User-defined rules (Semgrep rule compatible)
  • Editions: Free (open source), Team (from $12/user/month), Business, Enterprise (self-hosted)

DeepSource's differentiator is speed. Analyses that take 10–30 minutes on SonarQube finish in 1–3 minutes on DeepSource. Coupang, Karrot, and parts of Mercari use it.

7. Qodana — IntelliJ Inspections as SAST

Qodana (JetBrains, Prague, Czechia) launched in 2020 and brings the JetBrains IDE inspection engine — the one built into IntelliJ IDEA, PyCharm, GoLand — to CLI and CI as the same engine.

  • Language support: Java, Kotlin, Go, PHP, JavaScript/TypeScript, Python, .NET — whatever JetBrains IDEs support
  • Docker images: Distributed as jetbrains/qodana-jvm-community:2024.3 and similar
  • License Audit: Detects dependency license conflicts
  • Editions: Community (open source, Java/Kotlin/PHP free), Ultimate (from $15/user/month), Ultimate Plus (with security)
  • Qodana Cloud: SaaS dashboard with deep TeamCity integration

Qodana's strength is IntelliJ inspection accuracy. Java/Kotlin/.NET analysis is widely considered best-in-class. Outside the JetBrains ecosystem (Python, JS), it generally trails SonarQube.

8. Qodo Cover (formerly CodiumAI Cover) — AI Test Generation

Qodo Cover (formerly CodiumAI Cover, Tel Aviv, Israel) launched in 2023 and was rebranded from CodiumAI to Qodo in 2024.

  • How it works: An LLM (GPT-4, Claude) reads a function's signature and body, generates candidate test cases, runs them, and keeps only the passing ones
  • Language support: Python, JavaScript/TypeScript, Java, Go, C# (expanding rapidly since 2025)
  • Differentiator: Not just generation — a mutation testing + coverage feedback loop keeps only meaningful tests
  • Editions: Qodo Gen (IDE plugin, free/Pro), Qodo Cover (CI/CD), Qodo Merge (PR review)

Qodo Cover targets not just line coverage but branch coverage and mutation score. IBM and JPMorgan adopted it in 2025, and Mercari R&D ran an internal PoC.

9. Semgrep 1.x — Fast Pattern-Based SAST

Semgrep (San Francisco, USA, founded as r2c and rebranded to Semgrep Inc. in 2022) launched in 2019 as a pattern-based SAST. It combines AST matching with dataflow analysis, enabling fast and expressive rule authoring.

  • Language support: 30+ languages (JavaScript, TypeScript, Python, Go, Java, Kotlin, Ruby, C#, C/C++, Rust, Swift, Scala, PHP, Bash, YAML, Terraform, and more)
  • Speed: 5–10x faster than CodeQL; you can run a partial scan against SonarQube findings
  • Rule authoring: Use code as the pattern, with metavariables ($X, $Y) and boolean combinators like pattern-either and pattern-not
  • Registry: 2,500+ community rules
  • Editions: Semgrep CLI (open source, LGPL), Semgrep AppSec Platform (paid, Pro rules), Semgrep Supply Chain (SCA)

A simple Semgrep rule illustrates the model:

rules:
  - id: jwt-hardcoded-secret
    pattern: jwt.sign($PAYLOAD, "...")
    message: JWT signing secret is hardcoded as a string literal
    severity: ERROR
    languages: [javascript, typescript]

Coupang adopted Semgrep as an internal security gate in 2023. Mercari runs Semgrep + CodeQL together on every PR via GitHub Actions. NAVER supplements SonarQube rulesets with Semgrep on certain teams.

10. CodeQL — The Engine Behind GitHub Code Scanning

CodeQL (GitHub, San Francisco) came from Semmle (Oxford, UK), acquired by GitHub in 2019. Its approach: convert code into a database and query it.

  • Language support: C/C++, C#, Go, Java, JavaScript/TypeScript, Python, Ruby, Swift, Kotlin — 10 languages
  • Free tier: GitHub Advanced Security is free on all public repositories
  • GitHub Code Scanning: CI integration via github/codeql-action
  • CodeQL CLI: Build databases locally and run queries
  • Rule authoring: QL (a declarative language similar to SQL) — steep learning curve, but the most expressive ruleset available

CodeQL's deep dataflow analysis excels at taint tracking (following user input to sinks), but analyses take 10–30 minutes on average, so running it on every PR over large codebases is expensive. The common pattern is Semgrep + CodeQL together.

11. Snyk Code (formerly DeepCode) — AI-Driven Security SAST

Snyk Code (Zurich, Switzerland → Snyk, headquartered in Boston, USA) is based on DeepCode, which Snyk acquired in 2020. It is an ML-driven SAST that learns known security patterns and detects their variants.

  • Language support: JavaScript, TypeScript, Python, Java, C#, Go, PHP, Ruby, Swift, Kotlin, Scala, C/C++
  • DeepCode AI Fix: AI-generated patches for findings (GA in 2024)
  • Speed: Average 1–3 minutes, well-suited to PR integration
  • Integrations: GitHub, GitLab, Bitbucket, Azure DevOps, IDE plugins (VS Code, IntelliJ)
  • Editions: Free (individual, 100 scans/month), Team, Enterprise

Snyk Code's strength is the bundle: Snyk Open Source (SCA), Snyk Container, Snyk IaC all live on the same dashboard. Kakao Entertainment, LINE Pay, and Mercari use it.

12. Veracode / Checkmarx / Fortify — The Enterprise SAST Triumvirate

Veracode (Boston, founded 2006) is the flagship SaaS enterprise SAST with heavy footprints in finance and government. It bundles Static Analysis, DAST, SCA, IAST, and Penetration Testing, and is strong on compliance (SOC 2, ISO 27001, FedRAMP).

Checkmarx (Tel Aviv, founded 2006) offers both on-premise and cloud SAST. It is known for high precision and is preferred by finance and telecom. Checkmarx One unifies SAST, SCA, IaC, Container, and API Security.

Fortify (OpenText, formerly Micro Focus, originally HP) was founded in 1996 — one of the oldest enterprise SAST vendors — and supports legacy languages like COBOL and ABAP. After the OpenText acquisition in 2024, the lineup is Fortify Static Code Analyzer + Application Defender.

The trio share two traits: annual licensing in the hundreds of thousands to millions of dollars, and on-premise deployment as the default. Modern SaaS (Snyk, Sonar, Semgrep) is eating share, but government and finance still lean heavily on the trio.

13. ESLint 9 Flat Config — The De Facto Standard for JS/TS

ESLint (Nicholas C. Zakas, 2013) is the de facto JavaScript/TypeScript linting standard, and ESLint 9 (released 2024) brought major changes.

  • Flat Config: .eslintrc.json/.cjs/.yamleslint.config.js (ES Module based)
  • Node.js 18+ required
  • TypeScript ESLint 8 ships as the matching major (@typescript-eslint/parser v8)
  • Bulk Suppressions: Temporarily ignore many violations in legacy code
  • --inspect-config: Trace which rules apply to which files

A Flat Config example:

// eslint.config.js
import js from '@eslint/js'
import tseslint from 'typescript-eslint'
import react from 'eslint-plugin-react'

export default [
  js.configs.recommended,
  ...tseslint.configs.recommended,
  {
    files: ['**/*.{ts,tsx}'],
    plugins: { react },
    rules: {
      'no-console': 'warn',
      '@typescript-eslint/no-unused-vars': 'error',
    },
  },
]

The plugin ecosystem is vast — eslint-config-next (Next.js), eslint-config-airbnb (Airbnb), eslint-plugin-vue (Vue), eslint-plugin-svelte (Svelte), and so on. Plugin naming generally follows the eslint-config-<name> convention.

14. Biome / Oxlint — JS/TS Tooling Rewritten in Rust

Biome (Rome Tools rebranded to Biome in 2023, Italy/Remote) is a formatter + linter unified tool written in Rust. It has emerged as the fast alternative to ESLint + Prettier.

  • Speed: 25–35x faster than ESLint + Prettier
  • biome check: Formatting + linting + import sorting in one pass
  • Language support: JavaScript, TypeScript, JSON, CSS, GraphQL (HTML and Markdown added in 2025)
  • Compatibility: Roughly 200 ESLint rules migrated 1:1

Oxlint (Oxc, led by Korean developer Boshen since 2023) is a Rust-based linter targeting 100% ESLint compatibility.

  • Speed: 50–100x faster than ESLint
  • Compatibility: Native implementations of some eslint-plugin-react, eslint-plugin-jsx-a11y, and typescript-eslint rules
  • 1.0 GA in November 2024
  • Adopted by Shopify, Vercel, Discord, Airbnb

Toss migrated its entire internal monorepo from ESLint to Biome in 2024, and Kakao introduced Oxlint on selected frontend teams.

15. Ruff — Python Tooling Rewritten in Rust

Ruff (Astral, USA, since 2022) is a Rust-based Python linter + formatter that consolidates portions of flake8, black, isort, pyupgrade, pydocstyle, and pylint into a single tool.

  • Speed: 10–100x faster than flake8, processes 100K LOC under one second
  • Rule compatibility: 800+ rules from pylint, flake8, isort, bandit, etc. natively reimplemented
  • ruff check + ruff format: Formatting integrated
  • 0.6.x in 2024 → 1.0 GA in 2025
  • Adopters: pandas, Apache Airflow, FastAPI, Pydantic, Hugging Face, Databricks, Mozilla

Python static type checkers exist separately.

  • mypy (Jukka Lehtosalo, since 2012): The original Python type checker
  • Pyright (Microsoft, since 2019): A TypeScript-style fast type checker; the engine behind VS Code's Pylance
  • Pylint (since 2003): The oldest comprehensive linter; many rules, slow
  • Pydantic (Samuel Colvin, since 2017): A runtime type validation library; not a static analyzer but complementary

16. Go / Rust / Java — Per-Language Standards

The Go standard is golangci-lint.

  • Runs 50+ linters (govet, errcheck, gofmt, staticcheck, gosec, ineffassign, unused, gosimple) in a single pass
  • Configured via .golangci.yml
  • Kubernetes, Prometheus, Cilium, Vitess all use it

staticcheck (Dominik Honnef): Bundled into golangci-lint but powerful as a standalone Go analyzer. gosec: A Go-only security scanner for hardcoded secrets, SQL injection, and similar.

Rust standardizes on cargo clippy (official linter) + cargo fmt (official formatter). Clippy ships 600+ rules and supports auto-fix via cargo clippy --fix.

Java:

  • Error Prone (Google, since 2014): A compiler plugin Google runs across its Java code; pairs with annotations like @SuppressWarnings
  • Checkstyle (since 2001): Style enforcement
  • PMD (since 1999): A general-purpose static analyzer
  • SpotBugs (formerly FindBugs, since 2017): Bytecode-based bug detection
  • Sonar Java: SonarQube's Java analyzer, 1,000+ rules

17. Other Languages — C/C++ · Ruby · Kotlin · Swift · PHP

C/C++:

  • clang-tidy (LLVM project): The Clang AST-based comprehensive static analyzer
  • cppcheck (Daniel Marjamäki, since 2007): An open-source C/C++ analyzer
  • Coverity (Synopsys, since 1998): The enterprise C/C++ SAST standard

Ruby: RuboCop (Bozhidar Batsov, since 2012) is the de facto standard. Its rules are split across Style, Layout, Lint, Metrics, Security, and Performance departments.

Kotlin:

  • detekt (since 2017): A Kotlin-only analyzer with 200+ rules
  • ktlint (Pinterest, since 2015): Kotlin formatter + linter

Swift:

  • SwiftLint (Realm, since 2015): The Swift de facto standard
  • SwiftFormat (Nick Lockwood, since 2016): A Swift formatter

PHP:

  • PHPStan (Ondřej Mirtes, since 2016): Progressive type analysis at levels 0–9
  • Psalm (Vimeo, since 2016): A PHPStan-similar type analyzer
  • Rector (since 2018): Automated PHP refactoring (famous for PHP 5 → 8 migrations)

18. AI Code Review — Copilot Code Review · Greptile · CodeRabbit · Cursor Bugbot

In October 2024 GitHub launched Copilot for Code Review (GA), opening the era of AI reviewers commenting on every PR. As of May 2026, the active AI review tools are:

ToolCompanyNotes
GitHub Copilot Code ReviewGitHub/MicrosoftNative GitHub PR integration, GPT-4o based
GreptileGreptile (YC W24)Reviews informed by whole-repo understanding, GPT-4 + Claude
CodeRabbitCodeRabbit (India)Multi-LLM routing, uses reasoning models
BitoBito (USA)AI Code Review Agent + Bito Wingman
Cody ReviewSourcegraphCody Coding Standards (learns your internal rules)
Aviator ReviewerAviator (USA)MergeQueue + AI review
CodeAnt AICodeAnt AI (India)Security + quality unified
DiamondAIDiamond (USA)Claude-based startup
Cursor BugbotAnysphere (Cursor)Launched December 2024, reviews PRs in the background

The value proposition is simple — AI catches the patterns humans miss (null checks, race conditions, wrong log levels) and reduces reviewer cognitive load. False positives remain common, so a final human review remains essential.

Toss, Karrot, and Mercari enabled Copilot Code Review on internal PRs starting in 2025. LINE Yahoo has partially adopted Greptile + CodeRabbit.

19. Code Coverage — Codecov · Coveralls · Codacy Coverage · Qlty

Code coverage measures the share of lines and branches actually executed by tests. It is not static analysis, but it is a core gate metric for code quality.

  • Codecov (since 2014, acquired by Sentry in 2022): The most widely used coverage service; free for open source; coverage-diff comments on GitHub PRs
  • Coveralls (since 2012): The standard before Codecov took over
  • Codacy Coverage: Codacy's bundled coverage feature
  • Qlty (successor to CodeClimate Quality): A new Codecov alternative
  • GitHub Actions + lcov: Self-hosted is also viable

Tools like diff-cover (Open edX) let you measure coverage only on lines changed by a PR, which is the basis of the "ignore legacy code, gate new code" pattern.

20. Mutation Testing · Fuzz Testing — Testing the Tests

Mutation testing measures the quality of the tests themselves. It deliberately mutates code (==!=, +-, &&||) and records "mutation survived" when the tests fail to detect the change.

  • PIT (PITest): Java/Kotlin standard
  • Stryker: JavaScript/TypeScript/C#/Scala
  • mutmut: Python
  • Cosmic Ray: Python
  • mutant: Ruby

Fuzz testing injects random inputs to discover crashes.

  • AFL++ (American Fuzzy Lop successor): The de facto C/C++ fuzzer
  • libFuzzer: LLVM's in-process fuzzer
  • honggfuzz: Google's fuzzer
  • Atheris: Python (Google, libFuzzer-based)
  • OSS-Fuzz: Google's open source fuzzing infrastructure — 8,500+ bugs found since 2016

Go 1.18+ ships native fuzzing via testing.F, and Rust supports it via cargo fuzz. Mercari introduced native fuzzing on selected Go microservices in 2024.

21. Secret Scanning — GitGuardian · TruffleHog · Gitleaks

Secret scanning finds API keys, passwords, and tokens accidentally committed. SonarQube/Semgrep catch some, but specialized tools are stronger.

  • GitGuardian (Paris, France, since 2017): Detects 350+ secret types (AWS Access Key, Stripe Secret, JWT, etc.) via free/paid SaaS + self-hosted
  • TruffleHog (Truffle Security, since 2017): Open source + SaaS, 800+ detectors
  • Gitleaks (since 2018): Open source (MIT), popular as a GitHub Action
  • GitHub Secret Scanning: Free on public repos and via GitHub Advanced Security; 200+ partner integrations

GitHub Push Protection has been free on all public repositories since 2024. Toss, KakaoBank, Mercari, and LINE Yahoo all run GitGuardian Enterprise.

22. Container · IaC Scanning — Trivy · Kics · Checkov · Bearer CLI

Trivy (Aqua Security, since 2019) is the most popular open source security scanner and covers all of the following.

  • OS and language package CVEs in container images
  • IaC (Terraform, CloudFormation, Kubernetes manifests, Helm charts)
  • Dockerfile best practices
  • Secret scanning
  • License audits

Kics (Checkmarx, since 2020): Security and compliance checks for Terraform, CloudFormation, K8s, Docker, Ansible.

Checkov (Bridgecrew → Palo Alto Networks, since 2019): IaC static analysis, 1,000+ policies.

Bearer CLI (UK, open source since 2022): A static analyzer that traces sensitive data (PII, PHI, PCI) through code. Specialized for GDPR/HIPAA compliance.

23. Pre-Commit Hooks — lefthook · pre-commit · husky · lint-staged

Catching defects before commit is always cheaper and faster than catching them in CI. The standard pre-commit hook tools are:

  • lefthook (Evil Martians, originally Ruby, since 2019): A Go binary; the fastest pre-commit hook manager
  • pre-commit (the Python ecosystem standard, since 2014): Configured via .pre-commit-config.yaml; supports non-Python languages as well
  • husky (typicode, since 2014): The Node.js standard; hooks run from package.json scripts
  • lint-staged (since 2016): Pairs with husky to lint "only staged files"
  • simple-git-hooks (toplenboren, since 2020): A lighter alternative to husky

The most common husky + lint-staged setup looks like this:

{
  "lint-staged": {
    "*.{js,ts,jsx,tsx}": ["eslint --fix", "prettier --write"],
    "*.{json,md,yml,yaml}": ["prettier --write"]
  }
}

Toss, Kakao, NAVER, and LINE all use husky + lint-staged as a standard.

24. Korean Adoption — NAVER · Coupang · Toss · Karrot

NAVER: Has run SonarQube Enterprise internally since 2014. Every Java/Kotlin codebase must pass SonarQube Quality Gate as a build gate before merge. Since 2024, some teams have migrated to Sonar Java + Semgrep + GitGuardian.

Coupang: Adopted Semgrep as an internal security gate in 2023. Every PR runs Semgrep + Snyk Open Source + Trivy (containers). Internal rulesets (coupang-rules) are shared in Semgrep rule format.

Toss: Migrated frontend from ESLint to Biome in 2024; Python backend migrated from flake8/black to Ruff. Copilot Code Review + Cursor Bugbot are enabled on internal PRs. Snyk Code is the security gate.

Karrot: Introduced DeepSource Team across the monorepo. Chose cost-effectiveness as the Sonar alternative and uses Autofix aggressively to clean up the internal codebase. CodeRabbit is partially adopted for AI review.

25. Japanese Adoption — Mercari · LINE Yahoo · CyberAgent · SmartHR

Mercari: Has standardized on Semgrep in internal security guidelines since 2020 and added CodeQL via GitHub Code Scanning in 2023. Every PR gets multi-layer analysis: Semgrep + CodeQL + Snyk Code + Trivy + GitGuardian. Internal rules are shared via GitHub Actions Reusable Workflow.

LINE Yahoo: After the merger, the company consolidated to a single SonarQube Data Center Edition instance internally. Roughly 10,000 developers share the instance, and merges to main require a Quality Gate pass. A partial SonarCloud migration PoC began in 2025.

CyberAgent: Deploys Codacy Enterprise on a per-subsidiary basis. The choice reflects the need to cover a multi-language environment (Go, Java, Kotlin, PHP, Python) with a single tool. Bito + CodeRabbit are partially adopted for AI review.

SmartHR: The internal standard is RuboCop + Sider Scan (now Sider, Inc.). It is the best fit for a Ruby monorepo, and Qodo Gen was added in 2025 for IDE-stage AI assistance.

26. Selection Checklist and 2027 Outlook

Selection guidance:

  1. Single language — pair the language's standard linter (ESLint, Ruff, golangci-lint, clippy) with Semgrep and a secret scanner
  2. Polyglot monorepo — use SonarQube, Codacy, or DeepSource for a unified dashboard
  3. Security first — layer Snyk Code + Semgrep + Trivy + GitGuardian for defense in depth
  4. Speed first (frequent large PRs) — Biome/Oxlint (JS), Ruff (Python), Semgrep (SAST) for fast feedback loops
  5. Cleaning up legacy — use auto-fix tools like DeepSource Autofix, Qodo Cover, and Rector (PHP)
  6. Enterprise / regulated — Veracode or Checkmarx + Fortify combinations

2027 outlook:

  • Total takeover by Rust-based tools: Biome, Oxlint, and Ruff will likely capture most of the JS and Python markets
  • AI review standardization: Copilot Code Review becomes the default for all GitHub Enterprise customers
  • LLM auto-fix mainstreaming: Autofix from DeepSource, Snyk Code, and Qodo Cover produces accurate patches for 60%+ of findings
  • Internal-rule learning: Reviewers like Cody Coding Standards and Greptile that learn company-specific styles become standard
  • SAST + SCA + Secret + IaC + Container consolidation: Snyk, Sonar, and Semgrep evolve into single platforms that cover every category

Code quality tools are no longer "nice to have" auxiliaries. In 2026 they are effectively required as PR gates, and how you combine and operate them is the core differentiator in engineering productivity.

27. References

  • SonarQube Docs — https://docs.sonarsource.com/sonarqube/
  • SonarCloud — https://www.sonarsource.com/products/sonarcloud/
  • CodeClimate Quality — https://codeclimate.com/quality
  • Qlty — https://qlty.sh/
  • Codacy — https://www.codacy.com/
  • DeepSource — https://deepsource.com/
  • Qodana (JetBrains) — https://www.jetbrains.com/qodana/
  • Qodo (formerly CodiumAI) — https://www.qodo.ai/
  • Semgrep — https://semgrep.dev/
  • CodeQL — https://codeql.github.com/
  • Snyk Code — https://snyk.io/product/snyk-code/
  • Veracode — https://www.veracode.com/
  • Checkmarx — https://checkmarx.com/
  • OpenText Fortify — https://www.opentext.com/products/fortify-static-code-analyzer
  • ESLint 9 Release — https://eslint.org/blog/2024/04/eslint-v9.0.0-released/
  • Biome — https://biomejs.dev/
  • Oxlint (Oxc) — https://oxc.rs/docs/guide/usage/linter.html
  • Ruff (Astral) — https://docs.astral.sh/ruff/
  • golangci-lint — https://golangci-lint.run/
  • Bearer CLI — https://github.com/Bearer/bearer
  • GitGuardian — https://www.gitguardian.com/
  • TruffleHog — https://github.com/trufflesecurity/trufflehog
  • Gitleaks — https://github.com/gitleaks/gitleaks
  • Trivy (Aqua) — https://trivy.dev/
  • Kics (Checkmarx) — https://kics.io/
  • Checkov — https://www.checkov.io/
  • GitHub Copilot Code Review — https://docs.github.com/en/copilot/using-github-copilot/code-review/using-copilot-code-review
  • Greptile — https://www.greptile.com/
  • CodeRabbit — https://www.coderabbit.ai/
  • Cursor Bugbot — https://docs.cursor.com/bugbot
  • Codecov — https://about.codecov.io/
  • OSS-Fuzz — https://google.github.io/oss-fuzz/
  • Pre-commit — https://pre-commit.com/
  • Lefthook — https://github.com/evilmartians/lefthook
  • Standard Webhooks (referenced) — https://www.standardwebhooks.com/