
Kettle-RB
Fiscal Host: Open Source Collective
Kettle-RB builds meta libraries in Ruby that target specific tasks devs face repeatedly, e.g., setting up a sophisticated test harness.
Contribute
Become a financial contributor.
Financial Contributions
Kettle-RB is all of us
Our contributors 2
Thank you for supporting Kettle-RB.
Connect
Let’s get the ball rolling!
News from Kettle-RB
Updates on our activities and progress.
☯️ bash-merge: Intelligently merge Bash scripts by AST structure
🌻 Synopsis · bash-merge is a standalone Ruby module that intelligently merges two versions of a Bash script using tree-sitter AST analysis. It's like a smart "git merge" specifically de...
Published on February 21, 2026 by Peter Boling
☯️ toml-merge: Intelligently merge TOML by AST structure
🌻 Synopsis · toml-merge provides intelligent merging of TOML files by parsing them intotree-sitter AST nodes and comparing structural elements. It supports: Smart key m...
Published on December 19, 2025 by Peter Boling
☯️ ast-merge: TreeHaver-based merge/templating tool
🌻 Synopsis · Ast::Merge provides base classes, modules or building intelligent file mergers using AST analysis. Ast::Merge is **not t...
Published on December 19, 2025 by Peter Boling
About
The *-merge Gem Family
Gem | Format | Parser | Backend(s) | Description
tree_haver | Multi | MRI C, Rust, FFI, Java, Prism, Psych, Commonmarker, Markly, Citrus | Foundation: Cross-Ruby adapter for parsing libraries (like Faraday for HTTP)
ast-merge | Text | internal | Infrastructure: Shared base classes and merge logic for all *-merge gems
prism-merge | Ruby | Prism | Smart merge for Ruby source files
psych-merge | YAML | Psych | Smart merge for YAML files
json-merge | JSON | tree-sitter-json (via tree_haver) | Smart merge for JSON files
jsonc-merge | JSONC | tree-sitter-jsonc (via tree_haver) | ⚠️ Proof of concept; Smart merge for JSON with Comments
bash-merge | Bash | tree-sitter-bash (via tree_haver) | Smart merge for Bash scripts
rbs-merge | RBS | RBS | Smart merge for Ruby type signatures
dotenv-merge | Dotenv | internal | Smart merge for .env files
toml-merge | TOML | Citrus + toml-rb (default, via tree_haver), tree-sitter-toml (via tree_haver) | Smart merge for TOML files
markdown-merge | Markdown | Commonmarker / Markly (via tree_haver) | Foundation: Shared base for Markdown mergers with inner code block merging
markly-merge | Markdown | Markly (via tree_haver) | Smart merge for Markdown (CommonMark via cmark-gfm C)
commonmarker-merge | Markdown | Commonmarker (via tree_haver) | Smart merge for Markdown (CommonMark via comrak Rust)
kettle-jem | Gem Templating | Gem template library with smart merge support
kettle-dev - Setup a complete rake & dev harness for Ruby development; tasks for coverage, GHA console, linting, debugging, etc.
kettle-test - Setup a complete RSpec test harness, temporal manipulation, silent output testing, block expectations, etc.
kettle-wash - Runner up name: "constant_change". A gem for your test / spec harness providing a pattern for resetting constants; Enable simpler testing, and consistent deterministic results.
kettle-soup-cover - A Covered Kettle of SOUP, A Code Coverage Meta Gem
Photo by Stavan Macwan on Unsplash
Gem | Format | Parser | Backend(s) | Description
tree_haver | Multi | MRI C, Rust, FFI, Java, Prism, Psych, Commonmarker, Markly, Citrus | Foundation: Cross-Ruby adapter for parsing libraries (like Faraday for HTTP)
ast-merge | Text | internal | Infrastructure: Shared base classes and merge logic for all *-merge gems
prism-merge | Ruby | Prism | Smart merge for Ruby source files
psych-merge | YAML | Psych | Smart merge for YAML files
json-merge | JSON | tree-sitter-json (via tree_haver) | Smart merge for JSON files
jsonc-merge | JSONC | tree-sitter-jsonc (via tree_haver) | ⚠️ Proof of concept; Smart merge for JSON with Comments
bash-merge | Bash | tree-sitter-bash (via tree_haver) | Smart merge for Bash scripts
rbs-merge | RBS | RBS | Smart merge for Ruby type signatures
dotenv-merge | Dotenv | internal | Smart merge for .env files
toml-merge | TOML | Citrus + toml-rb (default, via tree_haver), tree-sitter-toml (via tree_haver) | Smart merge for TOML files
markdown-merge | Markdown | Commonmarker / Markly (via tree_haver) | Foundation: Shared base for Markdown mergers with inner code block merging
markly-merge | Markdown | Markly (via tree_haver) | Smart merge for Markdown (CommonMark via cmark-gfm C)
commonmarker-merge | Markdown | Commonmarker (via tree_haver) | Smart merge for Markdown (CommonMark via comrak Rust)
kettle-jem | Gem Templating | Gem template library with smart merge support
kettle-dev - Setup a complete rake & dev harness for Ruby development; tasks for coverage, GHA console, linting, debugging, etc.
kettle-test - Setup a complete RSpec test harness, temporal manipulation, silent output testing, block expectations, etc.
kettle-wash - Runner up name: "constant_change". A gem for your test / spec harness providing a pattern for resetting constants; Enable simpler testing, and consistent deterministic results.
kettle-soup-cover - A Covered Kettle of SOUP, A Code Coverage Meta Gem
Photo by Stavan Macwan on Unsplash
Our team
Peter Boling
Admin
Aboling0
Admin