bdd inspect
Detect the project’s languages, build system, BDD framework, and —
critically — whether each language’s runtime is actually installed.
The CLI only executes tests when the runtime is present, so inspect
tells you up front what will run and what will refuse.
Usage: bdd inspect [OPTIONS]
Flags
Only the global flags (--root, --model).
Detection rules
| Marker in the root | Language | Runtime probed |
|---|---|---|
pom.xml | Java (Maven + Cucumber-JVM) | mvn |
package.json + tsconfig.json | TypeScript (Cucumber-JS) | node |
package.json | JavaScript (Cucumber-JS) | node |
*.csproj | .NET (Reqnroll) | dotnet |
Cargo.toml | Rust (cucumber-rs) | cargo |
Examples
A Rust project with the toolchain installed:
bdd inspect
{
"languages": [
{
"language": "rust",
"bddFramework": "cucumber-rs",
"runtime": "cargo",
"runtimePresent": true,
"runtimeVersion": "cargo 1.97.0"
}
],
"nextStep": "The runtime is present. 'bdd test' will execute the suite."
}
A Java project without Maven on the PATH:
{
"languages": [
{
"language": "java",
"bddFramework": "cucumber-jvm",
"runtime": "mvn",
"runtimePresent": false,
"note": "Install Maven (and a JDK) to execute tests; the CLI reports, it never installs."
}
],
"nextStep": "Install the missing runtime before 'bdd test'; authoring commands still work."
}
An empty directory reports no languages and points you at
bdd init.
Notes
- Authoring commands (spec, feature, scenario, steps, unittest) work
without any runtime; only
bdd testand the test-running parts ofbdd greenfieldrequire one. - With multiple markers present (a polyglot root), every detected language is listed.