@poleski/quality-tools 0.1.4 → 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,17 @@
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
+
9
+ ## 0.2.0
10
+
11
+ ### Minor Changes
12
+
13
+ - 5bab67a: Add an acceptance spec compiler that turns Gherkin-ish Markdown into Playwright tests.
14
+
3
15
  ## 0.1.4
4
16
 
5
17
  ### Patch Changes
package/README.md CHANGED
@@ -24,6 +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 "tests/acceptance/specs/**/*.feature" "tests/playwright/generated" --steps "tests/acceptance/steps.ts" --ir "build/acceptance/ir" --dry "build/acceptance/dry"
27
28
  pnpm exec quality-tools boundaries . --strict
28
29
  pnpm exec quality-tools reachability . --strict
29
30
  pnpm exec quality-tools scrap ./tests
@@ -39,6 +40,40 @@ hardcoded folder names. The starter config uses `src` as a conventional default,
39
40
  but the tools scope from the target path plus your configured include/exclude
40
41
  globs.
41
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
+
42
77
  ## Reports
43
78
 
44
79
  All quality-tool artifacts use one report root:
@@ -244,12 +279,15 @@ root, then falls back to the bundled base config.
244
279
  ## Other Tools
245
280
 
246
281
  ```bash
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"
247
283
  pnpm exec quality-tools organize ./src
248
284
  pnpm exec quality-tools boundaries parser --strict
249
285
  pnpm exec quality-tools reachability parser --strict
250
286
  pnpm exec quality-tools scrap ./tests --strict
251
287
  ```
252
288
 
289
+ - `acceptance` compiles human-authored Gherkin `.feature` specs into
290
+ executable Playwright specs that import host-owned step bindings.
253
291
  - `organize` checks directory size, depth, naming, barrels, and cohesion. Use
254
292
  `--write-baseline` and `--compare <path>` for baseline workflows.
255
293
  - `boundaries` checks configured layers, entrypoints, dead surfaces, and dead