@yemi33/minions 0.1.247 → 0.1.249

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,15 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.249 (2026-04-03)
4
+
5
+ ### Features
6
+ - mandatory test validation before PR creation in implement and fix playbooks
7
+
8
+ ## 0.1.248 (2026-04-03)
9
+
10
+ ### Fixes
11
+ - skip worktrees in project scan, make scan optional during init
12
+
3
13
  ## 0.1.245 (2026-04-03)
4
14
 
5
15
  ### Features
package/minions.js CHANGED
@@ -263,6 +263,14 @@ function findGitRepos(rootDir, maxDepth = 3) {
263
263
 
264
264
  const gitDir = path.join(dir, '.git');
265
265
  if (fs.existsSync(gitDir)) {
266
+ // Skip git worktrees — their .git is a file containing "gitdir: ..." pointing to the main repo
267
+ const stat = fs.statSync(gitDir);
268
+ if (stat.isFile()) {
269
+ try {
270
+ const content = fs.readFileSync(gitDir, 'utf8');
271
+ if (content.trimStart().startsWith('gitdir:')) return; // worktree, skip
272
+ } catch {}
273
+ }
266
274
  repos.push(dir);
267
275
  return; // Don't recurse into git repos (they may have nested submodules)
268
276
  }
@@ -459,9 +467,15 @@ async function initMinions({ skipScan = false, scanRoot, scanDepth } = {}) {
459
467
  console.log(' Run "minions scan" or "minions add <dir>" to link projects.\n');
460
468
  rl.close();
461
469
  } else {
462
- // Auto-chain into scan (scanAndAdd closes rl)
463
- console.log(' Now let\'s find your repos...\n');
464
- await scanAndAdd({ root: scanRoot, depth: scanDepth });
470
+ // Offer to scan for repos (optional)
471
+ console.log(' You can link projects now or skip and add them later.\n');
472
+ const doScan = await ask('Scan for projects? (Y/n/skip)', 'Y');
473
+ if (doScan.toLowerCase() === 'n' || doScan.toLowerCase() === 'skip') {
474
+ console.log(' Skipped. Run "minions scan" or "minions add <dir>" to link projects later.\n');
475
+ rl.close();
476
+ } else {
477
+ await scanAndAdd({ root: scanRoot, depth: scanDepth });
478
+ }
465
479
  }
466
480
  }
467
481
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.247",
3
+ "version": "0.1.249",
4
4
  "description": "Multi-agent AI dev team that runs from ~/.minions/ — five autonomous agents share a single engine, dashboard, and knowledge base",
5
5
  "bin": {
6
6
  "minions": "bin/minions.js"
package/playbooks/fix.md CHANGED
@@ -43,6 +43,15 @@ If you encounter merge conflicts (e.g., during `git pull` or when the PR shows c
43
43
  - content: Explain what was fixed, reference each review finding
44
44
  - Sign: `Fixed by Minions ({{agent_name}} — {{agent_role}})`
45
45
 
46
+ ## Test Validation (MANDATORY before pushing)
47
+
48
+ Before pushing your fix, run the project's test suite:
49
+
50
+ 1. Find the test command (check `package.json` scripts, CLAUDE.md, or README — usually `npm test`)
51
+ 2. Run the full test suite
52
+ 3. If any tests fail due to your changes, fix them before pushing
53
+ 4. Do NOT push code that breaks existing tests
54
+
46
55
  ## Signal Completion
47
56
 
48
57
  **Note:** Do NOT write to `agents/*/status.json` — the engine manages your status automatically.
@@ -68,3 +68,16 @@ After building, verify the build succeeded. If the build fails:
68
68
  2. Fix the issue
69
69
  3. Re-run the build
70
70
  4. If it fails 3 times, report the build errors in your findings file and stop
71
+
72
+ ## Test Validation (MANDATORY before PR)
73
+
74
+ Before creating a PR, you MUST run the project's test suite and ensure all existing tests pass:
75
+
76
+ 1. Find the test command (check `package.json` scripts, CLAUDE.md, or README — usually `npm test`)
77
+ 2. Run the full test suite
78
+ 3. If any tests fail:
79
+ - Determine if YOUR changes caused the failure (compare with the failing test's assertions)
80
+ - Fix any regressions you introduced
81
+ - Re-run tests until all pass
82
+ 4. If tests were already failing before your changes (pre-existing failures), note them in the PR description but do NOT block on them
83
+ 5. Do NOT create a PR with failing tests that you introduced