BrontoSource
brontosource.dev
What it is
BrontoSource is a desktop tool for deterministic C++ refactoring across large repositories. Teams define explicit transformation rules and apply them across thousands of files. Documented operations include expression matching, extraction, and inlining for functions, constructors, type aliases, enumerators, namespaces, macros, declarations, types, and lambda captures. The command-line tool accepts Clang arguments, a compilation database, or compile_flags.txt, then can generate Fossil-format edits, merge edit files, and apply changes. BrontoSource describes its output as repeatable, traceable diffs for review. Its homepage reports 100M+ lines transformed safely and 10,000+ files refactored in one transformation. The product is in early access, with access arranged through BrontoSource; its API can also be tried on Compiler Explorer without installation. Pricing is on request. A header-only support library supports CMake 3.10.0+ and Bazel 8.1.1+ and uses 0BSD.
Spec sheet
- Purpose
- Bronto is a tool for automatically performing smart find-and-replace across a codebase.Read 8 Oct 2026 · docs.brontosource.dev
- Product
- BrontoSource provides deterministic C++ refactoring tools for modernizing large codebases.Read 8 Oct 2026 · brontosource.dev
- Intended users
- BrontoSource is designed for engineering teams responsible for large, long-lived systems.Read 8 Oct 2026 · brontosource.dev
- Support
- Users can contact [email protected] or create an issue on the public GitHub repository.Read 8 Oct 2026 · docs.brontosource.dev
- License
- The support library uses the 0BSD license and compiles to nothing at runtime, according to the getting-started documentation.Read 8 Oct 2026 · docs.brontosource.dev
- Founded
- BrontoSource says it was founded in September 2024 by a team of former Google engineers.Read 8 Oct 2026 · brontosource.dev
- Availability
- The refactoring tool is currently in early access; interested users are asked to contact BrontoSource to try it on their codebase.Read 8 Oct 2026 · docs.brontosource.dev
- Build support
- The header-only support library has built-in support for CMake 3.10.0+ and Bazel 8.1.1+.Read 8 Oct 2026 · docs.brontosource.dev
- Build systems
- The header-only support library provides built-in support for CMake 3.10.0+ and Bazel 8.1.1+.Read 8 Oct 2026 · docs.brontosource.dev
- Compiler input
- The run command accepts Clang arguments or a compilation database or compile_flags.txt file as input.Read 8 Oct 2026 · docs.brontosource.dev
- Early access
- The refactoring tool is in early access; interested users are asked to contact BrontoSource.Read 8 Oct 2026 · docs.brontosource.dev
- Expression matching
- Expression patterns can identify source expressions and specify replacement expressions.Read 8 Oct 2026 · docs.brontosource.dev
- Inlining
- Bronto supports inlining functions, constructors, type aliases, enumerators, namespaces, and macros, with documented requirements for some of these forms.Read 8 Oct 2026 · docs.brontosource.dev
- Intended use
- Bronto is designed for large-scale refactoring across multiple repositories and very large codebases.Read 8 Oct 2026 · docs.brontosource.dev
- Maker background
- BrontoSource says it was founded in September 2024 by a team of former Google engineers.Read 8 Oct 2026 · brontosource.dev
- Refactoring rules
- Users define explicit transformation rules and apply them across thousands of files.Read 8 Oct 2026 · brontosource.dev
- Reviewable changes
- The site says transformations produce deterministic, repeatable, traceable diffs.Read 8 Oct 2026 · brontosource.dev
- Scale claim
- BrontoSource states that the tool has refactored 10,000+ files in a single transformation.Read 8 Oct 2026 · brontosource.dev
- Scale claims
- The homepage reports 100M+ lines transformed safely and 10,000+ files refactored in a single transformation.Read 8 Oct 2026 · brontosource.dev
- Support library license
- The support library uses the 0BSD license and compiles to nothing at runtime, according to the docs.Read 8 Oct 2026 · docs.brontosource.dev
- Transformation types
- Its documented capabilities include inlining, extraction, and pattern matching for expressions, declarations, types, lambda captures, and preprocessor macros.Read 8 Oct 2026 · docs.brontosource.dev
- Try it online
- The site says users can try the API on Compiler Explorer without installing the tool.Read 8 Oct 2026 · docs.brontosource.dev
- Try the API
- The docs say users can try the API on Compiler Explorer without installing the tool.Read 8 Oct 2026 · docs.brontosource.dev
- Who it serves
- BrontoSource describes its tool as intended for engineering teams responsible for large, long-lived systems.Read 8 Oct 2026 · brontosource.dev
- Workflow
- The command-line tool can generate edits in Fossil format, merge edit files, and apply changes.Read 8 Oct 2026 · docs.brontosource.dev
Strong points and limits
Strong points
- Explicit repository-wide transformation rules
- Deterministic, traceable diffs
- CMake and Bazel support library
- Compiler Explorer API trial
- Supports batch refactoring
Limits
- Early-access availability
- Pricing requires contacting BrontoSource
- C++ focused
- Desktop deployment
Who it suits
It is intended for engineering teams maintaining large, long-lived C++ systems and repositories. Teams needing large-scale, rule-driven refactoring may find its workflow relevant.
Verdict
BrontoSource targets controlled, large-scale C++ modernization with reviewable edits and broad transformation types. Early access and contact-based pricing mean teams must engage the maker before adopting it.
Where Specifiction places it
- Code Refactoring Tools#11 of 227.7