Skip to content

Configuration

scilo can be customized via a configuration file written in TOML.

Locations

The configuration file specified by the -c/--config command line argument will be loaded into scilo. If this argument is not provided, then scilo will look for a configuration file in these locations, in order of precedence:

  1. Project-specific: ${PROJECT_ROOT}/.config/scilo/config.toml,
  2. User-specific (depending on your operating system):
    1. $HOME/.config/scilo/config.toml (Linux),
    2. $HOME/Library/Application Support/scilo/config.toml (macOS), or
    3. C:\Users\{USERNAME}\AppData\Roaming\scilo\config.toml (Windows)

User-specific configurations will apply to all projects and any options in the project-specific configuration override user-specific options. Options can be omitted in the project configuration to allow user configurations to pass through. If the -c/--config argument is provided, all other locations are ignored.

Options

These are the following options that can be set in a configuration file.

code_results_subdir_regex

All subdirectories within the code and results directories much match this string. This must be a valid regular expression. scilo will fail if this regular expression does not successfully compile. By default, the naming scheme is YYYY-mm-dd_kebab-case-short-title.

Default:

code_results_subdir_regex = "2\\d{3}-(0[1-9]|1[0-2])-([0-2][0-9]|3[0-1])_[A-Za-z0-9-]+"

ignored

An array of strings containing paths (relative to the project root) that are skipped when running the lint subcommand. By default, no paths are ignored.

Default:

ignored = [ ]

lints

An array of strings containing the names of the checks that should be performed when running the lint subcommand. By default, all lints are included. See Lints for a complete list.

Default:

lints = [
    "code_results_subdir_pairing",
    "code_results_subdir_regex",
    "code_subdir_readmes",
    "code_subdir_workflows",
    "data_subdir_readmes",
    "root_dirs",
    "root_files",
]

readme_names

An array of strings for acceptable file names for the README in a directory. By default, each subdirectory in the code and data directories should have a README.

Default:

readme_names = [
    "README.md",
    "README.org",
    "README.txt",
    "README",
]

root_dirs

A table of the root directories.

Default:

[root_dirs]
code = "code"
data = "data"
docs = "docs"
external = "pkgs"
results = "results"

root_files

An array of required files at the project root.

Default:

root_files = [ ]

workflow_names

An array of strings for acceptable file names for the workflow file in a directory. By default, each subdirectory in the code directory should have a workflow file.

Default:

workflow_names = [
    "Snakefile",
    "_targets.R",
    "main.cwl",
    "main.nf",
    "main.pipe",
    "main.w",
    "main.wdl",
    "Makefile",
]