@yemi33/minions 0.1.234 → 0.1.236
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 +5 -1
- package/README.md +5 -9
- package/bin/minions.js +20 -1
- package/docs/auto-discovery.md +1 -1
- package/docs/command-center.md +2 -2
- package/docs/deprecated.json +10 -1
- package/docs/distribution.md +0 -1
- package/engine/cli.js +13 -4
- package/package.json +1 -1
- package/routing.md +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 0.1.
|
|
3
|
+
## 0.1.236 (2026-04-03)
|
|
4
4
|
|
|
5
5
|
### Fixes
|
|
6
|
+
- CLI audit — kill dashboard on restart, expose kill/complete, update help
|
|
6
7
|
- clean _pendingReason on all status→done transitions, not just updateWorkItemStatus
|
|
7
8
|
|
|
9
|
+
### Other
|
|
10
|
+
- docs: fix outdated references across all documentation
|
|
11
|
+
|
|
8
12
|
## 0.1.233 (2026-04-03)
|
|
9
13
|
|
|
10
14
|
### Fixes
|
package/README.md
CHANGED
|
@@ -354,18 +354,14 @@ When an agent fails (timeout, crash, error), the engine marks the work item as `
|
|
|
354
354
|
|
|
355
355
|
## Auto-Discovery Pipeline
|
|
356
356
|
|
|
357
|
-
The engine discovers work from
|
|
357
|
+
The engine discovers work from 4 sources, in priority order:
|
|
358
358
|
|
|
359
359
|
| Priority | Source | Dispatch Type |
|
|
360
360
|
|----------|--------|---------------|
|
|
361
|
-
| 1 |
|
|
362
|
-
| 2 |
|
|
363
|
-
| 3 |
|
|
364
|
-
| 4 |
|
|
365
|
-
| 5 | PRs needing build/test verification | `test` |
|
|
366
|
-
| 6 | Plan items (`plans/*.json`, approved) | `implement` |
|
|
367
|
-
| 7 | Per-project work items | item's `type` |
|
|
368
|
-
| 8 | Central work items | item's `type` |
|
|
361
|
+
| 1 | Pull requests (changes-requested, human feedback, build failures, pending review) | `fix`, `review`, `test` |
|
|
362
|
+
| 2 | Plan items (`plans/*.json`, approved) | `implement` |
|
|
363
|
+
| 3 | Per-project work items | item's `type` |
|
|
364
|
+
| 4 | Central work items (project-agnostic tasks) | item's `type` |
|
|
369
365
|
|
|
370
366
|
Each item passes through: dedup (checks pending, active, AND recently completed), cooldown, and agent availability gates. See `docs/auto-discovery.md` for the full pipeline.
|
|
371
367
|
|
package/bin/minions.js
CHANGED
|
@@ -431,6 +431,7 @@ const engineCmds = new Set([
|
|
|
431
431
|
'start', 'stop', 'status', 'pause', 'resume',
|
|
432
432
|
'queue', 'sources', 'discover', 'dispatch',
|
|
433
433
|
'spawn', 'work', 'cleanup', 'mcp-sync', 'plan',
|
|
434
|
+
'kill', 'complete',
|
|
434
435
|
]);
|
|
435
436
|
|
|
436
437
|
if (!cmd || cmd === 'help' || cmd === '--help' || cmd === '-h') {
|
|
@@ -454,9 +455,13 @@ if (!cmd || cmd === 'help' || cmd === '--help' || cmd === '-h') {
|
|
|
454
455
|
minions pause / resume Pause/resume dispatching
|
|
455
456
|
minions dispatch Force a dispatch cycle
|
|
456
457
|
minions discover Dry-run work discovery
|
|
458
|
+
minions queue Show dispatch queue (pending/active/completed)
|
|
459
|
+
minions sources Show work source status per project
|
|
457
460
|
minions work <title> [opts] Add a work item
|
|
458
461
|
minions spawn <agent> <prompt> Manually spawn an agent
|
|
459
462
|
minions plan <file|text> [proj] Run a plan
|
|
463
|
+
minions kill Kill all active agents and reset to pending
|
|
464
|
+
minions complete <dispatch-id> Manually mark a dispatch as completed
|
|
460
465
|
minions cleanup Clean temp files, worktrees, zombies
|
|
461
466
|
minions nuke --confirm Factory reset (delete state, reset config to defaults)
|
|
462
467
|
|
|
@@ -484,8 +489,22 @@ if (!cmd || cmd === 'help' || cmd === '--help' || cmd === '-h') {
|
|
|
484
489
|
} else if (cmd === 'up' || cmd === 'restart') {
|
|
485
490
|
// Start both engine and dashboard — the go-to command after a reboot
|
|
486
491
|
ensureInstalled();
|
|
487
|
-
// Stop engine if running
|
|
492
|
+
// Stop engine if running
|
|
488
493
|
try { execSync(`node "${path.join(MINIONS_HOME, 'engine.js')}" stop`, { stdio: 'ignore', cwd: MINIONS_HOME }); } catch {}
|
|
494
|
+
// Kill existing dashboard
|
|
495
|
+
try {
|
|
496
|
+
if (process.platform === 'win32') {
|
|
497
|
+
const out = execSync('wmic process where "name=\'node.exe\'" get processid,commandline /format:csv', { encoding: 'utf8', timeout: 10000, windowsHide: true });
|
|
498
|
+
for (const line of out.split('\n')) {
|
|
499
|
+
if (line.includes('dashboard.js') && line.includes('minions')) {
|
|
500
|
+
const pid = line.split(',').pop()?.trim();
|
|
501
|
+
if (pid && pid !== String(process.pid)) try { process.kill(parseInt(pid)); } catch {}
|
|
502
|
+
}
|
|
503
|
+
}
|
|
504
|
+
} else {
|
|
505
|
+
try { execSync('lsof -ti:7331 | xargs kill -9 2>/dev/null', { timeout: 5000 }); } catch {}
|
|
506
|
+
}
|
|
507
|
+
} catch {}
|
|
489
508
|
const engineProc = spawn(process.execPath, [path.join(MINIONS_HOME, 'engine.js'), 'start'], {
|
|
490
509
|
cwd: MINIONS_HOME, stdio: 'ignore', detached: true, windowsHide: true
|
|
491
510
|
});
|
package/docs/auto-discovery.md
CHANGED
|
@@ -20,7 +20,7 @@ tick()
|
|
|
20
20
|
|
|
21
21
|
## Work Discovery
|
|
22
22
|
|
|
23
|
-
`discoverWork()` iterates every project in `config.projects[]` and runs
|
|
23
|
+
`discoverWork()` iterates every project in `config.projects[]` and runs four core discovery sources: pull requests, per-project work items, central work items, and pipeline/scheduled tasks. Results are prioritized: fixes > reviews > implements > work-items.
|
|
24
24
|
|
|
25
25
|
Before scanning, the engine materializes plans and specs into project work items (side-effect writes to `work-items.json`), so they're picked up by the work items source below.
|
|
26
26
|
|
package/docs/command-center.md
CHANGED
|
@@ -13,7 +13,7 @@ CC maintains a true multi-turn session using Claude CLI's `--resume` flag. Unlik
|
|
|
13
13
|
**Session lifecycle:**
|
|
14
14
|
- **Created** on first message (or after expiry/new-session)
|
|
15
15
|
- **Resumed** on subsequent messages via `--resume <sessionId>`
|
|
16
|
-
- **Expires** after 2 hours of inactivity
|
|
16
|
+
- **Expires** after 2 hours of inactivity
|
|
17
17
|
- **Persisted** to `engine/cc-session.json` — survives dashboard restarts
|
|
18
18
|
- **Frontend messages** saved to `localStorage` — survive page refresh
|
|
19
19
|
|
|
@@ -108,7 +108,7 @@ User message (CC panel, doc modal, or steer)
|
|
|
108
108
|
▼
|
|
109
109
|
POST /api/command-center (or /api/doc-chat, /api/steer-document)
|
|
110
110
|
│
|
|
111
|
-
├── Validate session (expiry
|
|
111
|
+
├── Validate session (expiry check)
|
|
112
112
|
├── Build dynamic state preamble (buildCCStatePreamble)
|
|
113
113
|
├── callLLM() with sessionId (resume) or without (new)
|
|
114
114
|
│ model: sonnet
|
package/docs/deprecated.json
CHANGED
|
@@ -1 +1,10 @@
|
|
|
1
|
-
[
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"id": "evaluate-work-type",
|
|
4
|
+
"summary": "evaluate work type removed — eval loop uses review exclusively",
|
|
5
|
+
"deprecated": "2026-04-02",
|
|
6
|
+
"reason": "Consolidated into review + evalLoop config. No separate evaluate dispatch.",
|
|
7
|
+
"locations": ["routing.md: evaluate row removed", "CLAUDE.md: evaluate references removed"],
|
|
8
|
+
"cleanup": "Already cleaned — routing.md and CLAUDE.md updated 2026-04-02"
|
|
9
|
+
}
|
|
10
|
+
]
|
package/docs/distribution.md
CHANGED
package/engine/cli.js
CHANGED
|
@@ -37,8 +37,9 @@ function handleCommand(cmd, args) {
|
|
|
37
37
|
console.log(' spawn <a> <p> Manually spawn agent with prompt');
|
|
38
38
|
console.log(' work <title> [o] Add to work-items.json queue');
|
|
39
39
|
console.log(' plan <src> [p] Generate PRD from a plan (file or text)');
|
|
40
|
-
console.log('
|
|
41
|
-
console.log('
|
|
40
|
+
console.log(' kill Kill all active agents, reset to pending');
|
|
41
|
+
console.log(' complete <id> Mark a dispatch as done');
|
|
42
|
+
console.log(' cleanup Clean temp files, worktrees, zombies');
|
|
42
43
|
console.log(' mcp-sync Sync MCP servers from ~/.claude.json');
|
|
43
44
|
console.log(' doctor Check prerequisites and runtime health');
|
|
44
45
|
process.exit(1);
|
|
@@ -567,11 +568,19 @@ const commands = {
|
|
|
567
568
|
|
|
568
569
|
complete(id) {
|
|
569
570
|
if (!id) {
|
|
570
|
-
console.log('Usage:
|
|
571
|
+
console.log('Usage: minions complete <dispatch-id>');
|
|
572
|
+
return;
|
|
573
|
+
}
|
|
574
|
+
const dispatch = getDispatch();
|
|
575
|
+
const found = (dispatch.active || []).some(d => d.id === id);
|
|
576
|
+
if (!found) {
|
|
577
|
+
console.log(` Dispatch "${id}" not found in active queue.`);
|
|
578
|
+
const pending = (dispatch.pending || []).some(d => d.id === id);
|
|
579
|
+
if (pending) console.log(' (It is in pending — it hasn\'t started yet.)');
|
|
571
580
|
return;
|
|
572
581
|
}
|
|
573
582
|
engine().completeDispatch(id, 'success');
|
|
574
|
-
console.log(`Marked ${id} as completed.`);
|
|
583
|
+
console.log(` Marked ${id} as completed.`);
|
|
575
584
|
},
|
|
576
585
|
|
|
577
586
|
dispatch() {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.236",
|
|
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/routing.md
CHANGED
|
@@ -17,7 +17,6 @@ How the engine decides who handles what. Parsed by engine.js — keep the table
|
|
|
17
17
|
| test | dallas | ralph |
|
|
18
18
|
| ask | ripley | rebecca |
|
|
19
19
|
| verify | dallas | ralph |
|
|
20
|
-
| evaluate | ripley | rebecca |
|
|
21
20
|
| decompose | ripley | rebecca |
|
|
22
21
|
| meeting | ripley | rebecca |
|
|
23
22
|
|