Skip to content

Quick Start

Run CukeDedup from the root of a test project:

Terminal window
cuke-dedup .

No configuration is required. CukeDedup respects .gitignore and .cuke-dedupignore, skips common generated directories, discovers conventional Gherkin and JavaScript/TypeScript files, and recognizes common Given, When, Then, and defineStep registrations and aliases.

Terminal window
cuke-dedup . --threshold 5
cuke-dedup . --print-config
cuke-dedup . --reporters terminal,json,html,sarif
cuke-dedup . --reporters jsonl
cuke-dedup . --output reports/cuke-dedup

cuke-dedup check . is equivalent to cuke-dedup .. The explicit check form requires a path; use cuke-dedup ./check to analyze a directory literally named check.

The terminal report lists findings grouped by rule, each with a severity, a primary location (path:line:column), related locations, evidence, and a suggested action. It ends with totals, the duplication rate against the threshold, and detection time.

Exit codes: 0 means the configured quality gate passed, 1 means the duplication threshold, an error rule, or the new-finding allowance failed, and 2 means an operational error prevented a valid run. Warnings alone never produce exit code 1 — see CI and baselines.