is it correct to say that you do want command line unit tests that make assertions about the output of "tutor" given command line arguments/options? If this is the case, there's a need to synchronously assert the contents of "console.log" which, in researching led me to execSync.

If you don't need unit tests (the originally accepted cli @nicknovitski branch didn't have any) then this is easy to remove.

If, given that explanation, you'd still prefer to have unit tests, and not have execSync (or similar) dependencies for development, I'd need to research alternatives. Which I'm happy to do.