rspec-doom
A standalone RSpec file watcher with Doom-themed notifications. Runs tests automatically and shows Doom Guy images based on test results.
Built on Cruise, a fast OS-native file watcher — no Guard required.
Read more: Still way beyond cool: resurrecting the Doomguy TDD loop.
Installation
Add to your Gemfile:
gem 'rspec-doom'Then:
bundle installRequires Ruby 3.2+ and macOS or Linux (precompiled native gems).
Usage
From the root of your project:
bundle exec rspec-doomWatches app/ and spec/ by default. When a spec changes it runs that spec;
when a source file changes it runs the matching spec (or the whole suite if
no matching spec exists).
Options
bundle exec rspec-doom lib spec # watch extra directories
bundle exec rspec-doom --cmd 'rspec' # custom RSpec command
bundle exec rspec-doom --debounce 0.5 # debounce in seconds
bundle exec rspec-doom --notify-file n # write notifications to a file (headless/CI)Press Ctrl-C to stop.
Doom Images
The gem includes 5 Doom-themed images (via Notiffany desktop notifications):
-
doom1.png— All tests passing -
doom2.png— 1-2 failures -
doom3.png— 3-5 failures -
doom4.png— 6-10 failures -
doom5.png— 11+ failures
The images are Doom HUD sprites from id Software, included here as a fan and educational homage to the classic autotest + growl + Doomguy setup. DOOM and its sprites are trademarks of id Software or their respective owners; this project is not affiliated with or endorsed by id Software.
Development
bundle install
bundle exec rspecContributing
Bug reports and pull requests are welcome on GitHub.
License
The gem is available as open source under the terms of the MIT License.