awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
detekt avatar

detekt/detekt

0
View on GitHub↗
6,977 stars·844 forks·Kotlin·Apache-2.0·27 viewsdetekt.dev↗

Detekt

Detekt is a static analysis tool, code quality linter, and complexity analyzer for Kotlin source code. It functions as a code smell detector and static scanner designed to identify potential bugs, design flaws, and violations of coding standards without executing the program.

The tool differentiates itself through the use of issue baselining, which allows users to create a snapshot of existing legacy code issues to filter out old violations and focus on preventing new regressions. It further supports extensibility via a plugin-based system that allows for the integration of custom rule sets and third-party plugins.

The project covers a broad range of capabilities including the measurement of cyclomatic complexity, the enforcement of consistent naming conventions, and the generation of analysis reports in multiple formats. These processes can be integrated into build pipelines via plugins for Gradle or Maven to establish automated quality gates.

Features

  • Code Quality and Analysis - Implements static analysis, linting, and formatting to enforce coding standards and identify potential bugs in Kotlin code.
  • Static Code Analysis - Performs static analysis on Kotlin source code to identify bugs, design flaws, and code smells.
  • Code Smell Detectors - Flags suboptimal patterns and technical debt in Kotlin source code to identify potential design flaws.
  • Abstract Syntax Tree Parsers - Uses abstract syntax tree parsers to extract semantic information and detect code smells in Kotlin source code.
  • Kotlin Quality Validators - Enforces idiomatic Kotlin coding standards and naming conventions to ensure codebase consistency.
  • Code Complexity Metrics - Calculates cyclomatic complexity and structural metrics to identify overly complex Kotlin logic.
  • Coding Standards Enforcement - Provides a system to apply configurable rule sets that ensure codebase consistency and adherence to project guidelines.
  • Cyclomatic Complexity Analyzers - Analyzes Kotlin code to measure cyclomatic complexity based on control flow branches.
  • Issue Baselining - Allows users to create a snapshot of existing legacy code issues to filter out old violations and focus on new regressions.
  • Rule Configuration Engines - Implements a configurable engine to manage and customize diagnostic and stylistic rules via YAML.
  • Static Code Analysis Tools - Provides a comprehensive static analysis tool for scanning Kotlin source code without execution.
  • Build Lifecycle Hooks - Hooks the static analysis process into Gradle or Maven build lifecycle stages to automate quality checks.
  • Build Tool Plugins - Ships as a build tool plugin that integrates static analysis into the software build lifecycle.
  • Build Tool Integrations - Integrates the analysis process into standard build tools through plugins to automate quality gates.
  • Baseline Management - Manages baseline snapshots of existing issues to ignore legacy violations during incremental scans.
  • Custom Rule Development - Supports the development of custom validation logic to enforce project-specific coding standards.
  • Analysis Report Serialization - Serializes analysis findings into multiple formats including XML, HTML, and SARIF for external consumption.
  • Rule-Based Plugin Systems - Allows the integration of custom rule sets and third-party plugins via a service provider interface.
  • Static Analysis Reports - Generates static analysis reports that summarize findings and health scores for Kotlin projects.
  • Quality Gates - Establishes quality gates in the build pipeline to block code that does not meet a minimum quality bar.
  • Static Analysis Exporters - Ships a feature for generating analysis findings in multiple formats for sharing with external dashboards and reporting tools.
  • Code Quality - Generates high-level, structured summaries of code quality and complexity issues in formats like XML or SARIF.
  • Linting Regression Baselines - Provides a baselining mechanism to suppress existing legacy code issues and focus on new regressions.
  • Testing & Quality Assurance - Static code analysis for Kotlin
  • Static Analysis Tools - Provides static code analysis specifically for Kotlin-based Android code.

Star history

Star history chart for detekt/detektStar history chart for detekt/detekt

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does detekt/detekt do?

Detekt is a static analysis tool, code quality linter, and complexity analyzer for Kotlin source code. It functions as a code smell detector and static scanner designed to identify potential bugs, design flaws, and violations of coding standards without executing the program.

What are the main features of detekt/detekt?

The main features of detekt/detekt are: Code Quality and Analysis, Static Code Analysis, Code Smell Detectors, Abstract Syntax Tree Parsers, Kotlin Quality Validators, Code Complexity Metrics, Coding Standards Enforcement, Cyclomatic Complexity Analyzers.

Which projects share features with detekt/detekt?

Projects with overlapping indexed features include: checkstyle/checkstyle — Checkstyle is a Java static analysis tool and linter designed to identify and enforce coding standards and best… alibaba/p3c — p3c is a Java static analysis tool and code quality linter designed to enforce professional coding guidelines and… standard/standard — Standard is a suite of static analysis tools for JavaScript, comprising a linter, formatter, and a predefined style… ansible/ansible-lint — ansible-lint is a static code analysis tool and linter designed to identify syntax errors and best practice violations… analysis-tools-dev/static-analysis — This project is a comprehensive, curated directory of static analysis, linting, and security scanning utilities. It… pmd/pmd — PMD is a multi-language static code analyzer used to identify programming flaws, unused variables, and dead code…

Projects sharing features with Detekt

These projects share indexed features with Detekt. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • checkstyle/checkstylecheckstyle avatar

    checkstyle/checkstyle

    8,867View on GitHub↗

    Checkstyle is a Java static analysis tool and linter designed to identify and enforce coding standards and best practices. It functions as a code quality auditor and Javadoc validation tool, checking source code against configurable rulesets to ensure structural and stylistic consistency. The project allows for the creation of custom linting rules by extending a core API to inspect the abstract syntax tree. It further enables specialized validation through the use of XPath expressions to query the syntax tree for specific code patterns and violations. Capability areas include the enforcement

    Javacode-qualitycommand-line-toolhacktoberfest
    View on GitHub↗8,867
  • alibaba/p3calibaba avatar

    alibaba/p3c

    30,827View on GitHub↗

    p3c is a Java static analysis tool and code quality linter designed to enforce professional coding guidelines and quality standards. It utilizes a set of custom rules based on the PMD engine to scan source code for style violations, performance bottlenecks, and potential bugs. The project is distributed as an IDE linting plugin that provides real-time feedback and warnings during development. It also includes functionality for pre-commit code quality gates, allowing modified files to be scanned and blocked if they violate defined rules before being committed to version control. The analysis

    Kotlin
    View on GitHub↗30,827
  • standard/standardstandard avatar

    standard/standard

    29,431View on GitHub↗

    Standard is a suite of static analysis tools for JavaScript, comprising a linter, formatter, and a predefined style guide. It functions as a static code analyzer that scans source code for style violations and potential errors without executing the program. The project provides an automatic code fixer that rewrites source code to resolve formatting issues and enforce syntax consistency. It implements a standardized set of rules for JavaScript formatting and syntax to ensure a uniform appearance across different projects. The system covers a wide range of static analysis capabilities, includi

    JavaScriptdevelopmentecmascriptes6
    View on GitHub↗29,431
  • ansible/ansible-lintansible avatar

    ansible/ansible-lint

    3,876View on GitHub↗

    ansible-lint is a static code analysis tool and linter designed to identify syntax errors and best practice violations within Ansible playbooks and roles. It functions as a quality gate for automation pipelines, scanning configuration files and scripts without executing the code to ensure reliability and consistency. The project distinguishes itself by acting as an automated code formatter that can correct identified linting issues and reformat files to meet community standards. It also serves as a dependency manager, automatically detecting and installing required roles and collections from

    Pythonansibleansible-dev-toolsansible-lint
    View on GitHub↗3,876
  • Compare all 30 related projects→