- Home
- Code Search Tools
- Comby
Comby
What it is
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, using listed parsers for languages such as C/C++, C#, Go, Java, JavaScript, Python, Rust, Swift, and TypeScript, plus a generic matcher for other formats. Balanced delimiters are matched while comments and string literals are considered. Comby is intended for large refactors and one-off code changes, with an interactive review mode for proposed edits. It can run from the command line, through Python bindings, or via HTTP requests to a server on the user’s machine. Installation instructions cover macOS, Ubuntu, Windows through Ubuntu on WSL, and Docker; source builds are also documented. Linked integrations include an Emacs package and a prototype VS Code extension. It supports self-hosted use and regex search, while API rewrite ranges have documented limitations.
For and against
For
- Open-source and free to use
- Matches balanced code delimiters
- Interactive review for proposed changes
- Command line, Python, and HTTP interfaces
- Supports self-hosted deployment
Against
- Indentation is not treated as significant
- Not suited to formatting changes
- API rewrite ranges report limited positions
- VS Code integration is only a prototype
The verdict
Comby focuses on syntax-aware matching rather than text-only replacement. Its multiple interfaces and self-hosted design fit development teams automating structural code changes.
Who it suits
Comby suits developers performing structural searches, coarse refactoring, or one-off code transformations. It also supports projects such as compiler fuzzing, test reduction, and editor integrations.
On the record
- API limitation
- The API documentation says rewrite ranges currently report line and column as -1, and repeated hole identifiers in a rewrite template currently report only the first range.comby.dev · read 4 Oct 2026
- Best-fit work
- Comby is suited to coarse syntactic matching and refactoring, while the FAQ says it is not well-suited to styling or formatting changes such as inserting line breaks at a set width.comby.dev · read 8 Oct 2026
- Editor integrations
- The projects page links to an Emacs package and a prototype VS Code extension.comby.dev · read 4 Oct 2026
- Installation
- The getting-started page documents installation on macOS with Homebrew, Ubuntu with a shell installer, Windows through Ubuntu on WSL, and Docker.comby.dev · read 8 Oct 2026
- Install options
- The site provides installation instructions for macOS, Ubuntu, Windows through Ubuntu on WSL, and Docker, and also describes building from source.comby.dev · read 4 Oct 2026
- Integration
- Comby can be used through Python bindings, its command line, or HTTP requests to a server run on the user's machine.comby.dev · read 4 Oct 2026
- Integration options
- Comby provides an API reference for building or integrating other tools, and the projects page lists an Emacs package and a prototype VS Code extension.comby.dev · read 8 Oct 2026
- Interactive review
- Comby supports an interactive review mode for proposed changes.github.com · read 4 Oct 2026
- Language awareness
- Comby understands basic syntax for code, strings, and comments in many languages.comby.dev · read 8 Oct 2026
- Language coverage
- Comby lists basic parsers for languages including C/C++, Go, JavaScript, Python, Rust, and TypeScript, with a generic matcher for other formats.comby.dev · read 4 Oct 2026
- Language support
- Comby has basic parsers for languages including C/C++, C#, Go, Java, JavaScript, Python, Rust, Swift, and TypeScript, plus a generic matcher for other formats and languages.comby.dev · read 8 Oct 2026
- License
- The public comby-tools/comby GitHub repository identifies its license as Apache-2.0.github.com · read 8 Oct 2026
- Notable limitation
- Comby does not currently treat indentation as significant, which limits support for matching indentation-sensitive structures such as Python blocks.comby.dev · read 8 Oct 2026
- Purpose
- Comby is a tool for searching and changing code structure using lightweight templates.comby.dev · read 8 Oct 2026
- Refactoring
- The site describes Comby as useful for large scale refactoring and one off code changes.comby.dev · read 4 Oct 2026
- Rewrite helpers
- Built-in rewrite properties can change letter case and provide match lengths, positions, and file context.comby.dev · read 8 Oct 2026
- Security and compliance
- The opened product and documentation pages do not state security certifications or compliance claims.comby.dev · read 4 Oct 2026
- Self hosting
- The project can be built from source, and the getting-started page describes building it for other platforms or local development.comby.dev · read 8 Oct 2026