id = "dagger"
name = "Dagger"
homepage = "https://dagger.io"
description = "A programmable, composable engine for running software delivery workflows."
executables = ["dagger"]
[dotfiles]
paths = ["~/.config/dagger/config.toml"]
exclude = []
secret = []
[commands]
format = 1
label = "Dagger CLI"
description = "Run project checks and install modules in a Dagger workspace. Modelled subcommands: check and install. Other subcommands, one-off modules and engine selection are not covered."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.subcommand]]
path = ["check"]
label = "Run project checks"
description = "Verify the project: tests, linters, type checks. --list only shows the available checks."
[[commands.subcommand.source]]
id = "doc"
kind = "manual"
url = "https://docs.dagger.io/reference/cli/"
revision = "docs.dagger.io CLI reference 2026-10-27"
evidence = """
dagger check [--fail-fast] [FILTERS] [OPTIONS]
--fail-fast Cancel remaining checks on first failure
-l, --list List available checks
--module NAME Select artifacts from module NAME
-j, --parallel int Run at most this many checks at once; 0 means no limit. Defaults to $DAGGER_CHECK_PARALLEL
--skip link Exclude checks selected by this link
--progress string Progress output format (auto, plain, tty, dots, logs, report) (default "auto")
-v, --verbose count Increase verbosity (use -vv or -vvv for more)
"""
[[commands.subcommand.field]]
id = "filters"
label = "Check filters"
description = "DAG links selecting which checks to run; leave empty for all."
type = "string"
position = 0
multiple = true
sources = ["doc"]
[[commands.subcommand.field]]
id = "list"
label = "List available checks"
type = "boolean"
option = ["--list", "-l"]
sources = ["doc"]
[[commands.subcommand.field]]
id = "fail_fast"
label = "Fail fast"
type = "boolean"
option = ["--fail-fast"]
sources = ["doc"]
[[commands.subcommand.field]]
id = "module"
label = "Module"
type = "string"
option = ["--module"]
sources = ["doc"]
[[commands.subcommand.field]]
id = "parallel"
label = "Max parallel checks"
type = "integer"
option = ["--parallel", "-j"]
sources = ["doc"]
[[commands.subcommand.field]]
id = "skip"
label = "Skip checks"
type = "string"
option = ["--skip"]
multiple = true
sources = ["doc"]
[[commands.subcommand.field]]
id = "progress"
label = "Progress format"
type = "enum"
option = ["--progress"]
choices = [{ value = "auto", label = "Auto" }, { value = "plain", label = "Plain" }, { value = "tty", label = "TTY" }, { value = "dots", label = "Dots" }, { value = "logs", label = "Logs" }, { value = "report", label = "Report" }]
sources = ["doc"]
[[commands.subcommand.field]]
id = "verbose"
label = "Verbosity"
type = "count"
option = ["-v"]
sources = ["doc"]
[[commands.subcommand.task]]
id = "run"
label = "Run checks"
fields = ["filters", "fail_fast", "parallel", "skip", "progress"]
required = []
[[commands.subcommand.task]]
id = "list"
label = "List checks"
set = { list = [true] }
lock = ["list"]
fields = ["list", "module"]
required = []
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["filters", "list", "fail_fast", "parallel", "skip"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["module", "progress", "verbose"]
[[commands.subcommand]]
path = ["install"]
label = "Install a module"
description = "Install a module from a local path or Git source into the current workspace."
[[commands.subcommand.source]]
id = "doc"
kind = "manual"
url = "https://docs.dagger.io/reference/cli/"
revision = "docs.dagger.io CLI reference 2026-10-27"
evidence = """
dagger install [options] SOURCE
--here Write workspace config at the selected workspace cwd
-n, --name string Name to use for the module in the workspace. Defaults to the name of the module being installed.
"""
[[commands.subcommand.field]]
id = "source"
label = "Module source"
description = "Local path or Git source, e.g. github.com/shykes/daggerverse/hello@v0.3.0."
type = "string"
position = 0
sources = ["doc"]
[[commands.subcommand.field]]
id = "name"
label = "Module name"
type = "string"
option = ["--name", "-n"]
sources = ["doc"]
[[commands.subcommand.field]]
id = "here"
label = "Write config at current directory"
type = "boolean"
option = ["--here"]
sources = ["doc"]
[[commands.subcommand.task]]
id = "install"
label = "Install a module"
fields = ["source", "name", "here"]
required = ["source"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["source", "name", "here"]