@poleski/quality-tools 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @poleski/quality-tools
2
2
 
3
+ ## 0.2.1
4
+
5
+ ### Patch Changes
6
+
7
+ - c3e322b: Add acceptance pipeline commands for JSON IR parsing, advisory DRY reports, and thin split Playwright entrypoints.
8
+
3
9
  ## 0.2.0
4
10
 
5
11
  ### Minor Changes
package/README.md CHANGED
@@ -24,7 +24,7 @@ pnpm add -D link:/absolute/path/to/quality-tools
24
24
 
25
25
  ```bash
26
26
  pnpm exec quality-tools organize .
27
- pnpm exec quality-tools acceptance compile --spec "tests/acceptance/specs/**/*.md" --steps "tests/acceptance/steps.ts" --out "tests/playwright/generated/acceptance.spec.ts"
27
+ pnpm exec quality-tools acceptance compile "tests/acceptance/specs/**/*.feature" "tests/playwright/generated" --steps "tests/acceptance/steps.ts" --ir "build/acceptance/ir" --dry "build/acceptance/dry"
28
28
  pnpm exec quality-tools boundaries . --strict
29
29
  pnpm exec quality-tools reachability . --strict
30
30
  pnpm exec quality-tools scrap ./tests
@@ -40,6 +40,40 @@ hardcoded folder names. The starter config uses `src` as a conventional default,
40
40
  but the tools scope from the target path plus your configured include/exclude
41
41
  globs.
42
42
 
43
+ ## Acceptance
44
+
45
+ The acceptance tool follows a small parser -> IR -> DRY check -> entrypoint
46
+ generator pipeline:
47
+
48
+ ```bash
49
+ pnpm exec quality-tools acceptance parse features/example.feature build/acceptance/ir/example.json
50
+ pnpm exec quality-tools acceptance dry-check build/acceptance/ir/example.json build/acceptance/dry/example.json
51
+ pnpm exec quality-tools acceptance generate build/acceptance/ir/example.json acceptance/generated/example.spec.ts --steps acceptance/steps.ts
52
+ ```
53
+
54
+ For host projects with many specs, `compile` loops the same pipeline over a
55
+ glob, writes one JSON IR file per source spec, optionally writes advisory DRY
56
+ reports, and creates thin Playwright entrypoints that load the IR at runtime:
57
+
58
+ ```bash
59
+ pnpm exec quality-tools acceptance compile "tests/acceptance/specs/**/*.feature" "tests/playwright/generated" --steps "tests/acceptance/steps.ts" --ir "build/acceptance/ir" --dry "build/acceptance/dry"
60
+ ```
61
+
62
+ The generated Playwright files delegate all behavior to the host step registry.
63
+ DRY reports are advisory; they do not rewrite the source specs, IR, generated
64
+ tests, or host bindings.
65
+
66
+ The checker treats exact duplicate assertions as actionable only when no setup
67
+ or action step occurs between the repeated assertions. This keeps restoration
68
+ checks such as toggling a graph-scope filter off and back on out of the major
69
+ cleanup path while still flagging accidental duplicate lines.
70
+
71
+ Scenario Outline examples may include a `case`, `name`, `title`, or `example`
72
+ column to control the generated Playwright case suffix. Prefer `case` as the
73
+ first column when the remaining example values are detailed test data; this
74
+ keeps generated test names readable while preserving the full row in the runtime
75
+ example payload.
76
+
43
77
  ## Reports
44
78
 
45
79
  All quality-tool artifacts use one report root:
@@ -245,14 +279,14 @@ root, then falls back to the bundled base config.
245
279
  ## Other Tools
246
280
 
247
281
  ```bash
248
- pnpm exec quality-tools acceptance compile --spec "tests/acceptance/specs/**/*.md" --steps "tests/acceptance/steps.ts" --out "tests/playwright/generated/acceptance.spec.ts"
282
+ pnpm exec quality-tools acceptance compile "tests/acceptance/specs/**/*.feature" "tests/playwright/generated" --steps "tests/acceptance/steps.ts" --ir "build/acceptance/ir" --dry "build/acceptance/dry"
249
283
  pnpm exec quality-tools organize ./src
250
284
  pnpm exec quality-tools boundaries parser --strict
251
285
  pnpm exec quality-tools reachability parser --strict
252
286
  pnpm exec quality-tools scrap ./tests --strict
253
287
  ```
254
288
 
255
- - `acceptance` compiles human-authored Gherkin-ish Markdown specs into
289
+ - `acceptance` compiles human-authored Gherkin `.feature` specs into
256
290
  executable Playwright specs that import host-owned step bindings.
257
291
  - `organize` checks directory size, depth, naming, barrels, and cohesion. Use
258
292
  `--write-baseline` and `--compare <path>` for baseline workflows.