@qa-gentic/stlc-agents 1.0.5 → 1.0.6

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.
Files changed (29) hide show
  1. package/README.md +175 -34
  2. package/bin/postinstall.js +100 -44
  3. package/bin/qa-stlc.js +15 -8
  4. package/package.json +2 -2
  5. package/skills/{qa-stlc/AGENT-BEHAVIOR.md → AGENT-BEHAVIOR.md} +7 -6
  6. package/skills/{qa-stlc/deduplication-protocol.md → deduplication-protocol/SKILL.md} +16 -21
  7. package/skills/generate-gherkin/SKILL.md +287 -0
  8. package/skills/generate-gherkin/references/step-by-step.md +267 -0
  9. package/skills/{qa-stlc/generate-playwright-code.md → generate-playwright-code/SKILL.md} +13 -23
  10. package/skills/{qa-stlc/generate-test-cases.md → generate-test-cases/SKILL.md} +16 -2
  11. package/skills/qa-jira-manager/SKILL.md +287 -0
  12. package/skills/{qa-stlc/write-helix-files.md → write-helix-files/SKILL.md} +11 -17
  13. package/src/{boilerplate-bundle.js → cli/boilerplate-bundle.js} +8 -8
  14. package/src/cli/cmd-init.js +145 -0
  15. package/src/{cmd-mcp-config.js → cli/cmd-mcp-config.js} +72 -9
  16. package/src/cli/cmd-skills.js +209 -0
  17. package/src/{cmd-verify.js → cli/cmd-verify.js} +35 -3
  18. package/src/cli/prompt-integration.js +87 -0
  19. package/src/stlc_agents/agent_helix_writer/tools/boilerplate.py +8 -8
  20. package/src/stlc_agents/agent_jira_manager/__init__.py +0 -0
  21. package/src/stlc_agents/agent_jira_manager/server.py +500 -0
  22. package/src/stlc_agents/agent_jira_manager/tools/__init__.py +0 -0
  23. package/src/stlc_agents/agent_jira_manager/tools/jira_workitem.py +467 -0
  24. package/src/stlc_agents/shared_jira/__init__.py +0 -0
  25. package/src/stlc_agents/shared_jira/auth.py +270 -0
  26. package/skills/qa-stlc/generate-gherkin.md +0 -550
  27. package/src/cmd-init.js +0 -92
  28. package/src/cmd-skills.js +0 -124
  29. /package/src/{cmd-scaffold.js → cli/cmd-scaffold.js} +0 -0
package/src/cmd-skills.js DELETED
@@ -1,124 +0,0 @@
1
- /**
2
- * cmd-skills.js — `qa-stlc skills`
3
- *
4
- * Copies skill markdown files into the correct directory for each coding agent:
5
- *
6
- * claude → .claude/skills/ + .claude/AGENT-BEHAVIOR.md
7
- * vscode → .github/copilot-instructions/
8
- * cursor → .cursor/rules/ (one file per skill)
9
- * windsurf → .windsurf/rules/
10
- * both → claude + vscode
11
- * print → stdout only
12
- */
13
- "use strict";
14
-
15
- const path = require("path");
16
- const fs = require("fs");
17
-
18
- const C = {
19
- reset: "\x1b[0m", bold: "\x1b[1m",
20
- green: "\x1b[32m", yellow: "\x1b[33m", dim: "\x1b[2m",
21
- };
22
- const ok = (m) => console.log(`${C.green}✓${C.reset} ${m}`);
23
- const info = (m) => console.log(` ${C.dim}${m}${C.reset}`);
24
- const warn = (m) => console.log(`${C.yellow}⚠${C.reset} ${m}`);
25
-
26
- // Resolve the skills bundled with this npm package
27
- const PKG_ROOT = path.resolve(__dirname, "..");
28
- const SKILLS_DIR = path.join(PKG_ROOT, "skills", "qa-stlc");
29
- const BEHAVIOR_MD = path.join(SKILLS_DIR, "AGENT-BEHAVIOR.md");
30
-
31
- /** Copy a file, creating parent dirs as needed. */
32
- function cp(src, dest) {
33
- fs.mkdirSync(path.dirname(dest), { recursive: true });
34
- fs.copyFileSync(src, dest);
35
- }
36
-
37
- /** List all .md files in SKILLS_DIR (flat). */
38
- function skillFiles() {
39
- return fs.readdirSync(SKILLS_DIR)
40
- .filter((f) => f.endsWith(".md") && f !== "AGENT-BEHAVIOR.md")
41
- .map((f) => path.join(SKILLS_DIR, f));
42
- }
43
-
44
- const CWD = process.cwd();
45
-
46
- function installClaude() {
47
- const dest = path.join(CWD, ".claude", "skills");
48
- for (const src of skillFiles()) {
49
- cp(src, path.join(dest, path.basename(src)));
50
- }
51
- cp(BEHAVIOR_MD, path.join(CWD, ".claude", "AGENT-BEHAVIOR.md"));
52
- ok(`Skills installed → .claude/skills/`);
53
- info("AGENT-BEHAVIOR.md → .claude/AGENT-BEHAVIOR.md");
54
- skillFiles().forEach((f) => info(path.basename(f)));
55
- printPlaywrightHint();
56
- }
57
-
58
- function installVscode() {
59
- const dest = path.join(CWD, ".github", "copilot-instructions");
60
- for (const src of skillFiles()) {
61
- cp(src, path.join(dest, path.basename(src)));
62
- }
63
- cp(BEHAVIOR_MD, path.join(dest, "AGENT-BEHAVIOR.md"));
64
- ok(`Skills installed → .github/copilot-instructions/`);
65
- info("Add to .github/copilot-instructions.md:");
66
- info(" @.github/copilot-instructions/AGENT-BEHAVIOR.md");
67
- printPlaywrightHint();
68
- }
69
-
70
- function installCursor() {
71
- const dest = path.join(CWD, ".cursor", "rules");
72
- for (const src of skillFiles()) {
73
- cp(src, path.join(dest, path.basename(src)));
74
- }
75
- cp(BEHAVIOR_MD, path.join(dest, "AGENT-BEHAVIOR.md"));
76
- ok(`Skills installed → .cursor/rules/`);
77
- printPlaywrightHint();
78
- }
79
-
80
- function installWindsurf() {
81
- const dest = path.join(CWD, ".windsurf", "rules");
82
- for (const src of skillFiles()) {
83
- cp(src, path.join(dest, path.basename(src)));
84
- }
85
- cp(BEHAVIOR_MD, path.join(dest, "AGENT-BEHAVIOR.md"));
86
- ok(`Skills installed → .windsurf/rules/`);
87
- printPlaywrightHint();
88
- }
89
-
90
- function printSkills() {
91
- console.log("\nAvailable skills:\n");
92
- skillFiles().forEach((f) => console.log(` ${path.basename(f)}`));
93
- console.log(` AGENT-BEHAVIOR.md`);
94
- }
95
-
96
- function printPlaywrightHint() {
97
- console.log(`
98
- ${C.dim}Start Playwright MCP before running generation workflows:${C.reset}
99
- npx @playwright/mcp@latest --port 8931
100
- `);
101
- }
102
-
103
- module.exports = async function skills(opts) {
104
- const target = (opts.target || "claude").toLowerCase();
105
-
106
- if (!fs.existsSync(SKILLS_DIR)) {
107
- console.error(`Skills directory not found: ${SKILLS_DIR}`);
108
- console.error("Try reinstalling: npm install -g @qa-stlc/agents");
109
- process.exit(1);
110
- }
111
-
112
- switch (target) {
113
- case "claude": installClaude(); break;
114
- case "vscode": installVscode(); break;
115
- case "cursor": installCursor(); break;
116
- case "windsurf": installWindsurf(); break;
117
- case "both": installClaude(); installVscode(); break;
118
- case "print": printSkills(); break;
119
- default:
120
- warn(`Unknown target: ${target}`);
121
- warn("Valid targets: claude, vscode, cursor, windsurf, both, print");
122
- process.exit(1);
123
- }
124
- };
File without changes