Project

rspec-doom

0.0
The project is in a healthy, maintained state
Watches source and spec files with Cruise and runs RSpec, showing Doom guy notifications based on test results.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

~> 13.0
~> 3.0

Runtime

 Project Readme

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 install

Requires Ruby 3.2+ and macOS or Linux (precompiled native gems).

Usage

From the root of your project:

bundle exec rspec-doom

Watches 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 rspec

Contributing

Bug reports and pull requests are welcome on GitHub.

License

The gem is available as open source under the terms of the MIT License.