Comby vs Scalafix
Comby
comby.devScalafix
scalacenter.github.ioSide by side
| Figure | Comby | Scalafix |
|---|---|---|
| Price from | — | — |
| Free plan | — | — |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| API | Yes | — |
| Self-hosted | Yes | — |
| Plans published | 0 | 0 |
| Spec score · Code Refactoring Tools | 7.7 (#12) | 7.0 (#20) |
| Purpose | Comby is a tool for searching and changing code structure using lightweight templates. | Scalafix is a refactoring and linting tool for Scala. |
| Refactoring | The site describes Comby as useful for large scale refactoring and one off code changes. | It can automate day-to-day code health tasks and one-time migration scripts. |
In their own words
Comby
Comby is a free, open-source tool for searching and changing code structure with lightweight templates. It recognizes basic syntax in code, strings, and comments across many languages, with parsers listed for C/C++, C#, Go, Java, JavaScript, Python, Rust, Swift, and TypeScript, plus a generic matcher for other formats. The project targets large refactors and one-off changes, and an interactive review mode lets users inspect proposed edits. Comby can run from its command line, Python bindings, or HTTP requests sent to a server on your machine. Installation instructions cover macOS with Homebrew, Ubuntu, Windows through Ubuntu on WSL, and Docker; building from source is also described. Linked projects include an Emacs package and a prototype VS Code extension. Other uses include structural code search, compiler fuzzing, test-case reduction, editor find and replace, and academic research. Comby matches balanced delimiters while accounting for comments and string literals, and supports regex search. It is self-hosted and available for API, Linux, macOS, and Windows use. The Apache-2.0 license is identified in the public repository.
Scalafix
Scalafix is a refactoring and linting tool for Scala that automates routine code-health work and one-time migrations. It reports patterns that may lead to production bugs or conflict with coding style, and teams can run rules during code review. Its check option fails when linting or fixes are needed. Syntactic rules run directly on source code; semantic rules need compiled sources with the SemanticDB compiler plugin enabled. Built-in rules include OrganizeImports, RemoveUnused, DisableSyntax, ProcedureSyntax, and RedundantSyntax. Developers can also create custom lint and rewrite rules through its public API. The official build integration is for sbt. Documentation also lists externally maintained integrations for scala-cli, Mill, Gradle, Maven, and Mega-Linter, whose integration supports only built-in syntactic rules. Scalafix is tested on macOS, Linux, and Windows. Listed tested Scala versions are 2.12.21, 2.13.18, and 3.9.0 LTS. It is no longer published for Scala 2.11 or sbt 0.13.x. Community help is available through Discord and Scala Users. The tool is free.