Sep 13, 2023

Mask is a task runner with an interesting UI decision: you write all tasks in a markdown file.

It's task files as literate programming.

Their own maskfile is an example:

## run (maskfile_command)
> Build and run mask in development mode

**NOTE:** This uses `cargo run` to build and run `mask` in development mode. You must have a `maskfile` in the current directory (this file) and must supply a valid command for that `maskfile` (`maskfile_command`) in order to test the changes you've made to `mask`. Since you can only test against this `maskfile` for now, you can add subcommands to the bottom and run against those instead of running one of the existing commands.

**EXAMPLE:** `mask run "test -h"` - outputs the help info of this `test` command

* watch
    * flags: -w --watch
    * desc: Rebuild on file change

if [[ $watch == "true" ]]; then
    watchexec --exts rs --restart "cargo run -- $maskfile_command"
    cargo run -- $maskfile_command
↑ up