Community rules
Many rules have been developed and published by the community. Follow this documentation to use them in your project.
Help us increase visibility & foster collaboration by submitting your favorite rule(s) via pull requests!
Hygiene rules
Hygiene rules enforce conventions, failing the build on violation or rewriting the code when possible.
Repository | Artifact | Description |
---|---|---|
xuwei-k/scalafix-rules | com.github.xuwei-k::scalafix-rules | Avoid ambiguous or redundant Scala syntax & features |
vovapolu/scaluzzi | com.github.vovapolu::scaluzzi | Ensure a subset of scalazzi |
typelevel/typelevel-scalafix | org.typelevel::typelevel-scalafix | Set of rules to provide automated rewrites and linting for code which makes use of Typelevel libraries |
jatcwang/scalafix-named-params | com.github.jatcwang::scalafix-named-params | Add named parameters for your constructor and method calls |
pixiv/scalafix-pixiv-rule | net.pixiv::scalafix-pixiv-rule | Redundant Scala code rewriting and anti-pattern warnings |
dedis/scapegoat-scalafix | io.github.dedis::scapegoat-scalafix | Scalafix implementation of Scapegoat linter for Scala 3 |
ghostbuster91/scalafix-unified | io.github.ghostbuster91.scalafix-unified::unified | Set of opinionated rules to unify your codebase |
Migration rules
Migration rules make it easier for library users to cope with deprecations and breaking changes.
Official migrations provided by library authors are not advertized here as they are usually well documented in the project itself. Note that Scala Steward keeps track of many of them, to provide a seamless experience to library users opting-in for the service.
Repository | Artifact | Description |
---|---|---|
scala/scala-collection-compat | org.scala-lang.modules::scala-collection-migrations | Rewrite upgrades to the 2.13 collections |
lightbend-labs/scala-rewrites | org.scala-lang::scala-rewrites | Rewrites for Scala |
ohze/scala-rewrites | com.sandinh::scala-rewrites | Rewrites for Scala |
xuwei-k/play-ws-scalafix | com.github.xuwei-k::play-ws-scalafix | Migrate to play-ws-standalone |
tersesystems/echopraxia-scalafix | com.tersesystems.echopraxia::scalafix | Rewrite Echopraxia logging statements |
OlegYch/enumeratum-scalafix | io.github.olegych::enumeratum-scalafix | Replace scala.Enumeration with enumeratum |
Code generation rules
Code generation rules extend the possibilities of the Scala language by taking a route similar, yet parallel to macros.
Repository | Artifact | Description |
---|---|---|
earldouglas/linear-scala | com.earldouglas::linear-scala-scalafix | Add support for linear types in Scala |
typelevel/simulacrum-scalafix | org.typelevel::simulacrum-scalafix-annotations | Simulacrum as Scalafix rules |
rtimush/zio-magic-comments | com.timushev::zio-magic-comments | Add explanatory graphs as comments to zio-magic methods |
hamnis/dataclass-scalafix | net.hamnaberg::dataclass-scalafix | alexarchambault/data-class as a Scalafix rule |
sake92/kalem | ba.sake::kalem-rules | Generate with* methods for classes |