The CodeNarc project provides a static analysis tool for Groovy code.



Hamlet D'Arcy Chris Mair Marcin Erdmann Dominik Przybysz Artur Gajowy Rusty Yuriy Chulovskyy (Iurii Chulovskyi) Jenn Strater Maciej Ziarko Dominik Broj René Scheibe Matias Bjarland Tomasz Przybysz Marcin Gryszko Sébastien Launay Dan Tanner Kyle Boon Christian Murphy Andrey Adamovich Mike Kobit Marcus Rosenow Daniel Spilker John Engelman Jeff Beck

See all contributors


CodeNarc (

Maven Central Build Status

CodeNarc is a static analysis tool for Groovy source code, enabling monitoring and enforcement of many coding standards and best practices. CodeNarc applies a set of Rules (predefined and/or custom) that are applied to each Groovy file, and generates an HTML or XML report of the results, including a list of rules violated for each source file, and a count of the number of violations per package and for the whole project.

CodeNarc is similar to popular static analysis tools such as PMD or Checkstyle. Unlike those tools which analyze Java code, CodeNarc analyzes Groovy code.


CodeNarc requires

  • Groovy version 2.1 or later
  • The SLF4J api/implementation jars, accessible on the CLASSPATH.
  • The GMetrics jar, version 1.0 or later -- optional if using some of the size/complexity rules.


For projects built using Gradle or Maven, CodeNarc is available from the Maven Central Repository.

  • groupId = org.codenarc
  • artifactId = CodeNarc


When contributing to CodeNarc, run the following command to test on your local machine.

./gradlew check