Currently WIP and not in a workable state.
I started this project to
- scratch an itch (see below)
- learn Go and TUI development
- put LLMs through their paces and see how far they can go
Regarding 3: LLMs start great but can veer off into sloppy code. Useful for learning Go, but needs cleanup. I'm now the primary driver, using LLMs more focused. Until I reach the first working version I'll be moving fast and commits may be a little messy.
A CLI/TUI tool for both running tests and analyzing their results
Test frameworks often vomit up slabs of text when tests fail. Not offensive in isolation, but since we spend so much time hopping between code and tests, making them easier to run and parse will be nicer on our already tired minds.
Some problems with tests:
- Running a single test file is simple, but running multiple (e.g., all controllers, models, and services related to Billing) is tedious. Wouldn't it be great to fuzzy search for tests or save commonly used selections?
- Our tests fail because of our project's code, yet backtraces often include filepaths from 3rd party libraries and frameworks. It just gets in the way.
- They often show long unwieldy absolute paths when shorter relative paths would work
- They don't show you the code so you can quickly ground yourself.
- They don't show which backtrace files you've changed since your last commit - the most likely culprits.
I'm aiming to solve all these with this tool.
Currently supports Ruby and minitest. Will expand to RSpec and perhaps JavaScript.
Viewing a test run and the results - note the ability to see a preview of actual code in the backtrace

- Results Table: View test results at a glance and grouped by tests either failing due to errors in your project code, errors in your test code or assertion failures, and then passing and skipped tests.
- Preview: Clearly see important details for a failing test
- Backtrace: See offending lines and their code. Uncomitted changed files are highlighted (TBI)
- Run history: Run previous runs again easily
Picking mutiple files to run via fuzzy search
# Build dev version and launch TUI against dummy minitest app
make dev-minitest# Run tests and analyze failures (WingCommanderReporter must write the summary file)
wing_commander start /path/to/project \
--run-command "bundle exec rake test" \
--test-file-pattern "test/**/*_test.rb" \
--test-results-path ".wing_commander/test_results/summary.yml"- Minitest (Ruby) - in development
Install this project's companion Minitest reporter gem (Coming soon)
# test/test_helper.rb
require 'minitest/reporters'
Minitest::Reporters.use! [
WingCommanderReporter.new(summary_output_path: "....")
]This produces a test run summary at the given path which this CLI tool will read. You will likely want to gitignore the summary file.
# Build and launch the cli tool against the dummy minitest suite in this repo
make dev-minitest
# Build development version
make dev
# Run tests
make test
# Clean build artifacts
make clean