# Dig **Dig** is a composable task executor which dig into whatever you need automated. It... ## Quirks * At each level, variables are evaluated before "env" and "dir", so: * The global vars should not any references to environment variables which are not externally visible * Task vars will only be composable from it's parent's envs (for the main task, this means the global envs, but for subtask this refers to their parent) ## WIP Features * **improve errors** Root-out anyhow, and use thiserror+enums instead * **on_error**: When a task fails, give the option of crashing (default), ignoring, or running anotehr task * **includes**: Allow config files to be composed of other config files (i.e. 'namespaces') * **dot_env**: Allow importing environment variables from a file BEFORE the global 'vars' are evaluated * **dig out**: CLI command to run a task based on a specified output * **dig list**: CLI command to list available tasks * Add task config to allow hiding tasks * **dig summary [TASK]**: A CLI command to print a description of a specified task * **run_if and skip_if**: Change 'if' configs to 'run_if', and implement the inverse 'skip_if' * **prevent duplication**: Keep track of executed tasks, and prevent duplicate runs (unless specifically allowed)