@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 +10 -0
- package/minions.js +17 -3
- package/package.json +1 -1
- package/playbooks/fix.md +9 -0
- package/playbooks/implement.md +13 -0
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
|
-
//
|
|
463
|
-
console.log('
|
|
464
|
-
await
|
|
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.
|
|
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.
|
package/playbooks/implement.md
CHANGED
|
@@ -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
|