@yemi33/minions 0.1.243 → 0.1.245

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,8 +1,9 @@
1
1
  # Changelog
2
2
 
3
- ## 0.1.243 (2026-04-03)
3
+ ## 0.1.245 (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
 
@@ -13,6 +14,7 @@
13
14
  - clean _pendingReason on all status→done transitions, not just updateWorkItemStatus
14
15
 
15
16
  ### Other
17
+ - rename back to Minions Mission Control
16
18
  - docs: fix quick start — use 'minions dash' not raw URL
17
19
  - docs: update GitHub Pages with all features + fresh screenshots
18
20
  - docs: fix outdated references across all documentation
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'));
@@ -3,14 +3,14 @@
3
3
  <head>
4
4
  <meta charset="UTF-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>Starship Mission Control</title>
6
+ <title>Minions Mission Control</title>
7
7
  <link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>👽</text></svg>">
8
8
  <style>/* __CSS__ */</style>
9
9
  </head>
10
10
  <body>
11
11
 
12
12
  <header>
13
- <h1>Starship Mission Control <span id="header-projects">—</span></h1>
13
+ <h1>Minions Mission Control <span id="header-projects">—</span></h1>
14
14
  <div style="display:flex;align-items:center;gap:8px;">
15
15
  <span class="engine-badge stopped" id="engine-badge">STOPPED</span>
16
16
  <div class="timestamp" id="ts">—</div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.243",
3
+ "version": "0.1.245",
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"