- Home
- Code Refactoring Tools
- BrontoSource
BrontoSource
What it is
BrontoSource provides deterministic C++ refactoring tools for engineering teams maintaining large, long-lived systems. Users define explicit transformations and apply them across repositories, including operations spanning thousands of files. Documented capabilities include expression matching, extraction, and inlining functions, constructors, type aliases, enumerators, namespaces, macros, declarations, types, lambda captures, and preprocessor macros. The command-line workflow accepts Clang arguments, a compilation database, or compile_flags.txt, then can generate Fossil edits, merge edit files, and apply changes. BrontoSource describes its output as repeatable and traceable diffs for review. The homepage reports 100M+ lines transformed safely and 10,000+ files refactored in one transformation. The refactoring tool is in early access, with invitations to contact the company. Users can try its API through Compiler Explorer without installation. A header-only support library supports CMake 3.10.0+ and Bazel 8.1.1+, uses 0BSD, and compiles to nothing at runtime.
For and against
For
- Explicit repository-wide transformation rules
- Deterministic, traceable diffs
- Supports many C++ constructs
- Compiler Explorer API trial
- CMake and Bazel support
Against
- Tool is in early access
- Pricing is available on request
- Focused on C++
- Requires contacting BrontoSource
The verdict
BrontoSource focuses on controlled, large-scale C++ refactoring rather than AI-assisted changes. Early access and request-based pricing mean interested teams must engage with the maker to evaluate deployment and commercial terms.
Who it suits
It suits engineering teams modernizing very large C++ repositories and needing explicit, reviewable batch transformations. Compiler Explorer access also suits teams evaluating the API before installation.
On the record
- Availability
- The refactoring tool is currently in early access; interested users are asked to contact BrontoSource to try it on their codebase.docs.brontosource.dev · read 8 Oct 2026
- Build support
- The header-only support library has built-in support for CMake 3.10.0+ and Bazel 8.1.1+.docs.brontosource.dev · read 8 Oct 2026
- Build systems
- The header-only support library provides built-in support for CMake 3.10.0+ and Bazel 8.1.1+.docs.brontosource.dev · read 8 Oct 2026
- Compiler input
- The run command accepts Clang arguments or a compilation database or compile_flags.txt file as input.docs.brontosource.dev · read 8 Oct 2026
- Early access
- The refactoring tool is in early access; interested users are asked to contact BrontoSource.docs.brontosource.dev · read 8 Oct 2026
- Expression matching
- Expression patterns can identify source expressions and specify replacement expressions.docs.brontosource.dev · read 8 Oct 2026
- Inlining
- Bronto supports inlining functions, constructors, type aliases, enumerators, namespaces, and macros, with documented requirements for some of these forms.docs.brontosource.dev · read 8 Oct 2026
- Intended use
- Bronto is designed for large-scale refactoring across multiple repositories and very large codebases.docs.brontosource.dev · read 8 Oct 2026
- Intended users
- BrontoSource is designed for engineering teams responsible for large, long-lived systems.brontosource.dev · read 8 Oct 2026
- License
- The support library uses the 0BSD license and compiles to nothing at runtime, according to the getting-started documentation.docs.brontosource.dev · read 8 Oct 2026
- Maker background
- BrontoSource says it was founded in September 2024 by a team of former Google engineers.brontosource.dev · read 8 Oct 2026
- Product
- BrontoSource provides deterministic C++ refactoring tools for modernizing large codebases.brontosource.dev · read 8 Oct 2026
- Purpose
- Bronto is a tool for automatically performing smart find-and-replace across a codebase.docs.brontosource.dev · read 8 Oct 2026
- Refactoring rules
- Users define explicit transformation rules and apply them across thousands of files.brontosource.dev · read 8 Oct 2026
- Reviewable changes
- The site says transformations produce deterministic, repeatable, traceable diffs.brontosource.dev · read 8 Oct 2026
- Scale claim
- BrontoSource states that the tool has refactored 10,000+ files in a single transformation.brontosource.dev · read 8 Oct 2026
- Scale claims
- The homepage reports 100M+ lines transformed safely and 10,000+ files refactored in a single transformation.brontosource.dev · read 8 Oct 2026
- Support
- Users can contact [email protected] or create an issue on the public GitHub repository.docs.brontosource.dev · read 8 Oct 2026