@sun-asterisk/sungen 2.6.15 → 2.7.0-beta.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/dist/cli/index.js +3 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/exporters/feature-parser.d.ts +9 -2
- package/dist/exporters/feature-parser.d.ts.map +1 -1
- package/dist/exporters/feature-parser.js +12 -4
- package/dist/exporters/feature-parser.js.map +1 -1
- package/dist/orchestrator/ai-rules-updater.d.ts.map +1 -1
- package/dist/orchestrator/ai-rules-updater.js +10 -0
- package/dist/orchestrator/ai-rules-updater.js.map +1 -1
- package/dist/orchestrator/project-initializer.d.ts +5 -0
- package/dist/orchestrator/project-initializer.d.ts.map +1 -1
- package/dist/orchestrator/project-initializer.js +16 -0
- package/dist/orchestrator/project-initializer.js.map +1 -1
- package/dist/orchestrator/templates/ai-instructions/claude-cmd-create-test.md +9 -1
- package/dist/orchestrator/templates/ai-instructions/claude-cmd-review.md +13 -12
- package/dist/orchestrator/templates/ai-instructions/claude-cmd-run-test.md +4 -2
- package/dist/orchestrator/templates/ai-instructions/claude-config.md +1 -1
- package/dist/orchestrator/templates/ai-instructions/claude-skill-delivery.md +1 -1
- package/dist/orchestrator/templates/ai-instructions/claude-skill-gherkin-syntax.md +14 -0
- package/dist/orchestrator/templates/ai-instructions/claude-skill-selector-fix.md +57 -11
- package/dist/orchestrator/templates/ai-instructions/claude-skill-selector-keys.md +41 -31
- package/dist/orchestrator/templates/ai-instructions/claude-skill-tc-generation.md +386 -326
- package/dist/orchestrator/templates/ai-instructions/claude-skill-tc-review.md +268 -90
- package/dist/orchestrator/templates/ai-instructions/claude-skill-test-design-techniques.md +23 -49
- package/dist/orchestrator/templates/ai-instructions/claude-skill-viewpoint-group-a-data-entry.md +203 -0
- package/dist/orchestrator/templates/ai-instructions/claude-skill-viewpoint-group-b-data-ops.md +179 -0
- package/dist/orchestrator/templates/ai-instructions/claude-skill-viewpoint-group-c-data-explore.md +233 -0
- package/dist/orchestrator/templates/ai-instructions/claude-skill-viewpoint-group-d-display.md +226 -0
- package/dist/orchestrator/templates/ai-instructions/claude-skill-viewpoint-group-e-identity.md +177 -0
- package/dist/orchestrator/templates/ai-instructions/claude-skill-viewpoint.md +69 -240
- package/dist/orchestrator/templates/ai-instructions/copilot-cmd-create-test.md +9 -1
- package/dist/orchestrator/templates/ai-instructions/copilot-cmd-review.md +13 -12
- package/dist/orchestrator/templates/ai-instructions/copilot-cmd-run-test.md +4 -2
- package/dist/orchestrator/templates/ai-instructions/copilot-config.md +1 -1
- package/dist/orchestrator/templates/ai-instructions/github-skill-sungen-delivery.md +1 -1
- package/dist/orchestrator/templates/ai-instructions/github-skill-sungen-gherkin-syntax.md +15 -21
- package/dist/orchestrator/templates/ai-instructions/github-skill-sungen-selector-fix.md +61 -15
- package/dist/orchestrator/templates/ai-instructions/github-skill-sungen-selector-keys.md +41 -31
- package/dist/orchestrator/templates/ai-instructions/github-skill-sungen-tc-generation.md +371 -324
- package/dist/orchestrator/templates/ai-instructions/github-skill-sungen-tc-review.md +262 -102
- package/dist/orchestrator/templates/ai-instructions/github-skill-sungen-test-design-techniques.md +23 -49
- package/dist/orchestrator/templates/ai-instructions/github-skill-sungen-viewpoint-group-a-data-entry.md +203 -0
- package/dist/orchestrator/templates/ai-instructions/github-skill-sungen-viewpoint-group-b-data-ops.md +179 -0
- package/dist/orchestrator/templates/ai-instructions/github-skill-sungen-viewpoint-group-c-data-explore.md +233 -0
- package/dist/orchestrator/templates/ai-instructions/github-skill-sungen-viewpoint-group-d-display.md +226 -0
- package/dist/orchestrator/templates/ai-instructions/github-skill-sungen-viewpoint-group-e-identity.md +177 -0
- package/dist/orchestrator/templates/ai-instructions/github-skill-sungen-viewpoint.md +69 -240
- package/dist/orchestrator/templates/qa-context.md +90 -0
- package/dist/orchestrator/templates/readme.md +16 -13
- package/package.json +9 -1
- package/src/cli/index.ts +4 -1
- package/src/exporters/feature-parser.ts +12 -4
- package/src/orchestrator/ai-rules-updater.ts +10 -0
- package/src/orchestrator/project-initializer.ts +20 -0
- package/src/orchestrator/templates/ai-instructions/claude-cmd-create-test.md +9 -1
- package/src/orchestrator/templates/ai-instructions/claude-cmd-review.md +13 -12
- package/src/orchestrator/templates/ai-instructions/claude-cmd-run-test.md +4 -2
- package/src/orchestrator/templates/ai-instructions/claude-config.md +1 -1
- package/src/orchestrator/templates/ai-instructions/claude-skill-delivery.md +1 -1
- package/src/orchestrator/templates/ai-instructions/claude-skill-gherkin-syntax.md +14 -0
- package/src/orchestrator/templates/ai-instructions/claude-skill-selector-fix.md +57 -11
- package/src/orchestrator/templates/ai-instructions/claude-skill-selector-keys.md +41 -31
- package/src/orchestrator/templates/ai-instructions/claude-skill-tc-generation.md +386 -326
- package/src/orchestrator/templates/ai-instructions/claude-skill-tc-review.md +268 -90
- package/src/orchestrator/templates/ai-instructions/claude-skill-test-design-techniques.md +23 -49
- package/src/orchestrator/templates/ai-instructions/claude-skill-viewpoint-group-a-data-entry.md +203 -0
- package/src/orchestrator/templates/ai-instructions/claude-skill-viewpoint-group-b-data-ops.md +179 -0
- package/src/orchestrator/templates/ai-instructions/claude-skill-viewpoint-group-c-data-explore.md +233 -0
- package/src/orchestrator/templates/ai-instructions/claude-skill-viewpoint-group-d-display.md +226 -0
- package/src/orchestrator/templates/ai-instructions/claude-skill-viewpoint-group-e-identity.md +177 -0
- package/src/orchestrator/templates/ai-instructions/claude-skill-viewpoint.md +69 -240
- package/src/orchestrator/templates/ai-instructions/copilot-cmd-create-test.md +9 -1
- package/src/orchestrator/templates/ai-instructions/copilot-cmd-review.md +13 -12
- package/src/orchestrator/templates/ai-instructions/copilot-cmd-run-test.md +4 -2
- package/src/orchestrator/templates/ai-instructions/copilot-config.md +1 -1
- package/src/orchestrator/templates/ai-instructions/github-skill-sungen-delivery.md +1 -1
- package/src/orchestrator/templates/ai-instructions/github-skill-sungen-gherkin-syntax.md +15 -21
- package/src/orchestrator/templates/ai-instructions/github-skill-sungen-selector-fix.md +61 -15
- package/src/orchestrator/templates/ai-instructions/github-skill-sungen-selector-keys.md +41 -31
- package/src/orchestrator/templates/ai-instructions/github-skill-sungen-tc-generation.md +371 -324
- package/src/orchestrator/templates/ai-instructions/github-skill-sungen-tc-review.md +262 -102
- package/src/orchestrator/templates/ai-instructions/github-skill-sungen-test-design-techniques.md +23 -49
- package/src/orchestrator/templates/ai-instructions/github-skill-sungen-viewpoint-group-a-data-entry.md +203 -0
- package/src/orchestrator/templates/ai-instructions/github-skill-sungen-viewpoint-group-b-data-ops.md +179 -0
- package/src/orchestrator/templates/ai-instructions/github-skill-sungen-viewpoint-group-c-data-explore.md +233 -0
- package/src/orchestrator/templates/ai-instructions/github-skill-sungen-viewpoint-group-d-display.md +226 -0
- package/src/orchestrator/templates/ai-instructions/github-skill-sungen-viewpoint-group-e-identity.md +177 -0
- package/src/orchestrator/templates/ai-instructions/github-skill-sungen-viewpoint.md +69 -240
- package/src/orchestrator/templates/qa-context.md +90 -0
- package/src/orchestrator/templates/readme.md +16 -13
package/dist/cli/index.js
CHANGED
|
@@ -15,12 +15,14 @@ const delivery_1 = require("./commands/delivery");
|
|
|
15
15
|
const figma_1 = require("./commands/figma");
|
|
16
16
|
const add_flow_1 = require("./commands/add-flow");
|
|
17
17
|
const dashboard_1 = require("./commands/dashboard");
|
|
18
|
+
// Read version from package.json so `--version` never drifts from the released version.
|
|
19
|
+
const { version } = require('../../package.json');
|
|
18
20
|
async function main() {
|
|
19
21
|
const program = new commander_1.Command();
|
|
20
22
|
program
|
|
21
23
|
.name('sungen')
|
|
22
24
|
.description('Deterministic E2E Test Compiler — Gherkin + Selectors → Playwright')
|
|
23
|
-
.version(
|
|
25
|
+
.version(version);
|
|
24
26
|
// Global options
|
|
25
27
|
program
|
|
26
28
|
.option('-v, --verbose', 'Enable verbose logging');
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;AACA;;;GAGG;;AAEH,yCAAoC;AACpC,0CAAsD;AACtD,wCAAoD;AACpD,kDAA8D;AAC9D,kDAA8D;AAC9D,8CAA0D;AAC1D,kDAA8D;AAC9D,4CAAwD;AACxD,kDAA6D;AAC7D,oDAAgE;AAEhE,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,QAAQ,CAAC;SACd,WAAW,CAAC,oEAAoE,CAAC;SACjF,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;AACA;;;GAGG;;AAEH,yCAAoC;AACpC,0CAAsD;AACtD,wCAAoD;AACpD,kDAA8D;AAC9D,kDAA8D;AAC9D,8CAA0D;AAC1D,kDAA8D;AAC9D,4CAAwD;AACxD,kDAA6D;AAC7D,oDAAgE;AAEhE,wFAAwF;AACxF,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAwB,CAAC;AAEzE,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,QAAQ,CAAC;SACd,WAAW,CAAC,oEAAoE,CAAC;SACjF,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB,iBAAiB;IACjB,OAAO;SACJ,MAAM,CAAC,eAAe,EAAE,wBAAwB,CAAC,CAAC;IAErD,wBAAwB;IACxB,IAAA,0BAAmB,EAAC,OAAO,CAAC,CAAC;IAC7B,IAAA,wBAAkB,EAAC,OAAO,CAAC,CAAC;IAC5B,IAAA,kCAAuB,EAAC,OAAO,CAAC,CAAC;IACjC,IAAA,kCAAuB,EAAC,OAAO,CAAC,CAAC;IACjC,IAAA,8BAAqB,EAAC,OAAO,CAAC,CAAC;IAC/B,IAAA,kCAAuB,EAAC,OAAO,CAAC,CAAC;IACjC,IAAA,4BAAoB,EAAC,OAAO,CAAC,CAAC;IAC9B,IAAA,iCAAsB,EAAC,OAAO,CAAC,CAAC;IAChC,IAAA,oCAAwB,EAAC,OAAO,CAAC,CAAC;IAElC,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -44,8 +44,15 @@ export declare function splitVpAndName(scenarioName: string): {
|
|
|
44
44
|
*/
|
|
45
45
|
export declare function mapVpToCategory2(vpId: string | undefined, scenarioName?: string): string;
|
|
46
46
|
/**
|
|
47
|
-
* Generate TC ID
|
|
48
|
-
*
|
|
47
|
+
* Generate TC ID, namespaced by screen/flow so it is globally unique across the
|
|
48
|
+
* whole project. This matters because the dashboard tracks each test case by its
|
|
49
|
+
* tcId — without a namespace, `VP-SEC-001` collides across screens (every screen
|
|
50
|
+
* starts its VP numbering at 001) and one screen's results overwrite another's.
|
|
51
|
+
*
|
|
52
|
+
* - With VP ID: VP-SEC-001 + screen "login" → "LOGIN-SEC-001" (strip leading "VP-")
|
|
53
|
+
* - Without VP ID: "LOGIN-001" via the fallback index
|
|
54
|
+
*
|
|
55
|
+
* The scenario title in the .feature still keeps the bare `VP-SEC-001` (human-facing).
|
|
49
56
|
*/
|
|
50
57
|
export declare function generateTcId(screen: string, vpId: string | undefined, fallbackIndex: number): string;
|
|
51
58
|
//# sourceMappingURL=feature-parser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-parser.d.ts","sourceRoot":"","sources":["../../src/exporters/feature-parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,eAAe,EAAe,gBAAgB,EAAE,MAAM,SAAS,CAAC;AA4DzE;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,eAAe,EAAE,MAAM,GAAG,eAAe,CAoC7E;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAEjE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAEtE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAKtD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,QAAQ,CAErE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAK7D;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAMzF;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAUxF;AAED
|
|
1
|
+
{"version":3,"file":"feature-parser.d.ts","sourceRoot":"","sources":["../../src/exporters/feature-parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,eAAe,EAAe,gBAAgB,EAAE,MAAM,SAAS,CAAC;AA4DzE;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,eAAe,EAAE,MAAM,GAAG,eAAe,CAoC7E;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAEjE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAEtE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAKtD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,QAAQ,CAErE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAK7D;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAMzF;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAUxF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAOpG"}
|
|
@@ -179,14 +179,22 @@ function mapVpToCategory2(vpId, scenarioName) {
|
|
|
179
179
|
return 'Function';
|
|
180
180
|
}
|
|
181
181
|
/**
|
|
182
|
-
* Generate TC ID
|
|
183
|
-
*
|
|
182
|
+
* Generate TC ID, namespaced by screen/flow so it is globally unique across the
|
|
183
|
+
* whole project. This matters because the dashboard tracks each test case by its
|
|
184
|
+
* tcId — without a namespace, `VP-SEC-001` collides across screens (every screen
|
|
185
|
+
* starts its VP numbering at 001) and one screen's results overwrite another's.
|
|
186
|
+
*
|
|
187
|
+
* - With VP ID: VP-SEC-001 + screen "login" → "LOGIN-SEC-001" (strip leading "VP-")
|
|
188
|
+
* - Without VP ID: "LOGIN-001" via the fallback index
|
|
189
|
+
*
|
|
190
|
+
* The scenario title in the .feature still keeps the bare `VP-SEC-001` (human-facing).
|
|
184
191
|
*/
|
|
185
192
|
function generateTcId(screen, vpId, fallbackIndex) {
|
|
193
|
+
const screenUpper = screen.toUpperCase().replace(/[^A-Z0-9]/g, '-');
|
|
186
194
|
if (vpId) {
|
|
187
|
-
|
|
195
|
+
const vpCore = vpId.replace(/^VP-/, '');
|
|
196
|
+
return `${screenUpper}-${vpCore}`;
|
|
188
197
|
}
|
|
189
|
-
const screenUpper = screen.toUpperCase().replace(/[^A-Z0-9]/g, '-');
|
|
190
198
|
return `${screenUpper}-${String(fallbackIndex).padStart(3, '0')}`;
|
|
191
199
|
}
|
|
192
200
|
//# sourceMappingURL=feature-parser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-parser.js","sourceRoot":"","sources":["../../src/exporters/feature-parser.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAkEH,oDAoCC;AAMD,kDAEC;AAKD,4DAEC;AAKD,0CAKC;AAKD,kDAEC;AAKD,0CAKC;AAOD,wCAMC;AAOD,4CAUC;
|
|
1
|
+
{"version":3,"file":"feature-parser.js","sourceRoot":"","sources":["../../src/exporters/feature-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-rules-updater.d.ts","sourceRoot":"","sources":["../../src/orchestrator/ai-rules-updater.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,eAAO,MAAM,qBAAqB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"ai-rules-updater.d.ts","sourceRoot":"","sources":["../../src/orchestrator/ai-rules-updater.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,eAAO,MAAM,qBAAqB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAuEnD,CAAC;AAEF,qBAAa,cAAc;IACzB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,aAAa,CAAS;gBAElB,GAAG,EAAE,MAAM;IAKjB,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAwF7C"}
|
|
@@ -74,6 +74,11 @@ exports.AI_RULES_FILE_MAPPING = [
|
|
|
74
74
|
['claude-skill-selector-fix.md', '.claude/skills/sungen-selector-fix/SKILL.md'],
|
|
75
75
|
['claude-skill-tc-review.md', '.claude/skills/sungen-tc-review/SKILL.md'],
|
|
76
76
|
['claude-skill-viewpoint.md', '.claude/skills/sungen-viewpoint/SKILL.md'],
|
|
77
|
+
['claude-skill-viewpoint-group-a-data-entry.md', '.claude/skills/sungen-viewpoint/group-a-data-entry.md'],
|
|
78
|
+
['claude-skill-viewpoint-group-b-data-ops.md', '.claude/skills/sungen-viewpoint/group-b-data-ops.md'],
|
|
79
|
+
['claude-skill-viewpoint-group-c-data-explore.md', '.claude/skills/sungen-viewpoint/group-c-data-explore.md'],
|
|
80
|
+
['claude-skill-viewpoint-group-d-display.md', '.claude/skills/sungen-viewpoint/group-d-display.md'],
|
|
81
|
+
['claude-skill-viewpoint-group-e-identity.md', '.claude/skills/sungen-viewpoint/group-e-identity.md'],
|
|
77
82
|
['claude-skill-delivery.md', '.claude/skills/sungen-delivery/SKILL.md'],
|
|
78
83
|
['claude-skill-dashboard.md', '.claude/skills/sungen-dashboard/SKILL.md'],
|
|
79
84
|
['claude-skill-capture-figma.md', '.claude/skills/sungen-capture-figma/SKILL.md'],
|
|
@@ -92,6 +97,11 @@ exports.AI_RULES_FILE_MAPPING = [
|
|
|
92
97
|
['github-skill-sungen-selector-fix.md', '.github/skills/sungen-selector-fix/SKILL.md'],
|
|
93
98
|
['github-skill-sungen-tc-review.md', '.github/skills/sungen-tc-review/SKILL.md'],
|
|
94
99
|
['github-skill-sungen-viewpoint.md', '.github/skills/sungen-viewpoint/SKILL.md'],
|
|
100
|
+
['github-skill-sungen-viewpoint-group-a-data-entry.md', '.github/skills/sungen-viewpoint/group-a-data-entry.md'],
|
|
101
|
+
['github-skill-sungen-viewpoint-group-b-data-ops.md', '.github/skills/sungen-viewpoint/group-b-data-ops.md'],
|
|
102
|
+
['github-skill-sungen-viewpoint-group-c-data-explore.md', '.github/skills/sungen-viewpoint/group-c-data-explore.md'],
|
|
103
|
+
['github-skill-sungen-viewpoint-group-d-display.md', '.github/skills/sungen-viewpoint/group-d-display.md'],
|
|
104
|
+
['github-skill-sungen-viewpoint-group-e-identity.md', '.github/skills/sungen-viewpoint/group-e-identity.md'],
|
|
95
105
|
['github-skill-sungen-delivery.md', '.github/skills/sungen-delivery/SKILL.md'],
|
|
96
106
|
['github-skill-sungen-dashboard.md', '.github/skills/sungen-dashboard/SKILL.md'],
|
|
97
107
|
['github-skill-sungen-capture-figma.md', '.github/skills/sungen-capture-figma/SKILL.md'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-rules-updater.js","sourceRoot":"","sources":["../../src/orchestrator/ai-rules-updater.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ai-rules-updater.js","sourceRoot":"","sources":["../../src/orchestrator/ai-rules-updater.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAE7B,2CAA2C;AAC3C,qCAAqC;AACxB,QAAA,qBAAqB,GAAuB;IACvD,SAAS;IACT,CAAC,kBAAkB,EAAE,WAAW,CAAC;IACjC,CAAC,mBAAmB,EAAE,iCAAiC,CAAC;IAExD,yBAAyB;IACzB,CAAC,0BAA0B,EAAE,uCAAuC,CAAC;IACrE,CAAC,wBAAwB,EAAE,qCAAqC,CAAC;IACjE,CAAC,2BAA2B,EAAE,wCAAwC,CAAC;IACvE,CAAC,wBAAwB,EAAE,qCAAqC,CAAC;IACjE,CAAC,sBAAsB,EAAE,mCAAmC,CAAC;IAC7D,CAAC,wBAAwB,EAAE,qCAAqC,CAAC;IACjE,CAAC,yBAAyB,EAAE,sCAAsC,CAAC;IACnE,CAAC,sBAAsB,EAAE,mCAAmC,CAAC;IAE7D,4BAA4B;IAC5B,CAAC,2BAA2B,EAAE,6CAA6C,CAAC;IAC5E,CAAC,yBAAyB,EAAE,2CAA2C,CAAC;IACxE,CAAC,4BAA4B,EAAE,8CAA8C,CAAC;IAC9E,CAAC,yBAAyB,EAAE,2CAA2C,CAAC;IACxE,CAAC,uBAAuB,EAAE,yCAAyC,CAAC;IACpE,CAAC,yBAAyB,EAAE,2CAA2C,CAAC;IACxE,CAAC,0BAA0B,EAAE,4CAA4C,CAAC;IAC1E,CAAC,uBAAuB,EAAE,yCAAyC,CAAC;IAEpE,uBAAuB;IACvB,CAAC,gCAAgC,EAAE,+CAA+C,CAAC;IACnF,CAAC,+BAA+B,EAAE,8CAA8C,CAAC;IACjF,CAAC,+BAA+B,EAAE,8CAA8C,CAAC;IACjF,CAAC,+BAA+B,EAAE,8CAA8C,CAAC;IACjF,CAAC,wCAAwC,EAAE,uDAAuD,CAAC;IACnG,CAAC,8BAA8B,EAAE,6CAA6C,CAAC;IAC/E,CAAC,2BAA2B,EAAE,0CAA0C,CAAC;IACzE,CAAC,2BAA2B,EAAE,0CAA0C,CAAC;IACzE,CAAC,8CAA8C,EAAE,uDAAuD,CAAC;IACzG,CAAC,4CAA4C,EAAE,qDAAqD,CAAC;IACrG,CAAC,gDAAgD,EAAE,yDAAyD,CAAC;IAC7G,CAAC,2CAA2C,EAAE,oDAAoD,CAAC;IACnG,CAAC,4CAA4C,EAAE,qDAAqD,CAAC;IACrG,CAAC,0BAA0B,EAAE,yCAAyC,CAAC;IACvE,CAAC,2BAA2B,EAAE,0CAA0C,CAAC;IACzE,CAAC,+BAA+B,EAAE,8CAA8C,CAAC;IACjF,CAAC,+BAA+B,EAAE,8CAA8C,CAAC;IACjF,CAAC,8BAA8B,EAAE,6CAA6C,CAAC;IAC/E,CAAC,8BAA8B,EAAE,6CAA6C,CAAC;IAC/E,CAAC,wBAAwB,EAAE,uCAAuC,CAAC;IAEnE,kCAAkC;IAClC,CAAC,+BAA+B,EAAE,+CAA+C,CAAC;IAElF,0BAA0B;IAC1B,CAAC,uCAAuC,EAAE,+CAA+C,CAAC;IAC1F,CAAC,sCAAsC,EAAE,8CAA8C,CAAC;IACxF,CAAC,sCAAsC,EAAE,8CAA8C,CAAC;IACxF,CAAC,sCAAsC,EAAE,8CAA8C,CAAC;IACxF,CAAC,+CAA+C,EAAE,uDAAuD,CAAC;IAC1G,CAAC,qCAAqC,EAAE,6CAA6C,CAAC;IACtF,CAAC,kCAAkC,EAAE,0CAA0C,CAAC;IAChF,CAAC,kCAAkC,EAAE,0CAA0C,CAAC;IAChF,CAAC,qDAAqD,EAAE,uDAAuD,CAAC;IAChH,CAAC,mDAAmD,EAAE,qDAAqD,CAAC;IAC5G,CAAC,uDAAuD,EAAE,yDAAyD,CAAC;IACpH,CAAC,kDAAkD,EAAE,oDAAoD,CAAC;IAC1G,CAAC,mDAAmD,EAAE,qDAAqD,CAAC;IAC5G,CAAC,iCAAiC,EAAE,yCAAyC,CAAC;IAC9E,CAAC,kCAAkC,EAAE,0CAA0C,CAAC;IAChF,CAAC,sCAAsC,EAAE,8CAA8C,CAAC;IACxF,CAAC,sCAAsC,EAAE,8CAA8C,CAAC;IACxF,CAAC,qCAAqC,EAAE,6CAA6C,CAAC;IACtF,CAAC,qCAAqC,EAAE,6CAA6C,CAAC;IACtF,CAAC,+BAA+B,EAAE,uCAAuC,CAAC;CAC3E,CAAC;AAEF,MAAa,cAAc;IAIzB,YAAY,GAAW;QACrB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAe;QAC1B,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;QAE/D,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,KAAK,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,IAAI,6BAAqB,EAAE,CAAC;YAClE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;YACjE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;YAEtD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBACjC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC3B,SAAS;YACX,CAAC;YAED,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAE1D,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC9B,MAAM,cAAc,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBAC5D,IAAI,cAAc,KAAK,UAAU,EAAE,CAAC;oBAClC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAC9B,SAAS;gBACX,CAAC;gBAED,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;gBACpD,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBAC3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;wBAC9B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC/C,CAAC;oBACD,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;gBACpD,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,gBAAgB;QAChB,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,gBAAgB,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;YAChD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;YAC9C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,yBAAyB,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC;YAC3D,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,2BAA2B,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;YAC3D,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QAED,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QACrD,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;QACjE,CAAC;aAAM,IAAI,MAAM,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,GAAG,YAAY,4DAA4D,CAAC,CAAC;QAC3F,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,GAAG,YAAY,gCAAgC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;CACF;AAjGD,wCAiGC"}
|
|
@@ -60,6 +60,11 @@ export declare class ProjectInitializer {
|
|
|
60
60
|
* skill / command template only needs to be registered once.
|
|
61
61
|
*/
|
|
62
62
|
private createAIRules;
|
|
63
|
+
/**
|
|
64
|
+
* Create qa/context.md for the QA lead to fill project-wide context
|
|
65
|
+
* (roles, testing strategy, global rules, error patterns).
|
|
66
|
+
*/
|
|
67
|
+
private createContext;
|
|
63
68
|
/**
|
|
64
69
|
* Create specs/base.ts for shared browser context
|
|
65
70
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-initializer.d.ts","sourceRoot":"","sources":["../../src/orchestrator/project-initializer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,qBAAa,kBAAkB;IAMjB,OAAO,CAAC,OAAO;IAL3B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,YAAY,CAAgB;gBAEhB,OAAO,EAAE,MAAM;IAKnC;;OAEG;IACG,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"project-initializer.d.ts","sourceRoot":"","sources":["../../src/orchestrator/project-initializer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,qBAAa,kBAAkB;IAMjB,OAAO,CAAC,OAAO;IAL3B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,YAAY,CAAgB;gBAEhB,OAAO,EAAE,MAAM;IAKnC;;OAEG;IACG,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoDrD;;OAEG;IACH,OAAO,CAAC,iBAAiB;IASzB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAqBzB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAc9B;;OAEG;IACH,OAAO,CAAC,cAAc;IAatB;;OAEG;IACH,OAAO,CAAC,eAAe;IA8BvB;;OAEG;IACH,OAAO,CAAC,YAAY;IAapB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAyC5B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAmB7B;;;OAGG;IACH,OAAO,CAAC,cAAc;IA4CtB;;OAEG;IACH,OAAO,CAAC,cAAc;IA4BtB;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAwBrB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAarB;;OAEG;IACH,OAAO,CAAC,eAAe;IAkBvB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAkB3B;;OAEG;IACH,OAAO,CAAC,YAAY;IAKpB;;OAEG;YACW,iBAAiB;IAsC/B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IA0C5B;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAInC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAG1B"}
|
|
@@ -66,6 +66,8 @@ class ProjectInitializer {
|
|
|
66
66
|
}
|
|
67
67
|
// Create directories
|
|
68
68
|
this.createDirectories();
|
|
69
|
+
// Create qa/context.md for QA lead to fill project-wide context
|
|
70
|
+
this.createContext();
|
|
69
71
|
// Ensure package.json and install Playwright
|
|
70
72
|
await this.setupDependencies();
|
|
71
73
|
// Create playwright config if doesn't exist
|
|
@@ -333,6 +335,20 @@ class ProjectInitializer {
|
|
|
333
335
|
this.createdItems.push(outputRelPath);
|
|
334
336
|
}
|
|
335
337
|
}
|
|
338
|
+
/**
|
|
339
|
+
* Create qa/context.md for the QA lead to fill project-wide context
|
|
340
|
+
* (roles, testing strategy, global rules, error patterns).
|
|
341
|
+
*/
|
|
342
|
+
createContext() {
|
|
343
|
+
const contextPath = path.join(this.cwd, 'qa', 'context.md');
|
|
344
|
+
if (fs.existsSync(contextPath)) {
|
|
345
|
+
this.skippedItems.push('qa/context.md');
|
|
346
|
+
return;
|
|
347
|
+
}
|
|
348
|
+
const content = this.readTemplate('qa-context.md');
|
|
349
|
+
fs.writeFileSync(contextPath, content, 'utf-8');
|
|
350
|
+
this.createdItems.push('qa/context.md');
|
|
351
|
+
}
|
|
336
352
|
/**
|
|
337
353
|
* Create specs/base.ts for shared browser context
|
|
338
354
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-initializer.js","sourceRoot":"","sources":["../../src/orchestrator/project-initializer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"project-initializer.js","sourceRoot":"","sources":["../../src/orchestrator/project-initializer.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,7 +32,15 @@ Parse **name** from `$ARGUMENTS`. If missing, ask the user.
|
|
|
32
32
|
- If no → fresh creation. Use `AskUserQuestion` to ask generation scope:
|
|
33
33
|
- **Tier 1 — Critical & High priority** — ~10-15 scenarios/section covering happy paths, core validation, security basics **(Recommended)**
|
|
34
34
|
- **Full coverage — All tiers at once** — generates Tier 1 + 2 + 3 in one run. Large output (~40-60 scenarios/section), best for experienced users who want complete coverage immediately
|
|
35
|
-
3. **Read
|
|
35
|
+
3. **Read project context + screen requirements**
|
|
36
|
+
|
|
37
|
+
**Project context** — check `qa/context.md` (project root, not screen-specific):
|
|
38
|
+
- If exists → read it. Extract: roles, testing strategy directives, global business rules, error patterns.
|
|
39
|
+
- Summarize what you found in one line (e.g. `"Roles: admin/staff/user | Strategy: focus security, skip VP-UI T1 | 2 global rules"`).
|
|
40
|
+
- These are carried into the Coverage Map when invoking `sungen-tc-generation`.
|
|
41
|
+
- If absent → continue without it, no action needed.
|
|
42
|
+
|
|
43
|
+
**Screen requirements** — check `qa/<screens|flows>/<name>/requirements/`:
|
|
36
44
|
- If `spec.md` exists → read it as PRIMARY source (sections, fields, validation rules, business rules, states).
|
|
37
45
|
- If `test-viewpoint.md` exists → read it. If it only contains HTML comments (scaffold template), use `AskUserQuestion` to ask:
|
|
38
46
|
- **Fill test-viewpoint.md first** — I'll help you identify edge cases, known issues, and design decisions for this screen before generating tests
|
|
@@ -20,23 +20,24 @@ Parse **name** from `$ARGUMENTS`. If missing, ask the user.
|
|
|
20
20
|
1. **Enumerate feature files** — glob `<base>/<name>/features/*.feature`. A screen may have one main file (`<name>.feature`) plus sub-features (`<name>-<sub>.feature` like `awards-modal.feature`); a flow has a single `<name>.feature`. If zero `.feature` files found → `/sungen:create-test` first.
|
|
21
21
|
2. **Review every feature file** — for each `<basename>.feature` discovered in step 1:
|
|
22
22
|
- Read `<basename>.feature` and the matching `test-data/<basename>.yaml`.
|
|
23
|
-
- Apply the `sungen-tc-review` skill — score
|
|
24
|
-
- Apply the **Unverified Selectors check** — if `<base>/<name>/selectors/<basename>.yaml` exists, count lines matching `@needs-live-verify`. Include in the per-file report as a non-scoring metric. Does NOT affect the
|
|
23
|
+
- Apply the `sungen-tc-review` skill — score the **7-dimension rubric (100 pts)**: Structure & Format (15), Coverage (30), Assertion Quality (20), Test Data (10), Security & Permission (10), Automation Readiness (10), Maintainability (5). **For flows**, also apply the flow-specific checks (Layer A7 "Tags & Flow"). Use `sungen-viewpoint` for pattern checklists.
|
|
24
|
+
- Apply the **Unverified Selectors check** — if `<base>/<name>/selectors/<basename>.yaml` exists, count lines matching `@needs-live-verify`. Include in the per-file report as a non-scoring metric. Does NOT affect the score or the PASS threshold.
|
|
25
25
|
3. **Aggregated output** — present scores in a per-feature table, then a screen-level rollup:
|
|
26
26
|
|
|
27
27
|
```
|
|
28
|
-
Feature
|
|
29
|
-
|
|
30
|
-
home.feature
|
|
31
|
-
home-modal.feature
|
|
32
|
-
|
|
33
|
-
Screen rollup (mean)
|
|
28
|
+
Feature Total Verdict Unverified
|
|
29
|
+
─────────────────────────────────────────────────────
|
|
30
|
+
home.feature 88 PASS 0
|
|
31
|
+
home-modal.feature 64 CONDITIONAL 2
|
|
32
|
+
─────────────────────────────────────────────────────
|
|
33
|
+
Screen rollup (mean) 76 PASS
|
|
34
34
|
```
|
|
35
35
|
|
|
36
|
-
- **>=
|
|
37
|
-
-
|
|
38
|
-
-
|
|
39
|
-
|
|
36
|
+
- **>= 70**: PASS that file.
|
|
37
|
+
- **50–69**: CONDITIONAL — fix before execution.
|
|
38
|
+
- **< 50**: FAIL — revise & re-review.
|
|
39
|
+
- "Unverified" = count of `@needs-live-verify` selectors (non-scoring). Show the full per-file report (dimension breakdown, recommendations, top issues) **only for files that are CONDITIONAL or FAIL**, or when the user asks for the deep report.
|
|
40
|
+
4. If any file is CONDITIONAL or FAIL and user confirms → update that file's test cases following `sungen-gherkin-syntax` and `sungen-tc-generation` skills, then re-review **only those files** (skip already-passing ones to save time).
|
|
40
41
|
5. After all files PASS (or user decides to proceed), use `AskUserQuestion` to offer next steps:
|
|
41
42
|
|
|
42
43
|
- **`/sungen:run-test <name>`** — Generate selectors, compile, and run tests for **every feature** in this screen (Recommended)
|
|
@@ -41,11 +41,13 @@ Skip this pre-flight when `--env` matches the base locale (no overlay needed in
|
|
|
41
41
|
Phase 0 — Selector Generation decision tree
|
|
42
42
|
|
|
43
43
|
Live page reachable? (URL provided and loads without error)
|
|
44
|
-
YES → existing flow: browser_navigate →
|
|
44
|
+
YES → existing flow: browser_navigate → wait for page to fully load (no spinner/skeleton/empty table) →
|
|
45
|
+
one browser_snapshot → cross-verify every [Reference] label vs snapshot name →
|
|
46
|
+
generate selectors.yaml (verified entries; explicit YAML for any label≠DOM-name mismatch)
|
|
45
47
|
NO → spec_figma.md exists in requirements/?
|
|
46
48
|
YES → provisional flow (sungen-figma-source + sungen-selector-fix skills):
|
|
47
49
|
1. Read filtered Figma node data from spec_figma.md (## Components + ## Text Inventory)
|
|
48
|
-
2. Apply selector
|
|
50
|
+
2. Apply selector priority from sungen-selector-fix § Step 3 (testid > role+name > label > placeholder > text > locator CSS last)
|
|
49
51
|
3. Write selectors.yaml — every provisional entry gets this comment on the line above:
|
|
50
52
|
# @needs-live-verify source=figma node_id=<id>
|
|
51
53
|
4. Compile: Screen: sungen generate --screen <name>. Flow: sungen generate --flow <name> — must succeed
|
|
@@ -12,7 +12,7 @@ You generate 3 files for sungen — a Gherkin compiler that produces Playwright
|
|
|
12
12
|
| `sungen-tc-generation` | Test case generation strategy, output format |
|
|
13
13
|
| `sungen-test-design-techniques` | EP, BVA, Decision Table, State Transition — systematic scenario generation |
|
|
14
14
|
| `sungen-tc-review` | Review scoring, quality rules, checklist |
|
|
15
|
-
| `sungen-viewpoint` |
|
|
15
|
+
| `sungen-viewpoint` | 17 UI patterns x 4 viewpoints — coverage checklists |
|
|
16
16
|
| `sungen-selector-keys` | YAML key generation from `[Reference]` names, suffixes, lookup priority |
|
|
17
17
|
| `sungen-selector-fix` | Selector generation from live page, auto-fix strategy |
|
|
18
18
|
| `sungen-delivery` | Export Gherkin + Playwright results → CSV test case deliverable |
|
|
@@ -59,7 +59,7 @@ The CLI reads the **per-target result file first** (co-located with `.spec.ts`),
|
|
|
59
59
|
|
|
60
60
|
| CSV Column | Source |
|
|
61
61
|
|------------|--------|
|
|
62
|
-
| TC ID | Generated: `<SCREEN_UPPER>-<
|
|
62
|
+
| TC ID | Generated, namespaced per screen/flow: `<SCREEN_UPPER>-<CAT>-<NNN>` (e.g. `VP-SEC-001` on screen `login` → `LOGIN-SEC-001`). The namespace makes it globally unique — the stable key the dashboard tracks each test case by. |
|
|
63
63
|
| Category 1 | Scenario name with VP prefix stripped |
|
|
64
64
|
| Category 2 | VP group: `VP-SEC`→Accessing, `VP-UI`→GUI, `VP-VAL`/`VP-LOGIC`→Function |
|
|
65
65
|
| Category 3 | Feature name (first line of `.feature`) |
|
|
@@ -198,6 +198,20 @@ Any tag not listed above passes through to Playwright `{ tag: [...] }`. Feature-
|
|
|
198
198
|
| `@auto` | Standard scenario, ready for automation |
|
|
199
199
|
| Any custom | e.g., `@sprint-42`, `@team-payment` — any tag works |
|
|
200
200
|
|
|
201
|
+
**Assign priority by user impact** (canonical mapping — override only when context differs):
|
|
202
|
+
|
|
203
|
+
| Scenario type | Tag |
|
|
204
|
+
|---|---|
|
|
205
|
+
| Auth redirect / unauthenticated access | `@high` |
|
|
206
|
+
| CRUD happy path (create / update / delete — success) | `@high` |
|
|
207
|
+
| Core business rule, state transition | `@high` |
|
|
208
|
+
| XSS, SQL injection, permission blocked | `@high` |
|
|
209
|
+
| Required field error, unique/duplicate constraint | `@high` |
|
|
210
|
+
| Format validation (email, phone, date…) | `@normal` |
|
|
211
|
+
| Boundary value — inclusive (`<=`, `>=`) → `@high`; standard range → `@normal` | `@normal` |
|
|
212
|
+
| Secondary features (search, filter, sort, pagination) | `@normal` |
|
|
213
|
+
| Element presence, label, placeholder, tooltip | `@low` |
|
|
214
|
+
|
|
201
215
|
**Run filtered:**
|
|
202
216
|
```bash
|
|
203
217
|
npx playwright test --grep "@smoke" # only smoke tests
|
|
@@ -55,13 +55,23 @@ When running Phase 0 for a **flow** (`qa/flows/<name>/`), check existing screen
|
|
|
55
55
|
- Read `baseURL` from `playwright.config.ts`.
|
|
56
56
|
- `browser_navigate` to the page URL.
|
|
57
57
|
- If redirected to login → run **Phase 0.5: Auth Persistence** first (see below), then re-navigate to the target page.
|
|
58
|
-
5. **Snapshot**:
|
|
58
|
+
5. **Snapshot**: Wait for the page to fully load before snapshotting.
|
|
59
|
+
- Check if the page is still loading (spinner visible, skeleton placeholders, empty table with 0 rows). If so, use `browser_wait_for` to wait until content is rendered.
|
|
60
|
+
- Then take **ONE** `browser_snapshot`. All Phase 0 selectors come from this single snapshot.
|
|
59
61
|
6. **Generate YAML entries**:
|
|
60
62
|
- Keys: follow `sungen-selector-keys` (lowercase, Unicode preserved, `--type` / `--N` suffixes).
|
|
61
|
-
- Selector priority: follow the table in **Diagnosis & Fix § Step 3** (`testid` > `role`+name > `
|
|
63
|
+
- Selector priority: follow the table in **Diagnosis & Fix § Step 3** (`testid` > `role`+name > `label` > `placeholder` > `text` > `locator` CSS last resort).
|
|
62
64
|
- Copy names **character-for-character** from the snapshot. Never infer from the Gherkin label.
|
|
63
65
|
- If an element is auto-inferable per `sungen-selector-keys` § Auto-Infer, **omit it** from YAML — keep the file minimal.
|
|
64
66
|
- **i18n sites**: if the site supports multiple languages, use `{{variable}}` in `name`/`value` fields instead of hardcoded text. Add corresponding `lbl_*` keys to `test-data.yaml` + locale overlay files (see `sungen-selector-keys` § i18n).
|
|
67
|
+
- **Selector quality rule**: the Playwright MCP accessibility tree snapshot gives you roles and accessible names directly — use them. Do NOT write XPath or class-based CSS selectors. Only write `type: locator` when no role/text/label/placeholder/testid is available, and restrict the CSS to `#id` or `[data-*]` / `[aria-*]` attribute selectors.
|
|
68
|
+
6b. **Cross-verify Gherkin labels vs snapshot** (prevents the #1 production failure):
|
|
69
|
+
- For **every** `[Reference]` in the `.feature` that will rely on auto-infer (not written to YAML), check the snapshot:
|
|
70
|
+
- `[X] button` — is there a button with accessible name **exactly** `X`?
|
|
71
|
+
- `[X] field` — does an input have placeholder **exactly** `X`? Does it even have a placeholder?
|
|
72
|
+
- `[X] heading` / `text` / `message` — is that text literally visible in the snapshot?
|
|
73
|
+
- If any mismatch → write an explicit YAML entry using the real DOM name. Do not leave a mismatch to be caught at runtime.
|
|
74
|
+
- **Typical mismatch cases**: Gherkin uses English label (`[Submit]`) but app displays Vietnamese (`"Gửi"`); placeholder is descriptive (`"Nhập email của bạn"`) not a bare field name (`"Email"`); button text includes an icon glyph before/after the word.
|
|
65
75
|
7. **Substring ambiguity check**: for each `role` + `name` selector, check if any other element in the snapshot has a name that **contains** this name as a substring (e.g., `"Đăng ký"` vs `"Đăng ký bằng Google"`). If yes → add `exact: true` to prevent strict mode violation at runtime.
|
|
66
76
|
8. **Merge, don't overwrite**: preserve the page selector and any user-authored entries in `selectors.yaml`. Only add missing keys.
|
|
67
77
|
9. **Show summary + confirm**: list the keys that will be added, ask the user to approve, then write the file.
|
|
@@ -69,9 +79,13 @@ When running Phase 0 for a **flow** (`qa/flows/<name>/`), check existing screen
|
|
|
69
79
|
|
|
70
80
|
### Common Phase 0 pitfalls
|
|
71
81
|
|
|
72
|
-
- Writing keys inferred from the Gherkin label instead of the snapshot name → Phase 1 will fail with
|
|
82
|
+
- Writing keys inferred from the Gherkin label instead of the snapshot name → Phase 1 will fail with `No element found`.
|
|
73
83
|
- Skipping Phase 0.5 when an auth redirect happened → snapshot captures the login page, all selectors wrong.
|
|
84
|
+
- Taking snapshot while page is still loading (spinner visible, table empty) → selectors for dynamic content will be missing or wrong.
|
|
85
|
+
- Skipping step 6b for "simple" elements like buttons → silent mismatch between Gherkin label and DOM name fails at runtime.
|
|
74
86
|
- Using `browser_evaluate` alone to scrape cookies → misses httpOnly session cookies. Always use `browser_storage_state` (or the `browser_run_code` fallback).
|
|
87
|
+
- Writing XPath or class-based CSS selectors → breaks on DOM/style refactoring. Use role/testid/text/label/placeholder from the accessibility tree.
|
|
88
|
+
- Falling back to `locator: 'div.some-class > span'` when the element IS visible in the accessibility snapshot with a role + name → the snapshot gives you `getByRole` for free; use it.
|
|
75
89
|
- Overwriting user-authored selectors → always merge.
|
|
76
90
|
|
|
77
91
|
---
|
|
@@ -210,12 +224,24 @@ Selector priority (use first applicable):
|
|
|
210
224
|
|
|
211
225
|
| Priority | type | When |
|
|
212
226
|
|---|---|---|
|
|
213
|
-
| 1 | `testid` | `data-testid` exists |
|
|
214
|
-
| 2 | `role` + exact name | Interactive elements |
|
|
215
|
-
| 3 | `
|
|
216
|
-
| 4 | `
|
|
217
|
-
| 5 | `
|
|
218
|
-
| 6 | `
|
|
227
|
+
| 1 | `testid` | `data-testid` or any stable test attribute exists |
|
|
228
|
+
| 2 | `role` + exact name | Interactive elements with an accessible name |
|
|
229
|
+
| 3 | `label` | Form field with a visible `<label>` |
|
|
230
|
+
| 4 | `placeholder` | Input/textarea with a placeholder attribute |
|
|
231
|
+
| 5 | `text` | Static visible text content |
|
|
232
|
+
| 6 | `locator` (CSS) | Last resort — `#id` or `[attr=value]` **only** (see restrictions below) |
|
|
233
|
+
|
|
234
|
+
> ⚠️ **Playwright best practice** ([source](https://playwright.dev/docs/best-practices#use-locators)): user-facing locators (`role`, `label`, `text`, `placeholder`, `testid`) are resilient to refactoring and far less likely to break. CSS class selectors and XPath break whenever a developer renames a class or restructures the DOM — even without changing the UI.
|
|
235
|
+
>
|
|
236
|
+
> **Never write these in `selectors.yaml`**:
|
|
237
|
+
> - XPath: `xpath=//div[@class='...']` or `//button[contains(@class,'btn')]`
|
|
238
|
+
> - Class-based CSS: `div.btn-primary`, `.modal-footer > .submit-btn`
|
|
239
|
+
> - Deep structural CSS: `div:nth-child(3) > ul > li > button`
|
|
240
|
+
>
|
|
241
|
+
> **Acceptable CSS (last resort only)**:
|
|
242
|
+
> - Stable `id`: `#submit-button` (only if the id is truly stable and not dynamic)
|
|
243
|
+
> - Data attributes: `[data-id="123"]`, `[aria-controls="menu"]`
|
|
244
|
+
> - Input type: `input[type="file"]` (when no testid/label exists)
|
|
219
245
|
|
|
220
246
|
**Exact name rule**: copy name character-for-character from snapshot. Never infer from Gherkin label.
|
|
221
247
|
|
|
@@ -229,9 +255,9 @@ Common fixes:
|
|
|
229
255
|
- Name mismatch → copy exact name from snapshot
|
|
230
256
|
- Multiple matches → add `nth` or `exact: true`
|
|
231
257
|
- Substring ambiguity (e.g., `"Submit"` matches `"Submit"` and `"Submit & Continue"`) → add `exact: true`
|
|
232
|
-
- No accessible name → use `testid
|
|
258
|
+
- No accessible name → use `testid`; only fall back to `locator` CSS as last resort
|
|
233
259
|
- Element in iframe → add `frame` field
|
|
234
|
-
- Dynamic content → use `testid` or
|
|
260
|
+
- Dynamic content → use `testid` or `role` + `nth`
|
|
235
261
|
|
|
236
262
|
### Step 4: Recompile After Fix
|
|
237
263
|
|
|
@@ -248,6 +274,26 @@ Then re-run only the current phase's failing tests, not all tests.
|
|
|
248
274
|
|
|
249
275
|
---
|
|
250
276
|
|
|
277
|
+
## Common Failure Patterns
|
|
278
|
+
|
|
279
|
+
Quick reference for the most frequent production failures:
|
|
280
|
+
|
|
281
|
+
| Symptom | Root cause | Fix |
|
|
282
|
+
|---------|-----------|-----|
|
|
283
|
+
| `No element found` on button/link/heading | Gherkin `[Reference]` label ≠ DOM accessible name (different language or text) | Write explicit YAML: `type: role, value: button, name: "<exact DOM name>"` |
|
|
284
|
+
| `No element found` on `[X] field` | Field has no placeholder, or placeholder ≠ X | Write explicit YAML: `type: label, value: "Actual label"` or `type: placeholder, value: "Actual placeholder"` |
|
|
285
|
+
| `No element found` on `[X] text` / `message` | Visible text differs from Gherkin label, or text is dynamic | Write explicit YAML or use `{{variable}}` for dynamic content |
|
|
286
|
+
| `strict mode violation` | Multiple elements match the same name/text | Add `exact: true` to YAML entry, or add `nth` |
|
|
287
|
+
| `toBeVisible` timeout on dynamic content | Snapshot was taken while page was still loading | Wait for spinner/skeleton to clear before snapshotting; add `browser_wait_for` |
|
|
288
|
+
| All tests fail with page navigate error | Page selector URL wrong or baseURL mismatch | Re-check `playwright.config.ts` `baseURL` and page selector `value` path |
|
|
289
|
+
| Auth redirect on every test | `specs/.auth/<role>.json` missing or expired | Run Phase 0.5 to capture fresh session |
|
|
290
|
+
| Table row assertions fail | `columns` config has wrong indices | Count column headers left-to-right (0-indexed) from snapshot |
|
|
291
|
+
| Wrong text assertions on locale page | Hardcoded Vietnamese/English text in YAML `name`/`value` | Use `{{lbl_*}}` variables with locale overlay files |
|
|
292
|
+
| Element inside iframe not found | `frame` field missing in YAML entry | Add `frame: "iframe[src*='...']"` to the selector entry |
|
|
293
|
+
| Selector breaks after UI redesign with no functional change | CSS class or XPath used — brittle to style refactoring | Rewrite with `role`/`testid`/`label`/`text` from accessibility snapshot |
|
|
294
|
+
|
|
295
|
+
---
|
|
296
|
+
|
|
251
297
|
## Table Selectors
|
|
252
298
|
|
|
253
299
|
For table patterns, add table selectors with `columns` config:
|