Thymian CLI Reference
Commands
Section titled “Commands”thymian analyzethymian config showthymian feedbackthymian generate configthymian generate rulethymian help [COMMAND]thymian lintthymian plugins listthymian rules listthymian schemathymian servethymian testthymian version
thymian analyze
Section titled “thymian analyze”Analyze recorded API traffic against specifications and configured rule sets.
USAGE $ thymian analyze [--json] [--verbose] [--debug] [--log-level trace|debug|info|warn|error|silent] [--config <value>] [--autoload] [--plugin <value>...] [--option <plugin>.<path>=<value>...] [--spec type:location...] [--traffic type:location...] [--rule-set package-name...] [--rule-severity off|error|warn|hint] [--timeout <value>] [--idle-timeout <value>] [--cwd <value>] [--suppress-feedback]
FLAGS --cwd=<value> [default: /home/runner/work/thymian/thymian/packages/thymian] Set current working directory.
BASE FLAGS --[no-]autoload Disable automatic loading and initialization of plugins based on configuration file. --config=<value> Path to thymian configuration file. --debug Run thymian in debug mode. --idle-timeout=<value> [default: 500] Set the duration in ms to waited for events and actions when closing Thymian. --log-level=<option> Set log level (trace, debug, info, warn, error, silent). When set to trace, all events are traced. <options: trace|debug|info|warn|error|silent> --option=<plugin>.<path>=<value>... Override plugin options. Format: <pluginName>.<property.path>=<value>. Supports nested paths (dot notation) and array indices (bracket notation). --plugin=<value>... [default: ] --rule-set=package-name... Add a rule set package to use for validation (e.g. @thymian/rules-rfc-9110). Can be specified multiple times. --rule-severity=<option> Set the minimum rule severity threshold for rule loading (off, error, warn, hint). Only rules at or above this severity are loaded. <options: off|error|warn|hint> --spec=type:location... Specification input in the format <type>:<location> (e.g. openapi:./openapi.yaml). --suppress-feedback Suppress feedback messages from Thymian. --timeout=<value> [default: 10000] Set the duration in ms to wait for anything that happens in Thymian. --traffic=type:location... Traffic input in the format <type>:<location> (e.g. har:./traffic.har). --verbose Run thymian in verbose mode.
GLOBAL FLAGS --json Format output as json.
DESCRIPTION Analyze recorded API traffic against specifications and configured rule sets.
EXAMPLES $ thymian analyze
$ thymian analyze --traffic har:./traffic.har
$ thymian analyze --spec openapi:./openapi.yaml --traffic har:./traffic.harSee code: dist/commands/analyze.js
thymian config show
Section titled “thymian config show”Show the current Thymian configuration.
USAGE $ thymian config show [--json] [--verbose] [--debug] [--log-level trace|debug|info|warn|error|silent] [--config <value>] [--autoload] [--plugin <value>...] [--option <plugin>.<path>=<value>...] [--spec type:location...] [--traffic type:location...] [--rule-set package-name...] [--rule-severity off|error|warn|hint] [--timeout <value>] [--idle-timeout <value>] [--cwd <value>] [--suppress-feedback] [--yaml]
FLAGS --cwd=<value> [default: /home/runner/work/thymian/thymian/packages/thymian] Set current working directory. --[no-]yaml Output configuration in YAML format.
BASE FLAGS --[no-]autoload Disable automatic loading and initialization of plugins based on configuration file. --config=<value> Path to thymian configuration file. --debug Run thymian in debug mode. --idle-timeout=<value> [default: 500] Set the duration in ms to waited for events and actions when closing Thymian. --log-level=<option> Set log level (trace, debug, info, warn, error, silent). When set to trace, all events are traced. <options: trace|debug|info|warn|error|silent> --option=<plugin>.<path>=<value>... Override plugin options. Format: <pluginName>.<property.path>=<value>. Supports nested paths (dot notation) and array indices (bracket notation). --plugin=<value>... [default: ] --rule-set=package-name... Add a rule set package to use for validation (e.g. @thymian/rules-rfc-9110). Can be specified multiple times. --rule-severity=<option> Set the minimum rule severity threshold for rule loading (off, error, warn, hint). Only rules at or above this severity are loaded. <options: off|error|warn|hint> --spec=type:location... Specification input in the format <type>:<location> (e.g. openapi:./openapi.yaml). --suppress-feedback Suppress feedback messages from Thymian. --timeout=<value> [default: 10000] Set the duration in ms to wait for anything that happens in Thymian. --traffic=type:location... Traffic input in the format <type>:<location> (e.g. har:./traffic.har). --verbose Run thymian in verbose mode.
GLOBAL FLAGS --json Format output as json.
DESCRIPTION Show the current Thymian configuration.See code: dist/commands/config/show.js
thymian feedback
Section titled “thymian feedback”USAGE $ thymian feedback [--json] [--suppress-feedback]
GLOBAL FLAGS --json Format output as json.
BASE FLAGS --suppress-feedback Suppress feedback messages from Thymian.See code: dist/commands/feedback.js
thymian generate config
Section titled “thymian generate config”Generate a Thymian configuration file for a single API specification.
USAGE $ thymian generate config [--json] [--suppress-feedback] [--cwd <value>] [--interactive] [--output <value>] [--for-spec type:location...]
FLAGS --cwd=<value> [default: /home/runner/work/thymian/thymian/packages/thymian] Set current working directory. --for-spec=type:location... Specification input in the format <type>:<location>. Skips auto-detection and uses the provided spec(s) directly. --[no-]interactive Run in interactive mode. Use --no-interactive for automation. --output=<value> Output path for the generated configuration file. Defaults to thymian.config.yaml in the working directory.
GLOBAL FLAGS --json Format output as json.
BASE FLAGS --suppress-feedback Suppress feedback messages from Thymian.
DESCRIPTION Generate a Thymian configuration file for a single API specification.
EXAMPLES $ thymian generate config
$ thymian generate config --no-interactive
$ thymian generate config --output my-api.config.yaml
$ thymian generate config --for-spec openapi:./petstore.yamlSee code: dist/commands/generate/config.js
thymian generate rule
Section titled “thymian generate rule”Scaffold a new HTTP rule using the httpRule builder.
USAGE $ thymian generate rule [--json] [--suppress-feedback] [--cjs] [--prefix <value>] [--url <value>] [--output <value>] [--cwd <value>]
FLAGS --cjs Generate rule using CommonJS syntax. --cwd=<value> [default: /home/runner/work/thymian/thymian/packages/thymian] Set current working directory. --output=<value> Write the generated rule to a file instead of printing to stdout. --prefix=<value> Prefix for the rule name that is automatically prepended. --url=<value> Reference URL for the rule.
GLOBAL FLAGS --json Format output as json.
BASE FLAGS --suppress-feedback Suppress feedback messages from Thymian.
DESCRIPTION Scaffold a new HTTP rule using the httpRule builder.
EXAMPLES $ thymian generate rule
$ thymian generate rule --prefix my-org/
$ thymian generate rule --cjs
$ thymian generate rule --output src/rules/my-rule.rule.tsSee code: dist/commands/generate/rule.js
thymian help [COMMAND]
Section titled “thymian help [COMMAND]”Display help for thymian.
USAGE $ thymian help [COMMAND...] [-n]
ARGUMENTS [COMMAND...] Command to show help for.
FLAGS -n, --nested-commands Include all nested commands in the output.
DESCRIPTION Display help for thymian.See code: @oclif/plugin-help
thymian lint
Section titled “thymian lint”Lint API specifications against configured rule sets.
USAGE $ thymian lint [--json] [--verbose] [--debug] [--log-level trace|debug|info|warn|error|silent] [--config <value>] [--autoload] [--plugin <value>...] [--option <plugin>.<path>=<value>...] [--spec type:location...] [--traffic type:location...] [--rule-set package-name...] [--rule-severity off|error|warn|hint] [--timeout <value>] [--idle-timeout <value>] [--cwd <value>] [--suppress-feedback]
FLAGS --cwd=<value> [default: /home/runner/work/thymian/thymian/packages/thymian] Set current working directory.
BASE FLAGS --[no-]autoload Disable automatic loading and initialization of plugins based on configuration file. --config=<value> Path to thymian configuration file. --debug Run thymian in debug mode. --idle-timeout=<value> [default: 500] Set the duration in ms to waited for events and actions when closing Thymian. --log-level=<option> Set log level (trace, debug, info, warn, error, silent). When set to trace, all events are traced. <options: trace|debug|info|warn|error|silent> --option=<plugin>.<path>=<value>... Override plugin options. Format: <pluginName>.<property.path>=<value>. Supports nested paths (dot notation) and array indices (bracket notation). --plugin=<value>... [default: ] --rule-set=package-name... Add a rule set package to use for validation (e.g. @thymian/rules-rfc-9110). Can be specified multiple times. --rule-severity=<option> Set the minimum rule severity threshold for rule loading (off, error, warn, hint). Only rules at or above this severity are loaded. <options: off|error|warn|hint> --spec=type:location... Specification input in the format <type>:<location> (e.g. openapi:./openapi.yaml). --suppress-feedback Suppress feedback messages from Thymian. --timeout=<value> [default: 10000] Set the duration in ms to wait for anything that happens in Thymian. --traffic=type:location... Traffic input in the format <type>:<location> (e.g. har:./traffic.har). --verbose Run thymian in verbose mode.
GLOBAL FLAGS --json Format output as json.
DESCRIPTION Lint API specifications against configured rule sets.
EXAMPLES $ thymian lint
$ thymian lint --spec openapi:./openapi.yaml
$ thymian lint --rule-set @thymian/rules-rfc-9110See code: dist/commands/lint.js
thymian plugins list
Section titled “thymian plugins list”List all registered Thymian plugins.
USAGE $ thymian plugins list [--json] [--verbose] [--debug] [--log-level trace|debug|info|warn|error|silent] [--config <value>] [--autoload] [--plugin <value>...] [--option <plugin>.<path>=<value>...] [--spec type:location...] [--traffic type:location...] [--rule-set package-name...] [--rule-severity off|error|warn|hint] [--timeout <value>] [--idle-timeout <value>] [--cwd <value>] [--suppress-feedback]
FLAGS --cwd=<value> [default: /home/runner/work/thymian/thymian/packages/thymian] Set current working directory.
BASE FLAGS --[no-]autoload Disable automatic loading and initialization of plugins based on configuration file. --config=<value> Path to thymian configuration file. --debug Run thymian in debug mode. --idle-timeout=<value> [default: 500] Set the duration in ms to waited for events and actions when closing Thymian. --log-level=<option> Set log level (trace, debug, info, warn, error, silent). When set to trace, all events are traced. <options: trace|debug|info|warn|error|silent> --option=<plugin>.<path>=<value>... Override plugin options. Format: <pluginName>.<property.path>=<value>. Supports nested paths (dot notation) and array indices (bracket notation). --plugin=<value>... [default: ] --rule-set=package-name... Add a rule set package to use for validation (e.g. @thymian/rules-rfc-9110). Can be specified multiple times. --rule-severity=<option> Set the minimum rule severity threshold for rule loading (off, error, warn, hint). Only rules at or above this severity are loaded. <options: off|error|warn|hint> --spec=type:location... Specification input in the format <type>:<location> (e.g. openapi:./openapi.yaml). --suppress-feedback Suppress feedback messages from Thymian. --timeout=<value> [default: 10000] Set the duration in ms to wait for anything that happens in Thymian. --traffic=type:location... Traffic input in the format <type>:<location> (e.g. har:./traffic.har). --verbose Run thymian in verbose mode.
GLOBAL FLAGS --json Format output as json.
DESCRIPTION List all registered Thymian plugins.See code: dist/commands/plugins/list.js
thymian rules list
Section titled “thymian rules list”List all rules from the configured rule sets.
USAGE $ thymian rules list [--json] [--verbose] [--debug] [--log-level trace|debug|info|warn|error|silent] [--config <value>] [--autoload] [--plugin <value>...] [--option <plugin>.<path>=<value>...] [--spec type:location...] [--traffic type:location...] [--rule-set package-name...] [--rule-severity off|error|warn|hint] [--timeout <value>] [--idle-timeout <value>] [--cwd <value>] [--suppress-feedback] [--type static|analytics|test|informational...]
FLAGS --cwd=<value> [default: /home/runner/work/thymian/thymian/packages/thymian] Set current working directory. --type=<option>... Filter rules by type (static, analytics, test, informational). Can be specified multiple times. <options: static|analytics|test|informational>
BASE FLAGS --[no-]autoload Disable automatic loading and initialization of plugins based on configuration file. --config=<value> Path to thymian configuration file. --debug Run thymian in debug mode. --idle-timeout=<value> [default: 500] Set the duration in ms to waited for events and actions when closing Thymian. --log-level=<option> Set log level (trace, debug, info, warn, error, silent). When set to trace, all events are traced. <options: trace|debug|info|warn|error|silent> --option=<plugin>.<path>=<value>... Override plugin options. Format: <pluginName>.<property.path>=<value>. Supports nested paths (dot notation) and array indices (bracket notation). --plugin=<value>... [default: ] --rule-set=package-name... Add a rule set package to use for validation (e.g. @thymian/rules-rfc-9110). Can be specified multiple times. --rule-severity=<option> Set the minimum rule severity threshold for rule loading (off, error, warn, hint). Only rules at or above this severity are loaded. <options: off|error|warn|hint> --spec=type:location... Specification input in the format <type>:<location> (e.g. openapi:./openapi.yaml). --suppress-feedback Suppress feedback messages from Thymian. --timeout=<value> [default: 10000] Set the duration in ms to wait for anything that happens in Thymian. --traffic=type:location... Traffic input in the format <type>:<location> (e.g. har:./traffic.har). --verbose Run thymian in verbose mode.
GLOBAL FLAGS --json Format output as json.
DESCRIPTION List all rules from the configured rule sets.
EXAMPLES $ thymian rules list
$ thymian rules list --rule-set @thymian/rules-rfc-9110
$ thymian rules list --rule-severity hint
$ thymian rules list --type staticSee code: dist/commands/rules/list.js
thymian schema
Section titled “thymian schema”USAGE $ thymian schema [--json] [--verbose] [--debug] [--log-level trace|debug|info|warn|error|silent] [--config <value>] [--autoload] [--plugin <value>...] [--option <plugin>.<path>=<value>...] [--spec type:location...] [--traffic type:location...] [--rule-set package-name...] [--rule-severity off|error|warn|hint] [--timeout <value>] [--idle-timeout <value>] [--cwd <value>] [--suppress-feedback]
FLAGS --cwd=<value> [default: /home/runner/work/thymian/thymian/packages/thymian] Set current working directory.
BASE FLAGS --[no-]autoload Disable automatic loading and initialization of plugins based on configuration file. --config=<value> Path to thymian configuration file. --debug Run thymian in debug mode. --idle-timeout=<value> [default: 500] Set the duration in ms to waited for events and actions when closing Thymian. --log-level=<option> Set log level (trace, debug, info, warn, error, silent). When set to trace, all events are traced. <options: trace|debug|info|warn|error|silent> --option=<plugin>.<path>=<value>... Override plugin options. Format: <pluginName>.<property.path>=<value>. Supports nested paths (dot notation) and array indices (bracket notation). --plugin=<value>... [default: ] --rule-set=package-name... Add a rule set package to use for validation (e.g. @thymian/rules-rfc-9110). Can be specified multiple times. --rule-severity=<option> Set the minimum rule severity threshold for rule loading (off, error, warn, hint). Only rules at or above this severity are loaded. <options: off|error|warn|hint> --spec=type:location... Specification input in the format <type>:<location> (e.g. openapi:./openapi.yaml). --suppress-feedback Suppress feedback messages from Thymian. --timeout=<value> [default: 10000] Set the duration in ms to wait for anything that happens in Thymian. --traffic=type:location... Traffic input in the format <type>:<location> (e.g. har:./traffic.har). --verbose Run thymian in verbose mode.
GLOBAL FLAGS --json Format output as json.See code: dist/commands/schema.js
thymian serve
Section titled “thymian serve”Run Thymian in serve mode.
USAGE $ thymian serve [--json] [--verbose] [--debug] [--log-level trace|debug|info|warn|error|silent] [--config <value>] [--autoload] [--plugin <value>...] [--option <plugin>.<path>=<value>...] [--spec type:location...] [--traffic type:location...] [--rule-set package-name...] [--rule-severity off|error|warn|hint] [--timeout <value>] [--idle-timeout <value>] [--cwd <value>] [--suppress-feedback]
FLAGS --cwd=<value> [default: /home/runner/work/thymian/thymian/packages/thymian] Set current working directory.
BASE FLAGS --[no-]autoload Disable automatic loading and initialization of plugins based on configuration file. --config=<value> Path to thymian configuration file. --debug Run thymian in debug mode. --idle-timeout=<value> [default: 500] Set the duration in ms to waited for events and actions when closing Thymian. --log-level=<option> Set log level (trace, debug, info, warn, error, silent). When set to trace, all events are traced. <options: trace|debug|info|warn|error|silent> --option=<plugin>.<path>=<value>... Override plugin options. Format: <pluginName>.<property.path>=<value>. Supports nested paths (dot notation) and array indices (bracket notation). --plugin=<value>... [default: ] --rule-set=package-name... Add a rule set package to use for validation (e.g. @thymian/rules-rfc-9110). Can be specified multiple times. --rule-severity=<option> Set the minimum rule severity threshold for rule loading (off, error, warn, hint). Only rules at or above this severity are loaded. <options: off|error|warn|hint> --spec=type:location... Specification input in the format <type>:<location> (e.g. openapi:./openapi.yaml). --suppress-feedback Suppress feedback messages from Thymian. --timeout=<value> [default: 10000] Set the duration in ms to wait for anything that happens in Thymian. --traffic=type:location... Traffic input in the format <type>:<location> (e.g. har:./traffic.har). --verbose Run thymian in verbose mode.
GLOBAL FLAGS --json Format output as json.
DESCRIPTION Run Thymian in serve mode.
EXAMPLES $ thymian serveSee code: dist/commands/serve.js
thymian test
Section titled “thymian test”Test API specifications by running live requests against configured rule sets.
USAGE $ thymian test [--json] [--verbose] [--debug] [--log-level trace|debug|info|warn|error|silent] [--config <value>] [--autoload] [--plugin <value>...] [--option <plugin>.<path>=<value>...] [--spec type:location...] [--traffic type:location...] [--rule-set package-name...] [--rule-severity off|error|warn|hint] [--timeout <value>] [--idle-timeout <value>] [--cwd <value>] [--suppress-feedback] [--target-url <value>]
FLAGS --cwd=<value> [default: /home/runner/work/thymian/thymian/packages/thymian] Set current working directory. --target-url=<value> Override the target URL for all test requests. When set, all requests are sent to this origin instead of the servers defined in the specification.
BASE FLAGS --[no-]autoload Disable automatic loading and initialization of plugins based on configuration file. --config=<value> Path to thymian configuration file. --debug Run thymian in debug mode. --idle-timeout=<value> [default: 500] Set the duration in ms to waited for events and actions when closing Thymian. --log-level=<option> Set log level (trace, debug, info, warn, error, silent). When set to trace, all events are traced. <options: trace|debug|info|warn|error|silent> --option=<plugin>.<path>=<value>... Override plugin options. Format: <pluginName>.<property.path>=<value>. Supports nested paths (dot notation) and array indices (bracket notation). --plugin=<value>... [default: ] --rule-set=package-name... Add a rule set package to use for validation (e.g. @thymian/rules-rfc-9110). Can be specified multiple times. --rule-severity=<option> Set the minimum rule severity threshold for rule loading (off, error, warn, hint). Only rules at or above this severity are loaded. <options: off|error|warn|hint> --spec=type:location... Specification input in the format <type>:<location> (e.g. openapi:./openapi.yaml). --suppress-feedback Suppress feedback messages from Thymian. --timeout=<value> [default: 10000] Set the duration in ms to wait for anything that happens in Thymian. --traffic=type:location... Traffic input in the format <type>:<location> (e.g. har:./traffic.har). --verbose Run thymian in verbose mode.
GLOBAL FLAGS --json Format output as json.
DESCRIPTION Test API specifications by running live requests against configured rule sets.
EXAMPLES $ thymian test
$ thymian test --spec openapi:./openapi.yaml
$ thymian test --rule-set @thymian/rules-rfc-9110
$ thymian test --target-url http://localhost:8080See code: dist/commands/test.js
thymian version
Section titled “thymian version”USAGE $ thymian version [--json] [--verbose]
FLAGS --verbose Show additional information about the CLI.
GLOBAL FLAGS --json Format output as json.
FLAG DESCRIPTIONS --verbose Show additional information about the CLI.
Additionally shows the architecture, node version, operating system, and versions of plugins that the CLI is using.See code: @oclif/plugin-version