Skip to content

When to Use Mastermind

Chris Hall edited this page Mar 21, 2019 · 4 revisions

Mastermind isn't a good fit for all workflows! You might want to give Mastermind a shot if your task:

  • Doesn't rely directly on application configuration
  • Is used in multiple projects
  • Doesn't have really complicated dependencies

Some examples of tasks that might be good candidates for using Mastermind:

  • Interacting with CI tools (e.g. triggering builds)
  • Interacting with Project Management tools (e.g. moving a task to a different state)
  • Managing deploy tasks

These points are extremely salient when Rails is involved. Most Rails-based tasks involve loading the Rails environment and Rails already has great Rake tasks built out for doing this. In those cases, it's probably better to follow convention, and make your task using Rake.

If you really like the UI provided by Mastermind, be sure to give the cli-ui project a look. You can either use it directly or, if you're already planning on integrating Mastermind, you can include CLI::Mastermind::Interface for a nice DSL to use on top of cli-ui. This interface is already included in the CLI::Mastermind::Plan interface, so you don't need both.

Clone this wiki locally