CLI
This page is generated from bddkit <command> --help.
bddkit run
Section titled “bddkit run”Run the feature files the config selects
Usage: bddkit run [OPTIONS] [PATHS]...
Arguments: [PATHS]... Run only these directories or .feature files instead of the config's `paths`
Options: --config <CONFIG> Path to the YAML config [default: $BDDKIT_CONFIG, else ./bddkit.yaml or ./bddkit.yml] --tag <TAGS> Run only scenarios with one of these tags (repeatable) --env <ENV> Override APP_ENV: selects .env.<name> / .env.<name>.local --fail-fast Stop dispatching new files after the first failure --events <EVENTS> Write one JSON object per line here while the run happens: a file, a FIFO or /dev/fd/N [default: $BDDKIT_EVENTS] --evidence Add evidence to the event stream: resolved values, HTTP exchanges, SQL and plugin diagnostics, also of passing steps. Off by default because it puts bodies and query parameters on disk. Requires --events --artifacts-dir <ARTIFACTS_DIR> Root for the evidence files plugins write [default: $BDDKIT_ARTIFACTS_DIR, else <temp dir>/bddkit-<run id>] --bddkit-dir <BDDKIT_DIR> Read `.bddkit/` files from this directory only, skipping the shared, user and project layers (overrides $BDDKIT_DIR) --junit <JUNIT> Write a JUnit XML report here (one testsuite per feature file) --cucumber-json <CUCUMBER_JSON> Write a Cucumber JSON report here --privacy-reveal Show real values instead of `***` in everything printed or written [alias: --reveal] --privacy-min-length <MIN_LENGTH> Shortest value, in characters, that is masked wherever it appears [default: 7] --privacy-words <WORDS> Extra words that make a variable name sensitive (comma-separated, repeatable) --privacy-words-only <WORDS_ONLY> Replace the words that make a variable name sensitive --privacy-fields <FIELDS> Extra field words that make a JSON key, form field or query parameter sensitive --privacy-fields-only <FIELDS_ONLY> Replace the field words that make a key, form field or query parameter sensitive -h, --help Print helpbddkit steps
Section titled “bddkit steps”Show the steps this binary understands
Usage: bddkit steps [COMMAND]
Commands: list List the available steps, grouped by resource help Print this message or the help of the given subcommand(s)
Options: -h, --help Print help
Examples: bddkit steps list every builtin step, grouped by resource bddkit steps list db only the database steps bddkit steps list --filter response -v narrow, and describe what is left bddkit steps list --json the same listing, machine-readable bddkit steps list --config suite.yaml also the steps of that suite's pluginsbddkit doctor
Section titled “bddkit doctor”Check a suite's config, and with --live probe what it talks to
Usage: bddkit doctor [OPTIONS]
Options: --config <CONFIG> Path to the YAML config [default: $BDDKIT_CONFIG, else ./bddkit.yaml or ./bddkit.yml] --env <ENV> Override APP_ENV: selects .env.<name> / .env.<name>.local --live Also open a socket to every API and database the config names --json Machine-readable output --events <EVENTS> Check that a `run --events` path can be written; a path that exists and is not a regular file (a FIFO, /dev/fd/N) is not opened --bddkit-dir <BDDKIT_DIR> Read `.bddkit/` files from this directory only, skipping the shared, user and project layers (overrides $BDDKIT_DIR) --junit <JUNIT> Write a JUnit XML report here (one testsuite per feature file) --cucumber-json <CUCUMBER_JSON> Write a Cucumber JSON report here --privacy-reveal Show real values instead of `***` in everything printed or written [alias: --reveal] --privacy-min-length <MIN_LENGTH> Shortest value, in characters, that is masked wherever it appears [default: 7] --privacy-words <WORDS> Extra words that make a variable name sensitive (comma-separated, repeatable) --privacy-words-only <WORDS_ONLY> Replace the words that make a variable name sensitive --privacy-fields <FIELDS> Extra field words that make a JSON key, form field or query parameter sensitive --privacy-fields-only <FIELDS_ONLY> Replace the field words that make a key, form field or query parameter sensitive -h, --help Print help
Examples: bddkit doctor --config suite.yaml every static check, no socket opened bddkit doctor --config suite.yaml --live also probe every API and database bddkit doctor --config suite.yaml --json the same report, machine-readable bddkit doctor --config suite.yaml --junit reports/junit.xml also check that run's report path can be writtenbddkit report
Section titled “bddkit report”Render an event stream (`run --events`) as a report
Usage: bddkit report [OPTIONS] <EVENTS>
Arguments: <EVENTS> The stream a run wrote with --events
Options: -o, --output <FILE> Where to write the report; the format follows the extension (.html or .htm). Repeatable [default: the stream's name with .html] --artifacts <DIR> Where the run's artifacts are, when they are not where `run_started` says -h, --help Print help
Examples: bddkit report run.ndjson run.html beside the stream bddkit report run.ndjson -o out/r.html a named filebddkit resource
Section titled “bddkit resource”Show what a resource's config takes
Usage: bddkit resource [COMMAND]
Commands: fields List the keys each resource kind's config takes add Write a validated resource into the config help Print this message or the help of the given subcommand(s)
Options: -h, --help Print help
Examples: bddkit resource fields every resource kind bddkit serves itself bddkit resource fields db only the database connection keys bddkit resource fields --config suite.yaml also the groups this suite's plugins serve bddkit resource fields --json the same listing, machine-readable bddkit resource add api staging --config suite.yaml --base_url http://staging.local bddkit resource add db reporting --config suite.yaml --no-check --dsn postgres://... # --config/--env/--json/--no-check must come before any --<field> valuebddkit plugin
Section titled “bddkit plugin”Find, install, update and remove plugins
Usage: bddkit plugin [OPTIONS] [COMMAND]
Commands: list Browse the plugin index install Download a plugin release and register it in a lock file update Move installed plugins to their latest release remove Unregister a plugin and delete the files install put there prune Delete plugin versions that no lock file points into any more show Show installed plugins, or one plugin in detail help Print this message or the help of the given subcommand(s)
Options: --config <CONFIG> Only used to find the project's `.bddkit/` [default: $BDDKIT_CONFIG, else ./bddkit.yaml or ./bddkit.yml] --bddkit-dir <BDDKIT_DIR> Use this directory only, skipping the shared, user and project layers (overrides $BDDKIT_DIR) -h, --help Print help
Examples: bddkit plugin list every plugin in the index bddkit plugin list mail only those whose name or description matches bddkit plugin install exec the latest release, into the user layer bddkit plugin install exec@0.1.0 --layer project.local bddkit plugin install someone/bddkit-widget bddkit plugin update --dry-run what would move, without moving it bddkit plugin show exec one plugin in detailbddkit upgrade
Section titled “bddkit upgrade”Replace bddkit and its plugins with another release, with a way back
Usage: bddkit upgrade [OPTIONS]
Options: --check Show the plan, change nothing --version <VERSION> Upgrade to this release instead of the latest --rollback Restore the binary and lock files the last upgrade replaced --force Upgrade even when a plugin has no release for the new ABI, leaving it as it is -y, --yes Do not ask: required where there is no terminal --config <CONFIG> Only used to find the project's `.bddkit/` [default: $BDDKIT_CONFIG, else ./bddkit.yaml or ./bddkit.yml] --bddkit-dir <BDDKIT_DIR> Use this directory only, skipping the shared, user and project layers (overrides $BDDKIT_DIR) -h, --help Print help
Examples: bddkit upgrade --check what would change, changing nothing bddkit upgrade to the latest release bddkit upgrade --version 0.4.1 to a given release, older ones included bddkit upgrade --rollback back to the version the last upgrade replacedbddkit version
Section titled “bddkit version”Print the version, and where to look next
Usage: bddkit version [OPTIONS]
Options: --json Machine-readable: version, target and plugin ABI -h, --help Print help