Static Analysis for Groovy: Less Bugs, Better Code

CodeNarc analyzes Groovy code for defects, bad practices, inconsistencies, style issues and more. A flexible framework for rules, rulesets and custom rules means it's easy to configure CodeNarc to fit into your project. Build tool, framework support, and report generation are all enterprise ready.

CodeNarc Rules

CodeNarc triggers violations based on rules. Click the links to the left to view the index of all rules, or individual rule categories (rulesets), such as the basic, or concurrency rules. Or you can create your own ruleset; see how easy it is in this screencast.

Running CodeNarc

Run CodeNarc with the Ant Task, the command-line runner, or as part of your test suite. Also, plugins exist for Maven, Gradle, Grails, Griffon, Sonar and Hudson. See our Integration page for more details. Reports come in HTML, XML, or text format. Take a look at a Sample CodeNarc HTML Report, or a Sample CodeNarc XML Report.


CodeNarc requires:
  • Java 1.6 or later
  • Groovy version 2.3 or later
  • SLF4J API and binding jar(s)
  • GMetrics 1.0 or later, if using the Size/Complexity rules

Get it from Maven2

For projects built using Maven, CodeNarc is available from the Maven Central Repository
  • groupId = org.codenarc
  • artifactId = CodeNarc


We're inspired by the wonderful PMD and Checkstyle Java static analysis tools, as well as the extensive Groovy inspections performed by IntelliJ IDEA.