Comby
comby.dev
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 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.
Spec sheet
- Purpose
- Comby is a tool for searching and changing code structure using lightweight templates.Read 8 Oct 2026 · comby.dev
- Support
- The help page directs users to the Gitter channel for usage questions and pattern-writing help, and to GitHub issues for installation problems.Read 8 Oct 2026 · comby.dev
- License
- The public comby-tools/comby GitHub repository identifies its license as Apache-2.0.Read 8 Oct 2026 · github.com
- 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.Read 4 Oct 2026 · comby.dev
- 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.Read 8 Oct 2026 · comby.dev
- Editor integrations
- The projects page links to an Emacs package and a prototype VS Code extension.Read 4 Oct 2026 · comby.dev
- Install options
- The site provides installation instructions for macOS, Ubuntu, Windows through Ubuntu on WSL, and Docker, and also describes building from source.Read 4 Oct 2026 · comby.dev
- Installation
- The getting-started page documents installation on macOS with Homebrew, Ubuntu with a shell installer, Windows through Ubuntu on WSL, and Docker.Read 8 Oct 2026 · comby.dev
- Integration
- Comby can be used through Python bindings, its command line, or HTTP requests to a server run on the user's machine.Read 4 Oct 2026 · comby.dev
- 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.Read 8 Oct 2026 · comby.dev
- Interactive review
- Comby supports an interactive review mode for proposed changes.Read 4 Oct 2026 · github.com
- Language awareness
- Comby understands basic syntax for code, strings, and comments in many languages.Read 8 Oct 2026 · comby.dev
- Language coverage
- Comby lists basic parsers for languages including C/C++, Go, JavaScript, Python, Rust, and TypeScript, with a generic matcher for other formats.Read 4 Oct 2026 · comby.dev
- 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.Read 8 Oct 2026 · comby.dev
- Notable limitation
- Comby does not currently treat indentation as significant, which limits support for matching indentation-sensitive structures such as Python blocks.Read 8 Oct 2026 · comby.dev
- Refactoring
- The site describes Comby as useful for large scale refactoring and one off code changes.Read 4 Oct 2026 · comby.dev
- Rewrite helpers
- Built-in rewrite properties can change letter case and provide match lengths, positions, and file context.Read 8 Oct 2026 · comby.dev
- Security and compliance
- The opened product and documentation pages do not state security certifications or compliance claims.Read 4 Oct 2026 · comby.dev
- Self hosting
- The project can be built from source, and the getting-started page describes building it for other platforms or local development.Read 8 Oct 2026 · comby.dev
- Structural matching
- Comby matches balanced delimiters such as parentheses, brackets, and braces while accounting for comments and string literals.Read 8 Oct 2026 · comby.dev
- Use cases
- Documented uses include large-scale refactoring, structural code search, fuzzing, editor find-and-replace, and academic research.Read 8 Oct 2026 · comby.dev
Strong points and limits
Strong points
- Free and open source under Apache-2.0
- Matches balanced code delimiters
- Interactive review for proposed rewrites
- Command-line, Python, and HTTP interfaces
- Installations for macOS, Ubuntu, WSL, and Docker
Limits
- Indentation is not treated as significant
- Not suited to formatting changes such as line wrapping
- API rewrite ranges report line and column as -1
- Windows use is documented through Ubuntu on WSL
Who it suits
Comby suits developers performing structural code search, broad refactoring, or targeted code changes across a codebase. It also fits users who want command-line, Python, HTTP, or self-hosted integration.
Verdict
Comby provides syntax-aware template matching for refactoring and code search without requiring a full language-specific toolchain. Its indentation and API range limitations matter for formatting-sensitive work and integrations that need exact positions.
Where Specifiction places it
- Code Search Tools#15 of 427.7
- Code Refactoring Tools#12 of 227.7