@keber/qa-framework 1.0.4 → 1.1.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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/scripts/init.js +31 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@keber/qa-framework",
3
- "version": "1.0.4",
3
+ "version": "1.1.1",
4
4
  "description": "Reusable spec-driven QA framework for IDE-agent-assisted automated testing. Installable as an npm package. Provides structure, templates, agent instructions, and optional integrations for Playwright and Azure DevOps.",
5
5
  "keywords": [
6
6
  "qa",
package/scripts/init.js CHANGED
@@ -25,7 +25,9 @@ if (configFlag !== -1 && !args[configFlag + 1]) {
25
25
  process.exit(1);
26
26
  }
27
27
 
28
- const cwd = process.cwd();
28
+ // When run as postinstall, process.cwd() points to node_modules/@keber/qa-framework.
29
+ // INIT_CWD is set by npm to the directory where `npm install` was invoked (the project root).
30
+ const cwd = process.env.INIT_CWD || process.cwd();
29
31
  const explicitConfigPath = configFlag !== -1 ? path.resolve(cwd, args[configFlag + 1]) : null;
30
32
  const rootConfigPath = path.resolve(cwd, 'qa-framework.config.json');
31
33
  const qaConfigPath = path.resolve(cwd, 'qa', 'qa-framework.config.json');
@@ -211,6 +213,34 @@ if (fs.existsSync(structureGuideSrc)) {
211
213
  // --- .github/copilot-instructions.md ---
212
214
  const githubDir = path.join(cwd, '.github');
213
215
  const copilotInstrPath = path.join(githubDir, 'copilot-instructions.md');
216
+
217
+ // Detect whether the ado-qa skill is available (installed or already copied)
218
+ const adoQaInstalled = fs.existsSync(path.join(cwd, 'node_modules', '@keber', 'ado-qa'))
219
+ || fs.existsSync(path.join(cwd, 'node_modules', 'ado-qa'));
220
+ const adoSkillReady = fs.existsSync(path.join(cwd, '.github', 'skills', 'ado-qa'));
221
+ const adoAvailable = adoQaInstalled || adoSkillReady;
222
+
223
+ const adoSection = adoAvailable
224
+ ? `
225
+ ## Azure DevOps integration (ado-qa)
226
+
227
+ The \`ado-qa\` skill is installed. Load it in PowerShell before any ADO operation:
228
+ \`\`\`powershell
229
+ . .github/skills/ado-qa/load.ps1
230
+ \`\`\`
231
+ Refer to \`qa/00-guides/AGENT-INSTRUCTIONS-ADO-INTEGRATION.md\` for the full ADO workflow.
232
+ `
233
+ : `
234
+ ## Azure DevOps integration (not installed)
235
+
236
+ > ⚠️ **Agent note:** \`ado-qa\` is not installed in this project.
237
+ > To enable Azure DevOps integration (query Work Items, Test Plans, create bugs, etc.) run:
238
+ > \`\`\`bash
239
+ > npm install github:keber/ado-qa
240
+ > \`\`\`
241
+ > This will automatically copy the ADO skills to \`.github/skills/\` via postinstall.
242
+ `;
243
+
214
244
  const copilotInstrContent = `# QA Framework Instructions
215
245
 
216
246
  This project uses \`@keber/qa-framework\` v${config.frameworkVersion ?? '1.0.0'} for spec-driven automated testing.