Skip to content
@kettle-rb

kettle-rb

Tools that simplify development & testing in Ruby

kettle-rb

A collection of freeze-dried and vacuum-sealed Yak shavings for Ruby development & testing.

AST Merging and Templating Gems

Gem Format Parser Description
tree_haver ASTs ALL Cross-Ruby adapter for the tree-sitter & citrus parsing libraries; supporting MRI Ruby, JRuby, & TruffleRuby
ast-merge Text internal Shared infrastructure 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 Smart merge for JSON files
jsonc-merge JSONC tree-sitter-jsonc ⚠️ Proof of concept; Smart merge for JSON with Comments
bash-merge Bash tree-sitter-bash Smart merge for Bash scripts
rbs-merge RBS RBS Smart merge for Ruby type signatures
dotenv-merge Dotenv internal (dotenv) Smart merge for .env files
toml-merge TOML tree-sitter-toml Smart merge for TOML files
markdown-merge Markdown base classes Shared foundation for Markdown mergers
markly-merge Markdown Markly Smart merge for Markdown (CommonMark via libcmark-gfm)
commonmarker-merge Markdown Commonmarker Smart merge for Markdown (CommonMark via comrak)

Example implementations for the gem templating use case:

Gem Purpose Description
kettle-jem Gem Templating Gem template library with smart merge support

Dev Harness

Gem Purpose Description
kettle-dev Gem Development Complete rake & dev harness for Ruby development; tasks for coverage, GHA console, linting, debugging, etc.

Test Harness

Gem Purpose Description
kettle-test Spec Development Complete RSpec test harness, temporal manipulation, silent output testing, block expectations, etc.
kettle-soup-cover Test Coverage Harness A Covered Kettle of SOUP. Configure SimpleCov in 4 LOC for every CI platform, w/ 12-factor ENV-based controls

Ruby Utilities

Gem Purpose Description
kettle-wash Spec Development Coming soon! Runner up name: "constant_change". Provides a pattern for resetting constants for consistent deterministic results.

Pinned Loading

  1. kettle-soup-cover kettle-soup-cover Public

    A Covered Kettle of SOUP, A Code Coverage Meta Gem

    Ruby 10 1

  2. kettle-dev kettle-dev Public

    🍲 Setup a complete rake & dev harness for Ruby development; tasks for coverage, GHA console, linting, debugging, etc.

    Ruby 2 1

  3. kettle-test kettle-test Public

    🍲 Setup a complete RSpec test harness, temporal manipulation, silent output testing, block expectations, etc.

    Ruby 1

  4. prism-merge prism-merge Public

    ☯️ Intelligently merges two versions of a Ruby file using Prism AST analysis. It's like a smart "git merge" specifically designed for Ruby code.

    Ruby 17

Repositories

Showing 10 of 21 repositories
  • rbs-merge Public

    ☯️ Intelligently merge RBS type signature files by parsing and comparing AST structures. Supports freeze blocks to protect customizations, signature-based matching, and configurable merge strategies.

    kettle-rb/rbs-merge’s past year of commit activity
    Ruby 0 MIT 0 0 0 Updated Dec 25, 2025
  • psych-merge Public

    ☯️ Psych::Merge provides smart YAML file merging that preserves comments, anchors/aliases, and supports freeze blocks for protecting destination content. Perfect for merging configuration templates with customized destination files.

    kettle-rb/psych-merge’s past year of commit activity
    Ruby 0 MIT 0 0 1 Updated Dec 25, 2025
  • prism-merge Public

    ☯️ Intelligently merges two versions of a Ruby file using Prism AST analysis. It's like a smart "git merge" specifically designed for Ruby code.

    kettle-rb/prism-merge’s past year of commit activity
    Ruby 17 MIT 0 0 0 Updated Dec 25, 2025
  • markly-merge Public

    ☯️ Intelligent merging of Markdown files by parsing them into Markly AST nodes and comparing structural elements

    kettle-rb/markly-merge’s past year of commit activity
    Ruby 0 MIT 0 0 1 Updated Dec 25, 2025
  • markdown-merge Public

    ☯️ Ast::Merge-based structure for building Markdown merging tools like markly-merge and commonmarker-merge

    kettle-rb/markdown-merge’s past year of commit activity
    Ruby 0 MIT 0 0 2 Updated Dec 25, 2025
  • kettle-soup-cover Public

    A Covered Kettle of SOUP, A Code Coverage Meta Gem

    kettle-rb/kettle-soup-cover’s past year of commit activity
    Ruby 10 MIT 1 0 0 Updated Dec 25, 2025
  • kettle-test Public

    🍲 Setup a complete RSpec test harness, temporal manipulation, silent output testing, block expectations, etc.

    kettle-rb/kettle-test’s past year of commit activity
    Ruby 1 MIT 0 0 0 Updated Dec 25, 2025
  • kettle-jem Public

    ☯️ A collection of Ast::Merge::MergeConfig presets and utilities for gem templating.

    kettle-rb/kettle-jem’s past year of commit activity
    Ruby 0 MIT 0 0 2 Updated Dec 25, 2025
  • dotenv-merge Public

    ☯️ Dotenv::Merge provides smart .env file merging that preserves comments, understands variable assignments, and supports freeze blocks for protecting sensitive configuration. Perfect for merging environment templates with local overrides.

    kettle-rb/dotenv-merge’s past year of commit activity
    Ruby 0 MIT 0 0 0 Updated Dec 25, 2025
  • bash-merge Public

    ☯️ Bash::Merge provides smart Bash script merging that preserves comments, understands shell structure, and supports freeze blocks for protecting destination content. Perfect for merging configuration scripts and shell templates with customized destination files.

    kettle-rb/bash-merge’s past year of commit activity
    Ruby 1 MIT 0 0 1 Updated Dec 25, 2025

Top languages

Loading…

Most used topics

Loading…