@yemi33/minions 0.1.242 → 0.1.244
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 +2 -1
- package/bin/minions.js +68 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 0.1.
|
|
3
|
+
## 0.1.244 (2026-04-03)
|
|
4
4
|
|
|
5
5
|
### Features
|
|
6
|
+
- minions uninstall --confirm — full removal command
|
|
6
7
|
- capture-demos seeds mock data for richer screenshots
|
|
7
8
|
- add capture-demos skill for regenerating GitHub Pages screenshots
|
|
8
9
|
|
package/bin/minions.js
CHANGED
|
@@ -464,6 +464,7 @@ if (!cmd || cmd === 'help' || cmd === '--help' || cmd === '-h') {
|
|
|
464
464
|
minions complete <dispatch-id> Manually mark a dispatch as completed
|
|
465
465
|
minions cleanup Clean temp files, worktrees, zombies
|
|
466
466
|
minions nuke --confirm Factory reset (delete state, reset config to defaults)
|
|
467
|
+
minions uninstall --confirm Remove everything + uninstall npm package
|
|
467
468
|
|
|
468
469
|
Dashboard:
|
|
469
470
|
minions dash Start web dashboard (default :7331)
|
|
@@ -624,6 +625,73 @@ if (!cmd || cmd === 'help' || cmd === '--help' || cmd === '-h') {
|
|
|
624
625
|
try { execSync(`node "${path.join(MINIONS_HOME, 'minions.js')}" init --skip-scan`, { stdio: 'inherit' }); } catch {}
|
|
625
626
|
|
|
626
627
|
console.log('\n Factory reset complete. Run "minions init" to link projects and start fresh.\n');
|
|
628
|
+
} else if (cmd === 'uninstall') {
|
|
629
|
+
if (!rest.includes('--confirm')) {
|
|
630
|
+
console.log(`
|
|
631
|
+
Uninstall Minions — removes EVERYTHING.
|
|
632
|
+
|
|
633
|
+
This will:
|
|
634
|
+
1. Kill all running engine, dashboard, and agent processes
|
|
635
|
+
2. Delete the entire ${MINIONS_HOME} directory (all state, config, agents, knowledge)
|
|
636
|
+
3. Remove extracted skills from ~/.claude/skills/ (minions-authored only)
|
|
637
|
+
4. Uninstall the npm package (@yemi33/minions)
|
|
638
|
+
|
|
639
|
+
This is irreversible. Your project repos are NOT affected.
|
|
640
|
+
|
|
641
|
+
Run: minions uninstall --confirm
|
|
642
|
+
`);
|
|
643
|
+
process.exit(0);
|
|
644
|
+
}
|
|
645
|
+
|
|
646
|
+
console.log('\n Uninstalling Minions...\n');
|
|
647
|
+
|
|
648
|
+
// 1. Kill all processes
|
|
649
|
+
try { execSync(`node "${path.join(MINIONS_HOME, 'engine.js')}" stop`, { stdio: 'ignore', cwd: MINIONS_HOME, timeout: 10000 }); } catch {}
|
|
650
|
+
try {
|
|
651
|
+
if (process.platform === 'win32') {
|
|
652
|
+
const out = execSync('wmic process where "name=\'node.exe\'" get processid,commandline /format:csv', { encoding: 'utf8', timeout: 10000, windowsHide: true });
|
|
653
|
+
for (const line of out.split('\n')) {
|
|
654
|
+
if (line.includes('minions') && (line.includes('engine.js') || line.includes('dashboard.js') || line.includes('spawn-agent.js'))) {
|
|
655
|
+
const pid = line.split(',').pop()?.trim();
|
|
656
|
+
if (pid && pid !== String(process.pid)) try { process.kill(parseInt(pid)); } catch {}
|
|
657
|
+
}
|
|
658
|
+
}
|
|
659
|
+
} else {
|
|
660
|
+
try { execSync('pkill -f "minions.*engine.js" 2>/dev/null', { timeout: 5000 }); } catch {}
|
|
661
|
+
try { execSync('pkill -f "minions.*dashboard.js" 2>/dev/null', { timeout: 5000 }); } catch {}
|
|
662
|
+
try { execSync('lsof -ti:7331 | xargs kill -9 2>/dev/null', { timeout: 5000 }); } catch {}
|
|
663
|
+
}
|
|
664
|
+
} catch {}
|
|
665
|
+
console.log(' Killed all processes');
|
|
666
|
+
|
|
667
|
+
// 2. Remove minions-authored skills from ~/.claude/skills/
|
|
668
|
+
try {
|
|
669
|
+
const claudeSkills = path.join(process.env.HOME || process.env.USERPROFILE || '', '.claude', 'skills');
|
|
670
|
+
if (fs.existsSync(claudeSkills)) {
|
|
671
|
+
for (const dir of fs.readdirSync(claudeSkills)) {
|
|
672
|
+
const skillFile = path.join(claudeSkills, dir, 'SKILL.md');
|
|
673
|
+
try {
|
|
674
|
+
const content = fs.readFileSync(skillFile, 'utf8');
|
|
675
|
+
if (content.includes('Auto-extracted skill') || content.includes('author:')) {
|
|
676
|
+
fs.rmSync(path.join(claudeSkills, dir), { recursive: true, force: true });
|
|
677
|
+
}
|
|
678
|
+
} catch {}
|
|
679
|
+
}
|
|
680
|
+
console.log(' Cleaned minions skills from ~/.claude/skills/');
|
|
681
|
+
}
|
|
682
|
+
} catch {}
|
|
683
|
+
|
|
684
|
+
// 3. Delete ~/.minions entirely
|
|
685
|
+
if (fs.existsSync(MINIONS_HOME)) {
|
|
686
|
+
fs.rmSync(MINIONS_HOME, { recursive: true, force: true });
|
|
687
|
+
console.log(' Deleted ' + MINIONS_HOME);
|
|
688
|
+
}
|
|
689
|
+
|
|
690
|
+
// 4. Uninstall npm package
|
|
691
|
+
console.log(' Uninstalling npm package...');
|
|
692
|
+
try { execSync('npm uninstall -g @yemi33/minions', { stdio: 'inherit', timeout: 60000 }); } catch {}
|
|
693
|
+
|
|
694
|
+
console.log('\n Minions uninstalled. Your project repos were not touched.\n');
|
|
627
695
|
} else if (cmd === 'doctor') {
|
|
628
696
|
ensureInstalled();
|
|
629
697
|
const { doctor } = require(path.join(MINIONS_HOME, 'engine', 'preflight'));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.244",
|
|
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"
|