A distinguished Ruby environment manager with the refined approach of a gentleman's butler
⚠️ Prototype Status: This is a prototype—not recommended for serious usage yet, even though the author has been using it daily for job work for some time. See IDEAS.md for potential future enhancements. Please share your ideas via issues.
🎭 Development Fun: The butler-themed language and refined terminology are just for entertainment during development and will be updated before any real production release, if any.
Your Ruby Butler doesn't reinvent the wheel, but rather composes the already well-known tools (gem, bundle) for your best experience—it serves you with distinction. Install your Rubies with your favourite installer like ruby-install or ruby-build, and those Rubies will be in good Butler's hands. Rather than modifying your shell environment, it meticulously prepares isolated environments, executes commands within them, and tidily cleans up afterward—just as a proper butler should serve.
Download the latest production binary for your platform from releases and add to PATH:
curl -L https://github.com/RubyElders/ruby-butler/releases/latest/download/rb-linux -o ~/.local/bin/rb && chmod +x ~/.local/bin/rb
curl -L https://github.com/RubyElders/ruby-butler/releases/latest/download/rb-macos -o ~/.local/bin/rb && chmod +x ~/.local/bin/rb
Invoke-WebRequest -Uri "https://github.com/RubyElders/ruby-butler/releases/latest/download/rb-windows.exe" -OutFile "$env:USERPROFILE\AppData\Local\Microsoft\WindowsApps\rb.exe"
First, check your Ruby estate (by default checking at ~/.rubies, see --help for more options):
# Survey your distinguished Ruby installations
rb info runtime
Ruby Butler composes gem and bundle commands with environmental intelligence:
bundle exec automatically.ruby-version files and Gemfile ruby requirements# Execute with latest Ruby (default behavior)
rb x ruby -v
# Execute with specific Ruby version
rb -r 3.4.5 x ruby -v
# Create a new Rails project with distinguished precision
rb x gem exec rails new butler-test
cd butler-test
# Synchronize bundler environment (handles bundle install)
rb sync
# Launch Rails console in the prepared environment
rb x rails c
# Execute any Ruby command with proper environmental preparation
rb x gem list
rb x rake test
Unlike traditional Ruby managers that alter your shell environment, Ruby Butler employs a service-oriented approach:
bundle exec intelligentlyThis approach mirrors how a distinguished butler operates: preparing everything behind the scenes, serving with precision, then disappearing without a trace.
Ruby Butler expects Ruby installations in ~/.rubies/ (the standard location for ruby-install and similar tools). It discovers and composes:
ruby-install, ruby-build, etc.~/.gem/ruby/X.Y.Z/)Gemfile presencerb exec / rb x - Execute commands within meticulously prepared environmentsrb sync / rb s - Synchronize bundler environments (also auto-triggered when needed)rb run / rb r - Execute project scripts defined in rbproject.tomlrb new - Create a minimal rbproject.toml in the current directoryrb info runtime - Survey your Ruby estate with elegant presentationrb info env - Display current environment compositionrb info project - Show resolved project settingsrb info config - Display merged configuration with sourcesrb version - Display version informationrb shell-integration bash - Generate bash completions (eval "$(rb shell-integration bash)")rb.toml - Global configuration file (in ~/.config/rb/ or ~/.rb.toml)rbproject.toml or gem.toml - Project-level script definitions and metadataThis is a concept demonstration showcasing a heavily opinionated approach to Ruby environment management.
cargo build --release
Rust Unit & Integration Tests:
cargo test
Shell Integration Tests (shellspec):
./shellspec
PowerShell Integration Tests (Pester):
# Setup once
pwsh tests/Setup.ps1
# Run repeatedly
Invoke-Pester tests/
rb-core: Environment detection, composition, and orchestrationrb-cli: Distinguished command-line interface with refined messagingrb-tests: Sophisticated testing utilities for realistic environment simulationRuby Butler is built with Rust for cross-platform reliability and employs a environment-agnostic design—no shell modifications required.
If you're curious about what Butler does under the hood, add -v or -V to see the distinguished orchestration in action.
To create a new release with cross-platform binaries:
Cargo.toml (workspace version)git tag v1.0.0
git push --tags
The release workflow automatically:
rb version)Released binaries include version traceability:
Ruby Butler v1.0.0Ruby Butler v0.1.0 (c5156b1) [debug build] [modified]Distinguished Ruby development deserves distinguished tooling.
98 commits
1 commits
Rust
67.3%
Shell
18.4%
PowerShell
13.7%
A distinguished Ruby environment manager with the refined approach of a gentleman's butler
⚠️ Prototype Status: This is a prototype—not recommended for serious usage yet, even though the author has been using it daily for job work for some time. See IDEAS.md for potential future enhancements. Please share your ideas via issues.
🎭 Development Fun: The butler-themed language and refined terminology are just for entertainment during development and will be updated before any real production release, if any.
Your Ruby Butler doesn't reinvent the wheel, but rather composes the already well-known tools (gem, bundle) for your best experience—it serves you with distinction. Install your Rubies with your favourite installer like ruby-install or ruby-build, and those Rubies will be in good Butler's hands. Rather than modifying your shell environment, it meticulously prepares isolated environments, executes commands within them, and tidily cleans up afterward—just as a proper butler should serve.
Download the latest production binary for your platform from releases and add to PATH:
curl -L https://github.com/RubyElders/ruby-butler/releases/latest/download/rb-linux -o ~/.local/bin/rb && chmod +x ~/.local/bin/rb
curl -L https://github.com/RubyElders/ruby-butler/releases/latest/download/rb-macos -o ~/.local/bin/rb && chmod +x ~/.local/bin/rb
Invoke-WebRequest -Uri "https://github.com/RubyElders/ruby-butler/releases/latest/download/rb-windows.exe" -OutFile "$env:USERPROFILE\AppData\Local\Microsoft\WindowsApps\rb.exe"
First, check your Ruby estate (by default checking at ~/.rubies, see --help for more options):
# Survey your distinguished Ruby installations
rb info runtime
Ruby Butler composes gem and bundle commands with environmental intelligence:
bundle exec automatically.ruby-version files and Gemfile ruby requirements# Execute with latest Ruby (default behavior)
rb x ruby -v
# Execute with specific Ruby version
rb -r 3.4.5 x ruby -v
# Create a new Rails project with distinguished precision
rb x gem exec rails new butler-test
cd butler-test
# Synchronize bundler environment (handles bundle install)
rb sync
# Launch Rails console in the prepared environment
rb x rails c
# Execute any Ruby command with proper environmental preparation
rb x gem list
rb x rake test
Unlike traditional Ruby managers that alter your shell environment, Ruby Butler employs a service-oriented approach:
bundle exec intelligentlyThis approach mirrors how a distinguished butler operates: preparing everything behind the scenes, serving with precision, then disappearing without a trace.
Ruby Butler expects Ruby installations in ~/.rubies/ (the standard location for ruby-install and similar tools). It discovers and composes:
ruby-install, ruby-build, etc.~/.gem/ruby/X.Y.Z/)Gemfile presencerb exec / rb x - Execute commands within meticulously prepared environmentsrb sync / rb s - Synchronize bundler environments (also auto-triggered when needed)rb run / rb r - Execute project scripts defined in rbproject.tomlrb new - Create a minimal rbproject.toml in the current directoryrb info runtime - Survey your Ruby estate with elegant presentationrb info env - Display current environment compositionrb info project - Show resolved project settingsrb info config - Display merged configuration with sourcesrb version - Display version informationrb shell-integration bash - Generate bash completions (eval "$(rb shell-integration bash)")rb.toml - Global configuration file (in ~/.config/rb/ or ~/.rb.toml)rbproject.toml or gem.toml - Project-level script definitions and metadataThis is a concept demonstration showcasing a heavily opinionated approach to Ruby environment management.
cargo build --release
Rust Unit & Integration Tests:
cargo test
Shell Integration Tests (shellspec):
./shellspec
PowerShell Integration Tests (Pester):
# Setup once
pwsh tests/Setup.ps1
# Run repeatedly
Invoke-Pester tests/
rb-core: Environment detection, composition, and orchestrationrb-cli: Distinguished command-line interface with refined messagingrb-tests: Sophisticated testing utilities for realistic environment simulationRuby Butler is built with Rust for cross-platform reliability and employs a environment-agnostic design—no shell modifications required.
If you're curious about what Butler does under the hood, add -v or -V to see the distinguished orchestration in action.
To create a new release with cross-platform binaries:
Cargo.toml (workspace version)git tag v1.0.0
git push --tags
The release workflow automatically:
rb version)Released binaries include version traceability:
Ruby Butler v1.0.0Ruby Butler v0.1.0 (c5156b1) [debug build] [modified]Distinguished Ruby development deserves distinguished tooling.
98 commits
1 commits
Rust
67.3%
Shell
18.4%
PowerShell
13.7%