Disclaimer: I’m the developer of RubyEnv.app—but this isn’t a sales pitch. It’s a deep dive into how this tool has overhauled the way I build, debug, and manage Ruby on Rails applications every day.
Why I Built RubyEnv
As a Rails developer, my local workflow used to be chaotic:
- Terminal tabs everywhere
- Custom shell scripts to manage environments
- Hours lost debugging why
.env
wasn't loading or why a local proxy wasn’t routing correctly - Jumping between Mailcatcher, my browser,
rake routes
,tail -f log/development.log
,bundle outdated
, and more
This clutter slowed me down and introduced friction into every task—especially when switching between projects or onboarding new ones.
RubyEnv.app exists because I wanted to streamline everything that isn’t writing code. It centralizes your entire local environment into a focused, fast macOS app.
And it’s completely Rails-aware.
🗂 Site Management: Instantly Accessible Apps with SSL
Each app I add to RubyEnv gets a fully configured .test
domain, auto-provisioned through Caddy with working SSL, no manual DNS editing required.
Before RubyEnv, local domains were a mess:
- I had to modify
/etc/hosts
- Maintain my own Caddy or NGINX configs
- Run shell scripts to restart services
- Deal with weird HTTP/HTTPS mismatches
With RubyEnv:
- Add a project path
- Name the app (e.g.,
myapp
) - RubyEnv sets up
https://myapp.test
automatically
This kills hours of yak shaving and ensures local development is secure, consistent, and fast to start.
🧠 Rails Tools Built-In: Context Without the Command Line
Most tools treat your Rails app like a generic folder of Ruby code. RubyEnv knows it’s a Rails app—and unlocks tooling accordingly.
✳️ Route Viewer
Instantly shows all defined routes, searchable by method, path, or controller. Faster than rake routes | grep
.
✳️ Rake Tasks Panel
Run any Rake task with one click. Need to reset your DB or clear a cache? No switching windows or retyping commands.
✳️ Schema Status + Explorer
- See if migrations are pending.
- Explore your
schema.rb
visually, table by table.
✳️ Rails Stats Summary
Pulls output from rake stats
and displays model/controller breakdowns for easy understanding of app complexity.
Why it’s useful:
This reduces “terminal context switching.” You can now debug, introspect, and explore your Rails app without losing your mental flow or forgetting what tab had which output.
📄 Logs: Real-Time Visibility Into Your App’s Behavior
Most of us are used to running tail -f log/development.log
and scrolling manually to see what’s going on.
RubyEnv replaces that with:
- Color-coded log lines
- Real-time tailing and pausing
- Log level filters
- Support for multiple environments (dev, test, prod)
Why it’s useful:
Reading logs is one of the most essential parts of debugging. Having them right inside your environment manager, with visibility and filtering, makes diagnosing issues 10x faster.
🧪 One-Click Rake Tasks: Ditch the Terminal for Common Dev Actions
Running rake db:migrate
? rake assets:clobber
? rake -T
?
RubyEnv has a searchable list of every task your app defines, and you can:
- Run tasks instantly
- See output inline
- Check return codes
Why it’s useful:
Most Rails projects depend on custom tasks during setup or deploy. RubyEnv lets me trigger them without breaking focus or rechecking documentation.
🧷 Environment Variable Management: The Smart Way
Every project needs secrets and config. RubyEnv gives each one:
- A clean
.env
editor - Form-style editing for values
- Instant visibility into missing or malformed vars
Why it’s useful:
I’ve lost hours to “Why is Stripe not working?” just to realize STRIPE_SECRET_KEY
wasn’t set. RubyEnv makes that mistake impossible.
It also simplifies onboarding. New devs on my team can see what’s needed and get going—no secret Slack messages or copying .env.example
files line by line.
🧱 Gem Management: Dependency Hygiene, Without the Noise
RubyEnv parses your Gemfile and lockfile, then:
- Lists every gem and version
- Highlights outdated gems
- Lets you trigger
bundle update
from the UI
Why it’s useful:
Keeping dependencies up to date is tedious and error-prone. RubyEnv visualizes it and lowers the friction, so updates are a regular habit—not a once-a-year fire drill.
🔀 Git Status: Know Before You Commit
RubyEnv tracks Git state per app:
- Branch name
- Uncommitted changes
- Dirty working tree status
Why it’s useful:
Helps me avoid committing to the wrong branch or accidentally blowing away changes. It’s subtle, but essential when you’re juggling multiple apps or experiments.
📬 Email Capture and Rendering: Mailcatcher, Evolved
Email testing usually involves:
- Adding
letter_opener
or Mailcatcher - Opening another browser tab
- Waiting for mail previews to load
RubyEnv simplifies this with:
- Native HTML email rendering
- Subject, recipient, timestamp metadata
- Clear display of plaintext + HTML versions
Why it’s useful:
If you send transactional or user-facing email, you need to test formatting. RubyEnv makes that instant.
🐞 Debug Sessions: Exception Tracing That Saves Time
When your app raises an error, RubyEnv captures the session and shows:
- The exception type and message
- Backtrace, with clickable file/line links
- Parameters, context, and source
Why it’s useful:
Debugging is faster when you can read the stack like a story. RubyEnv shows it cleanly, without having to parse long log files or wait for Sentry.
🎯 RubyEnv Is for Rails Developers Who…
- Want faster setup and teardown of apps
- Want to see what’s going on, not hunt for it
- Work across multiple projects
- Share a machine with others
- Want a better local development experience
Whether you’re building solo or as part of a team, RubyEnv gives you visibility, consistency, and confidence.
🧠 Why This Tool Changed My Day-to-Day
Since building RubyEnv, my workflow has shifted from:
❌ “What’s broken?” → “Where’s the log?” → “Which gem version?”
✅ To: Open RubyEnv. See the state of everything. Fix and go.
I’ve reclaimed cognitive space, reduced setup time by 90%, and debug issues faster than ever.
If you’re a Ruby or Rails developer on macOS, give RubyEnv a try. It’s free to start, and it might just become your new favorite tool.
👋 Final Thoughts
RubyEnv started as a personal painkiller. Now it’s the tool I reach for every single day. It won’t replace your code editor—but it will take everything else you normally do with six tabs and turn it into a focused, visual experience.
If you’ve been struggling with dev environment setup, or just want something that feels native and understands Rails—give it a try.