website/src/docs/reference/config.md
Task has multiple ways of being configured. These methods are parsed, in sequence, in the following order with the highest priority last:
In this document, we will look at the first of the three options, configuration files.
Task will automatically look for directories containing configuration files in the following order with the highest priority first:
--taskfile/--entrypoint
flags).--taskfile/--entrypoint flags) until we reach the user's
home directory or the root directory of that drive.$HOME directory.$XDG_CONFIG_HOME/task directory.Config files in the current directory, its parent folders or home directory
should be called .taskrc.yml or .taskrc.yaml. Config files in the
$XDG_CONFIG_HOME/task directory are named the same way, but should not contain
the . prefix.
All config files will be merged together into a unified config, starting with
the lowest priority file in $XDG_CONFIG_HOME/task with each subsequent file
overwriting the previous one if values are set.
For example, given the following files:
# lowest priority global config
option_1: foo
option_2: foo
option_3: foo
option_1: bar
option_2: bar
# highest priority project config
option_1: baz
You would end up with the following configuration:
option_1: baz # Taken from $HOME/path/to/project/.taskrc.yml
option_2: bar # Taken from $HOME/.taskrc.yml
option_3: foo # Taken from $XDG_CONFIG_HOME/task/.taskrc.yml
experimentsThe experiments section allows you to enable Task's experimental features. These options are not enumerated here. Instead, please refer to our experiments documentation for more information.
experiments:
feature_name: 1
another_feature: 2
verbosebooleanfalse-v, --verboseTASK_VERBOSEverbose: true
silentbooleanfalse-s, --silentTASK_SILENTsilent: true
colorbooleantrueCI=true).-c, --colorTASK_COLORcolor: false
disable-fuzzybooleanfalse--disable-fuzzyTASK_DISABLE_FUZZYdisable-fuzzy: true
concurrencyinteger1-C, --concurrencyTASK_CONCURRENCYconcurrency: 4
failfastbooleanfalse-F, --failfastTASK_FAILFASTfailfast: true
interactivebooleanfalse--interactiveinteractive: true
Here's a complete example of a .taskrc.yml file with all available options:
# Global settings
verbose: true
silent: false
color: true
disable-fuzzy: false
concurrency: 2
# Enable experimental features
experiments:
REMOTE_TASKFILES: 1