-
Notifications
You must be signed in to change notification settings - Fork 1
When to Use Mastermind
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.