Comby vs Spoon
Comby
comby.devSpoon
spoon.gforge.inria.frSide by side
| Figure | Comby | Spoon |
|---|---|---|
| Price from | — | Free |
| Free plan | — | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | — |
| macOS | Yes | — |
| Linux | Yes | Yes |
| API | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 0 | 1 |
| Spec score · Code Refactoring Tools | 7.7 (#12) | 7.8 (#10) |
| Install options | The site provides installation instructions for macOS, Ubuntu, Windows through Ubuntu on WSL, and Docker, and also describes building from source. | The documentation describes using Spoon from Java, the command line, Maven, or Gradle, and downloading its dependency jar from Maven Central for command-line use. |
| License | The public comby-tools/comby GitHub repository identifies its license as Apache-2.0. | Spoon is free and open source under the CeCILL-C and MIT licenses. |
| Purpose | Comby is a tool for searching and changing code structure using lightweight templates. | Spoon is an open-source library for analyzing, rewriting, transforming, and transpiling Java source code. |
| Refactoring | The site describes Comby as useful for large scale refactoring and one off code changes. | The documentation describes local-variable and generic-variable refactoring helpers, as well as a helper for removing deprecated methods. |
| Support | The help page directs users to the Gitter channel for usage questions and pattern-writing help, and to GitHub issues for installation problems. | The site directs users seeking professional development, training, or extension support to comment on a GitHub issue. |
Plans
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.
Spoon
Spoon is a free, open-source library for analyzing, rewriting, transforming, and transpiling Java source code. It parses source files into an abstract syntax tree (AST), then exposes APIs for inspecting and changing that model. Processors can perform source-level static analysis on selected AST element types, while architectural rules can be expressed as AST checks and run as JUnit tests in continuous integration. Transformation facilities cover instrumentation and refactoring, including helpers for local and generic variables and removing deprecated methods. Spoon can also provide shared analysis of binary and source code through CtClass objects as an alternative to Java reflection. The project supports Java source up to Java 25, but runtime requirements vary: Spoon 11.x needs JDK 17 or later, 10.x needs JDK 11 or later, and 9.x needs Java 8. It is available through Java, the command line, Maven, and Gradle, with a dependency JAR on Maven Central. Command-line use requires manual classpath handling and source dependencies specified with --source-classpath. Spoon is an official Inria project and an OW2 consortium member.