@yemi33/minions 0.1.1888 → 0.1.1890
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/docs/index.html +281 -1
- package/package.json +1 -1
- package/playbooks/meeting-debate.md +9 -5
- package/docs/archive/distribution.md +0 -97
package/docs/index.html
CHANGED
|
@@ -1 +1,281 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Minions — Multi-Agent AI Dev Team</title><meta name="description" content="Five autonomous coding agents, one engine, and one dashboard. Minions orchestrates Claude or GitHub Copilot agents to plan, implement, review, verify, and ship code."><style> :root { --bg: #0d1117; --surface: #161b22; --border: #30363d; --text: #c9d1d9; --muted: #8b949e; --blue: #58a6ff; --green: #3fb950; --yellow: #d29922; --red: #f85149; --purple: #bc8cff; } * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; background: var(--bg); color: var(--text); line-height: 1.6; } /* Hero */ .hero { text-align: center; padding: 80px 20px 60px; } .hero h1 { font-size: 3.5em; color: var(--blue); margin-bottom: 12px; letter-spacing: -1px; } .hero h1 span { color: var(--text); } .hero .tagline { font-size: 1.3em; color: var(--muted); max-width: 600px; margin: 0 auto 32px; } .hero-badges { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-bottom: 32px; } .hero-badge { display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 600; border: 1px solid var(--border); background: var(--surface); } .hero-badge.green { color: var(--green); border-color: rgba(63,185,80,0.3); } .hero-badge.blue { color: var(--blue); border-color: rgba(88,166,255,0.3); } .hero-badge.yellow { color: var(--yellow); border-color: rgba(210,153,34,0.3); } .hero-badge.purple { color: var(--purple); border-color: rgba(188,140,255,0.3); } .cta { display: inline-flex; gap: 12px; flex-wrap: wrap; justify-content: center; } .cta a { padding: 12px 28px; border-radius: 8px; font-weight: 600; font-size: 15px; text-decoration: none; transition: all 0.2s; } .cta-primary { background: var(--blue); color: var(--bg); } .cta-primary:hover { background: #79c0ff; } .cta-secondary { background: var(--surface); color: var(--text); border: 1px solid var(--border); } .cta-secondary:hover { border-color: var(--blue); color: var(--blue); } /* Container */ .container { max-width: 1100px; margin: 0 auto; padding: 0 20px; } /* Agents strip */ .agents-strip { display: flex; justify-content: center; gap: 24px; padding: 40px 20px; flex-wrap: wrap; } .agent-pill { display: flex; align-items: center; gap: 8px; padding: 10px 18px; background: var(--surface); border: 1px solid var(--border); border-radius: 12px; } .agent-pill .emoji { font-size: 1.4em; } .agent-pill .name { font-weight: 700; color: var(--text); font-size: 14px; } .agent-pill .role { color: var(--muted); font-size: 12px; } /* Features grid */ .features { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; padding: 40px 0; } .feature { background: var(--surface); border: 1px solid var(--border); border-radius: 10px; padding: 24px; } .feature h3 { color: var(--blue); font-size: 1em; margin-bottom: 6px; } .feature p { color: var(--muted); font-size: 13px; line-height: 1.5; } /* Scenario sections */ .scenario { margin: 60px 0; } .scenario-header { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; } .scenario-num { background: var(--blue); color: var(--bg); font-weight: 700; width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 15px; flex-shrink: 0; } .scenario h2 { font-size: 1.5em; color: #f0f6fc; } .scenario > p { color: var(--muted); margin-bottom: 16px; max-width: 800px; font-size: 15px; } .demo-frame { border: 1px solid var(--border); border-radius: 10px; overflow: hidden; box-shadow: 0 8px 32px rgba(0,0,0,0.4); } .demo-frame img { width: 100%; display: block; } .demo-caption { background: var(--surface); padding: 10px 18px; font-size: 13px; color: var(--muted); border-top: 1px solid var(--border); } /* Inline badges */ .badge { display: inline-block; padding: 2px 8px; border-radius: 4px; font-size: 11px; font-weight: 600; } .badge-green { background: rgba(63,185,80,0.15); color: var(--green); border: 1px solid rgba(63,185,80,0.3); } .badge-blue { background: rgba(88,166,255,0.15); color: var(--blue); border: 1px solid rgba(88,166,255,0.3); } .badge-yellow { background: rgba(210,153,34,0.15); color: var(--yellow); border: 1px solid rgba(210,153,34,0.3); } .badge-red { background: rgba(248,81,73,0.15); color: var(--red); border: 1px solid rgba(248,81,73,0.3); } .hl { color: var(--green); font-weight: 600; } /* Quick start */ .quickstart { background: var(--surface); border: 1px solid var(--border); border-radius: 10px; padding: 32px; margin: 60px 0; } .quickstart h2 { color: var(--blue); margin-bottom: 16px; } .quickstart pre { background: var(--bg); border: 1px solid var(--border); border-radius: 8px; padding: 16px 20px; overflow-x: auto; font-size: 14px; line-height: 1.8; color: var(--green); } .quickstart pre .comment { color: var(--muted); } /* Architecture */ .arch { text-align: center; padding: 60px 0; } .arch h2 { color: var(--blue); margin-bottom: 20px; } .arch pre { background: var(--surface); border: 1px solid var(--border); border-radius: 10px; padding: 24px; display: inline-block; text-align: left; font-size: 13px; color: var(--muted); line-height: 1.7; } /* Footer */ footer { text-align: center; color: #484f58; padding: 40px 0; border-top: 1px solid #21262d; margin-top: 80px; font-size: 13px; } footer a { color: var(--blue); text-decoration: none; }</style></head><body><!-- Hero --><div class="hero"> <h1>Minions <span>Mission Control</span></h1> <p class="tagline">Five autonomous coding agents, one engine, one dashboard. Plan, implement, review, verify, and ship code with human control at every gate.</p> <div class="hero-badges"> <span class="hero-badge green">Node.js 18+</span> <span class="hero-badge blue">Claude or Copilot</span> <span class="hero-badge yellow">Multi-Project</span> <span class="hero-badge purple">Dashboard + CLI</span> </div> <div class="cta"> <a href="https://www.npmjs.com/package/@yemi33/minions" class="cta-primary">Install from npm</a> <a href="#quickstart" class="cta-secondary">Quick Start</a> </div></div><!-- Agent strip --><div class="agents-strip"> <div class="agent-pill"><span class="emoji">🏗️</span><div><div class="name">Ripley</div><div class="role">Lead / Explorer</div></div></div> <div class="agent-pill"><span class="emoji">🔧</span><div><div class="name">Dallas</div><div class="role">Engineer</div></div></div> <div class="agent-pill"><span class="emoji">📊</span><div><div class="name">Lambert</div><div class="role">Analyst</div></div></div> <div class="agent-pill"><span class="emoji">🧠</span><div><div class="name">Rebecca</div><div class="role">Architect</div></div></div> <div class="agent-pill"><span class="emoji">⚙️</span><div><div class="name">Ralph</div><div class="role">Engineer</div></div></div></div><!-- Features --><div class="container"><div class="features"> <div class="feature"><h3>Autonomous Dispatch</h3><p>Engine discovers work from plans, PRs, schedules, pipelines, and queues — then routes to the right agent by role, skill, and availability.</p></div> <div class="feature"><h3>Plan Lifecycle</h3><p>Plan → Approve → PRD → Execute → Review → Verify. Completed plans stay available until you manually archive them.</p></div> <div class="feature"><h3>Team Meetings</h3><p>Multi-agent meetings with investigate, debate, and conclude rounds. Agents research, discuss, and produce actionable conclusions.</p></div> <div class="feature"><h3>Multi-Stage Pipelines</h3><p>Chain tasks, meetings, plans, and more into automated workflows. Cron triggers or manual. Artifacts flow between stages.</p></div> <div class="feature"><h3>Review / Fix Loop</h3><p>After implementation, Minions can dispatch reviews, react to human PR comments, and send fixes back to the original author agent.</p></div> <div class="feature"><h3>Git Worktree Isolation</h3><p>Each agent works in its own worktree. No conflicts, no cross-contamination, safe parallel execution.</p></div> <div class="feature"><h3>Knowledge Consolidation</h3><p>Agent findings, quick notes, pinned notes, and feedback consolidate into team notes and a categorized knowledge base.</p></div> <div class="feature"><h3>PR Integration</h3><p>Tracks Azure DevOps and GitHub PRs, including review votes, build status, merge status, human comments, and context-only links.</p></div> <div class="feature"><h3>Scheduled Tasks & Watches</h3><p>Cron-style recurring work plus watches for PRs, work items, dispatches, meetings, pipelines, agents, and status changes.</p></div> <div class="feature"><h3>Command Center & Doc Chat</h3><p>Natural language orchestration, persistent CC tabs, document Q&A/editing, issue filing, routing updates, and local API actions.</p></div> <div class="feature"><h3>Pluggable Runtimes</h3><p>Run agents through Claude Code or GitHub Copilot CLI, with runtime-specific models, effort, session resume, and permission handling.</p></div> <div class="feature"><h3>Live Dashboard</h3><p>Real-time mission control on port 7331 with paginated views, optimistic updates, live streams, metrics, and settings.</p></div> <div class="feature"><h3>One-Command Updates</h3><p><code>minions update</code> pulls the latest npm package, reapplies files, and restarts while preserving config and customizations.</p></div></div><!-- Demo scenarios --><div class="scenario"> <div class="scenario-header"><div class="scenario-num">1</div><h2>Dashboard Overview</h2></div> <p>Home page with agent status cards, project bar, setup guidance, and engine state. All agents visible at a glance.</p> <div class="demo-frame"> <img src="demo/01-dashboard-overview.png" alt="Dashboard overview with agent cards"> <div class="demo-caption">Home page showing Minions Members, project bar, and engine status badge</div> </div></div><div class="scenario"> <div class="scenario-header"><div class="scenario-num">2</div><h2>Work Items</h2></div> <p>Paginated table with status, type, priority, agent, dependencies, artifacts, and linked PRs. <span class="badge badge-yellow">PENDING</span> <span class="badge badge-blue">DISPATCHED</span> <span class="badge badge-green">DONE</span> <span class="badge badge-red">FAILED</span>. Retry, delete, archive, and add feedback with optimistic updates.</p> <div class="demo-frame"> <img src="demo/02-work-items.png" alt="Work items table"> <div class="demo-caption">Work items page — 20 per page with create, edit, retry, and delete actions</div> </div></div><div class="scenario"> <div class="scenario-header"><div class="scenario-num">3</div><h2>Plans & PRD</h2></div> <p>Plan cards with Approve / Discuss & Revise / Reject. PRD dependency graph with per-item retry, reopening, verification, and manual archive.</p> <div class="demo-frame"> <img src="demo/03-plans-prd.png" alt="Plans and PRD progress"> <div class="demo-caption">Plans page with status-colored cards, PRD dependency graph, and action buttons</div> </div></div><div class="scenario"> <div class="scenario-header"><div class="scenario-num">4</div><h2>Pull Requests</h2></div> <p>PR tracker sorted by date, with review, build, merge, conflict, and human-comment status. Linked to work items and PRD items. Manual PR linking and context-only observation supported.</p> <div class="demo-frame"> <img src="demo/04-pull-requests.png" alt="Pull requests tracker"> <div class="demo-caption">PRs sorted newest-first with build status, review status, and agent attribution</div> </div></div><div class="scenario"> <div class="scenario-header"><div class="scenario-num">5</div><h2>Team Meetings</h2></div> <p>Multi-agent meetings with 3 rounds: investigate, debate, conclude. Live progress per participant. Create plans from conclusions.</p> <div class="demo-frame"> <img src="demo/05-meetings.png" alt="Meetings page"> <div class="demo-caption">Meetings with round status badges, participant progress, and archive/delete actions</div> </div></div><div class="scenario"> <div class="scenario-header"><div class="scenario-num">6</div><h2>Pipelines</h2></div> <p>Multi-stage workflows chaining tasks, meetings, plans, tests, docs, and more. Cron triggers or manual runs. Artifact tracking between stages.</p> <div class="demo-frame"> <img src="demo/06-pipelines.png" alt="Pipelines page"> <div class="demo-caption">Pipeline cards with stage flow visualization, run history, and progress bars</div> </div></div><div class="scenario"> <div class="scenario-header"><div class="scenario-num">7</div><h2>Notes & Knowledge Base</h2></div> <p>Inbox for agent findings, quick notes, pinned notes, consolidated team notes, and categorized knowledge base. Inline Q&A/editing on documents.</p> <div class="demo-frame"> <img src="demo/07-notes-kb.png" alt="Notes and knowledge base"> <div class="demo-caption">Notes inbox, team notes, and knowledge base with category tabs and pagination</div> </div></div><div class="scenario"> <div class="scenario-header"><div class="scenario-num">8</div><h2>Scheduled Tasks</h2></div> <p>Cron-style recurring work with a visual builder. Schedule work items, tests, docs, plans, asks, meetings, and recurring maintenance.</p> <div class="demo-frame"> <img src="demo/08-schedules.png" alt="Schedules page"> <div class="demo-caption">Schedule list with cron expressions, last-run times, and enable/disable toggles</div> </div></div><div class="scenario"> <div class="scenario-header"><div class="scenario-num">9</div><h2>Engine & Metrics</h2></div> <p>Dispatch queue, engine log, agent metrics, token usage, runtime/model data, quality signals, and context pressure. All paginated.</p> <div class="demo-frame"> <img src="demo/09-engine.png" alt="Engine page"> <div class="demo-caption">Active/pending dispatches, completed history, engine log, and per-agent quality metrics</div> </div></div><div class="scenario"> <div class="scenario-header"><div class="scenario-num">10</div><h2>Command Center</h2></div> <p>Natural language delegation. CC orchestrates — agents implement. Sessions persist across refreshes and tabs; actions can create work, notes, plans, watches, PR links, and issues.</p> <div class="demo-frame"> <img src="demo/10-command-center.png" alt="Command Center panel"> <div class="demo-caption">Command Center side panel with conversation history, action execution, and session indicator</div> </div></div><!-- Quick Start --><div class="quickstart" id="quickstart"> <h2>Quick Start</h2> <pre><span class="comment"># Prerequisites: Node.js 18+, Git, and at least one agent runtime</span><span class="comment"># Install Claude Code or GitHub Copilot CLI separately, then install Minions</span>npm install -g @yemi33/minions<span class="comment"># Bootstrap ~/.minions/ and scan/link repositories</span>minions init<span class="comment"># Or add a specific project later</span>minions add ~/my-project<span class="comment"># Start engine + dashboard, then open http://localhost:7331</span>minions restart --openminions dash<span class="comment"># Give your first task</span>minions work "Explore the codebase and document the architecture"<span class="comment"># Useful operations</span>minions statusminions doctorminions config set-cli copilot --model gpt-5.4<span class="comment"># Update to latest</span>minions update</pre></div><!-- Architecture --><div class="arch"> <h2>Architecture</h2> <pre> ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ Γöé ~/.minions/ (central hub) Γöé Γöé Γöé Γöé engine.js ΓöÇΓöÇΓöÇΓöÇ 60s tick loop ΓöÇΓöÇΓöÇΓöÇΓöÉ Γöé Γöé Γöé Γöé Γöé Γöé discover work spawn agents poll PRs/comments Γöé Γöé Γöé Γöé Γöé Γöé Γöé ΓöîΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÉ ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ ΓöîΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÉ Γöé Γöé Γöé Plans Γöé Γöé Worktrees Γöé Γöé ADO Γöé Γöé Γöé Γöé PRDs Γöé Γöé (isolated) Γöé ΓöéGitHubΓöé Γöé Γöé Γöé Items Γöé Γöé per agent Γöé Γöé Γöé Γöé Γöé ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ Γöé Γöé Γöé Γöé dashboard.js ΓöÇΓöÇ port 7331 ΓöÇΓöÇ mission control Γöé Γöé runtimes/ ΓöÇΓöÇ Claude Code or GitHub Copilot CLI Γöé Γöé meetings/ ΓöÇΓöÇ multi-agent discussions Γöé Γöé pipelines/ ΓöÇΓöÇ multi-stage workflows Γöé Γöé schedules + watches ΓöÇΓöÇ recurring/conditional work Γöé Γöé notes.md + knowledge/ ΓöÇΓöÇ team memory and KB Γöé ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ </pre></div></div><footer> <p>Minions — built by <a href="https://github.com/yemi33">yemi33</a> — <a href="https://www.npmjs.com/package/@yemi33/minions">npm</a> — <a href="https://yemi33.github.io/minions/">Public site</a> — MIT License — Claude Code or GitHub Copilot CLI runtime</p></footer></body></html>
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>Minions — Multi-Agent AI Dev Team</title>
|
|
7
|
+
<meta name="description" content="Five autonomous coding agents, one engine, and one dashboard. Minions orchestrates Claude or GitHub Copilot agents to plan, implement, review, verify, and ship code.">
|
|
8
|
+
<style>
|
|
9
|
+
:root { --bg: #0d1117; --surface: #161b22; --border: #30363d; --text: #c9d1d9; --muted: #8b949e; --blue: #58a6ff; --green: #3fb950; --yellow: #d29922; --red: #f85149; --purple: #bc8cff; }
|
|
10
|
+
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
11
|
+
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; background: var(--bg); color: var(--text); line-height: 1.6; }
|
|
12
|
+
|
|
13
|
+
/* Hero */
|
|
14
|
+
.hero { text-align: center; padding: 80px 20px 60px; }
|
|
15
|
+
.hero h1 { font-size: 3.5em; color: var(--blue); margin-bottom: 12px; letter-spacing: -1px; }
|
|
16
|
+
.hero h1 span { color: var(--text); }
|
|
17
|
+
.hero .tagline { font-size: 1.3em; color: var(--muted); max-width: 600px; margin: 0 auto 32px; }
|
|
18
|
+
.hero-badges { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-bottom: 32px; }
|
|
19
|
+
.hero-badge { display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 600; border: 1px solid var(--border); background: var(--surface); }
|
|
20
|
+
.hero-badge.green { color: var(--green); border-color: rgba(63,185,80,0.3); }
|
|
21
|
+
.hero-badge.blue { color: var(--blue); border-color: rgba(88,166,255,0.3); }
|
|
22
|
+
.hero-badge.yellow { color: var(--yellow); border-color: rgba(210,153,34,0.3); }
|
|
23
|
+
.hero-badge.purple { color: var(--purple); border-color: rgba(188,140,255,0.3); }
|
|
24
|
+
.cta { display: inline-flex; gap: 12px; flex-wrap: wrap; justify-content: center; }
|
|
25
|
+
.cta a { padding: 12px 28px; border-radius: 8px; font-weight: 600; font-size: 15px; text-decoration: none; transition: all 0.2s; }
|
|
26
|
+
.cta-primary { background: var(--blue); color: var(--bg); }
|
|
27
|
+
.cta-primary:hover { background: #79c0ff; }
|
|
28
|
+
.cta-secondary { background: var(--surface); color: var(--text); border: 1px solid var(--border); }
|
|
29
|
+
.cta-secondary:hover { border-color: var(--blue); color: var(--blue); }
|
|
30
|
+
|
|
31
|
+
/* Container */
|
|
32
|
+
.container { max-width: 1100px; margin: 0 auto; padding: 0 20px; }
|
|
33
|
+
|
|
34
|
+
/* Agents strip */
|
|
35
|
+
.agents-strip { display: flex; justify-content: center; gap: 24px; padding: 40px 20px; flex-wrap: wrap; }
|
|
36
|
+
.agent-pill { display: flex; align-items: center; gap: 8px; padding: 10px 18px; background: var(--surface); border: 1px solid var(--border); border-radius: 12px; }
|
|
37
|
+
.agent-pill .emoji { font-size: 1.4em; }
|
|
38
|
+
.agent-pill .name { font-weight: 700; color: var(--text); font-size: 14px; }
|
|
39
|
+
.agent-pill .role { color: var(--muted); font-size: 12px; }
|
|
40
|
+
|
|
41
|
+
/* Features grid */
|
|
42
|
+
.features { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; padding: 40px 0; }
|
|
43
|
+
.feature { background: var(--surface); border: 1px solid var(--border); border-radius: 10px; padding: 24px; }
|
|
44
|
+
.feature h3 { color: var(--blue); font-size: 1em; margin-bottom: 6px; }
|
|
45
|
+
.feature p { color: var(--muted); font-size: 13px; line-height: 1.5; }
|
|
46
|
+
|
|
47
|
+
/* Scenario sections */
|
|
48
|
+
.scenario { margin: 60px 0; }
|
|
49
|
+
.scenario-header { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; }
|
|
50
|
+
.scenario-num { background: var(--blue); color: var(--bg); font-weight: 700; width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 15px; flex-shrink: 0; }
|
|
51
|
+
.scenario h2 { font-size: 1.5em; color: #f0f6fc; }
|
|
52
|
+
.scenario > p { color: var(--muted); margin-bottom: 16px; max-width: 800px; font-size: 15px; }
|
|
53
|
+
.demo-frame { border: 1px solid var(--border); border-radius: 10px; overflow: hidden; box-shadow: 0 8px 32px rgba(0,0,0,0.4); }
|
|
54
|
+
.demo-frame img { width: 100%; display: block; }
|
|
55
|
+
.demo-caption { background: var(--surface); padding: 10px 18px; font-size: 13px; color: var(--muted); border-top: 1px solid var(--border); }
|
|
56
|
+
|
|
57
|
+
/* Inline badges */
|
|
58
|
+
.badge { display: inline-block; padding: 2px 8px; border-radius: 4px; font-size: 11px; font-weight: 600; }
|
|
59
|
+
.badge-green { background: rgba(63,185,80,0.15); color: var(--green); border: 1px solid rgba(63,185,80,0.3); }
|
|
60
|
+
.badge-blue { background: rgba(88,166,255,0.15); color: var(--blue); border: 1px solid rgba(88,166,255,0.3); }
|
|
61
|
+
.badge-yellow { background: rgba(210,153,34,0.15); color: var(--yellow); border: 1px solid rgba(210,153,34,0.3); }
|
|
62
|
+
.badge-red { background: rgba(248,81,73,0.15); color: var(--red); border: 1px solid rgba(248,81,73,0.3); }
|
|
63
|
+
.hl { color: var(--green); font-weight: 600; }
|
|
64
|
+
|
|
65
|
+
/* Quick start */
|
|
66
|
+
.quickstart { background: var(--surface); border: 1px solid var(--border); border-radius: 10px; padding: 32px; margin: 60px 0; }
|
|
67
|
+
.quickstart h2 { color: var(--blue); margin-bottom: 16px; }
|
|
68
|
+
.quickstart pre { background: var(--bg); border: 1px solid var(--border); border-radius: 8px; padding: 16px 20px; overflow-x: auto; font-size: 14px; line-height: 1.8; color: var(--green); }
|
|
69
|
+
.quickstart pre .comment { color: var(--muted); }
|
|
70
|
+
|
|
71
|
+
/* Architecture */
|
|
72
|
+
.arch { text-align: center; padding: 60px 0; }
|
|
73
|
+
.arch h2 { color: var(--blue); margin-bottom: 20px; }
|
|
74
|
+
.arch pre { background: var(--surface); border: 1px solid var(--border); border-radius: 10px; padding: 24px; display: inline-block; text-align: left; font-size: 13px; color: var(--muted); line-height: 1.7; }
|
|
75
|
+
|
|
76
|
+
/* Footer */
|
|
77
|
+
footer { text-align: center; color: #484f58; padding: 40px 0; border-top: 1px solid #21262d; margin-top: 80px; font-size: 13px; }
|
|
78
|
+
footer a { color: var(--blue); text-decoration: none; }
|
|
79
|
+
</style>
|
|
80
|
+
</head>
|
|
81
|
+
<body>
|
|
82
|
+
|
|
83
|
+
<!-- Hero -->
|
|
84
|
+
<div class="hero">
|
|
85
|
+
<h1>Minions <span>Mission Control</span></h1>
|
|
86
|
+
<p class="tagline">Five autonomous coding agents, one engine, one dashboard. Plan, implement, review, verify, and ship code with human control at every gate.</p>
|
|
87
|
+
<div class="hero-badges">
|
|
88
|
+
<span class="hero-badge green">Node.js 18+</span>
|
|
89
|
+
<span class="hero-badge blue">Claude or Copilot</span>
|
|
90
|
+
<span class="hero-badge yellow">Multi-Project</span>
|
|
91
|
+
<span class="hero-badge purple">Dashboard + CLI</span>
|
|
92
|
+
</div>
|
|
93
|
+
<div class="cta">
|
|
94
|
+
<a href="https://www.npmjs.com/package/@yemi33/minions" class="cta-primary">Install from npm</a>
|
|
95
|
+
<a href="#quickstart" class="cta-secondary">Quick Start</a>
|
|
96
|
+
</div>
|
|
97
|
+
</div>
|
|
98
|
+
|
|
99
|
+
<!-- Agent strip -->
|
|
100
|
+
<div class="agents-strip">
|
|
101
|
+
<div class="agent-pill"><span class="emoji">🏗️</span><div><div class="name">Ripley</div><div class="role">Lead / Explorer</div></div></div>
|
|
102
|
+
<div class="agent-pill"><span class="emoji">🔧</span><div><div class="name">Dallas</div><div class="role">Engineer</div></div></div>
|
|
103
|
+
<div class="agent-pill"><span class="emoji">📊</span><div><div class="name">Lambert</div><div class="role">Analyst</div></div></div>
|
|
104
|
+
<div class="agent-pill"><span class="emoji">🧠</span><div><div class="name">Rebecca</div><div class="role">Architect</div></div></div>
|
|
105
|
+
<div class="agent-pill"><span class="emoji">⚙️</span><div><div class="name">Ralph</div><div class="role">Engineer</div></div></div>
|
|
106
|
+
</div>
|
|
107
|
+
|
|
108
|
+
<!-- Features -->
|
|
109
|
+
<div class="container">
|
|
110
|
+
<div class="features">
|
|
111
|
+
<div class="feature"><h3>Autonomous Dispatch</h3><p>Engine discovers work from plans, PRs, schedules, pipelines, and queues — then routes to the right agent by role, skill, and availability.</p></div>
|
|
112
|
+
<div class="feature"><h3>Plan Lifecycle</h3><p>Plan → Approve → PRD → Execute → Review → Verify. Completed plans stay available until you manually archive them.</p></div>
|
|
113
|
+
<div class="feature"><h3>Team Meetings</h3><p>Multi-agent meetings with investigate, debate, and conclude rounds. Agents research, discuss, and produce actionable conclusions.</p></div>
|
|
114
|
+
<div class="feature"><h3>Multi-Stage Pipelines</h3><p>Chain tasks, meetings, plans, and more into automated workflows. Cron triggers or manual. Artifacts flow between stages.</p></div>
|
|
115
|
+
<div class="feature"><h3>Review / Fix Loop</h3><p>After implementation, Minions can dispatch reviews, react to human PR comments, and send fixes back to the original author agent.</p></div>
|
|
116
|
+
<div class="feature"><h3>Git Worktree Isolation</h3><p>Each agent works in its own worktree. No conflicts, no cross-contamination, safe parallel execution.</p></div>
|
|
117
|
+
<div class="feature"><h3>Knowledge Consolidation</h3><p>Agent findings, quick notes, pinned notes, and feedback consolidate into team notes and a categorized knowledge base.</p></div>
|
|
118
|
+
<div class="feature"><h3>PR Integration</h3><p>Tracks Azure DevOps and GitHub PRs, including review votes, build status, merge status, human comments, and context-only links.</p></div>
|
|
119
|
+
<div class="feature"><h3>Scheduled Tasks & Watches</h3><p>Cron-style recurring work plus watches for PRs, work items, dispatches, meetings, pipelines, agents, and status changes.</p></div>
|
|
120
|
+
<div class="feature"><h3>Command Center & Doc Chat</h3><p>Natural language orchestration, persistent CC tabs, document Q&A/editing, issue filing, routing updates, and local API actions.</p></div>
|
|
121
|
+
<div class="feature"><h3>Pluggable Runtimes</h3><p>Run agents through Claude Code or GitHub Copilot CLI, with runtime-specific models, effort, session resume, and permission handling.</p></div>
|
|
122
|
+
<div class="feature"><h3>Live Dashboard</h3><p>Real-time mission control on port 7331 with paginated views, optimistic updates, live streams, metrics, and settings.</p></div>
|
|
123
|
+
<div class="feature"><h3>One-Command Updates</h3><p><code>minions update</code> pulls the latest npm package, reapplies files, and restarts while preserving config and customizations.</p></div>
|
|
124
|
+
</div>
|
|
125
|
+
|
|
126
|
+
<!-- Demo scenarios -->
|
|
127
|
+
<div class="scenario">
|
|
128
|
+
<div class="scenario-header"><div class="scenario-num">1</div><h2>Dashboard Overview</h2></div>
|
|
129
|
+
<p>Home page with agent status cards, project bar, setup guidance, and engine state. All agents visible at a glance.</p>
|
|
130
|
+
<div class="demo-frame">
|
|
131
|
+
<img src="demo/01-dashboard-overview.png" alt="Dashboard overview with agent cards">
|
|
132
|
+
<div class="demo-caption">Home page showing Minions Members, project bar, and engine status badge</div>
|
|
133
|
+
</div>
|
|
134
|
+
</div>
|
|
135
|
+
|
|
136
|
+
<div class="scenario">
|
|
137
|
+
<div class="scenario-header"><div class="scenario-num">2</div><h2>Work Items</h2></div>
|
|
138
|
+
<p>Paginated table with status, type, priority, agent, dependencies, artifacts, and linked PRs. <span class="badge badge-yellow">PENDING</span> <span class="badge badge-blue">DISPATCHED</span> <span class="badge badge-green">DONE</span> <span class="badge badge-red">FAILED</span>. Retry, delete, archive, and add feedback with optimistic updates.</p>
|
|
139
|
+
<div class="demo-frame">
|
|
140
|
+
<img src="demo/02-work-items.png" alt="Work items table">
|
|
141
|
+
<div class="demo-caption">Work items page — 20 per page with create, edit, retry, and delete actions</div>
|
|
142
|
+
</div>
|
|
143
|
+
</div>
|
|
144
|
+
|
|
145
|
+
<div class="scenario">
|
|
146
|
+
<div class="scenario-header"><div class="scenario-num">3</div><h2>Plans & PRD</h2></div>
|
|
147
|
+
<p>Plan cards with Approve / Discuss & Revise / Reject. PRD dependency graph with per-item retry, reopening, verification, and manual archive.</p>
|
|
148
|
+
<div class="demo-frame">
|
|
149
|
+
<img src="demo/03-plans-prd.png" alt="Plans and PRD progress">
|
|
150
|
+
<div class="demo-caption">Plans page with status-colored cards, PRD dependency graph, and action buttons</div>
|
|
151
|
+
</div>
|
|
152
|
+
</div>
|
|
153
|
+
|
|
154
|
+
<div class="scenario">
|
|
155
|
+
<div class="scenario-header"><div class="scenario-num">4</div><h2>Pull Requests</h2></div>
|
|
156
|
+
<p>PR tracker sorted by date, with review, build, merge, conflict, and human-comment status. Linked to work items and PRD items. Manual PR linking and context-only observation supported.</p>
|
|
157
|
+
<div class="demo-frame">
|
|
158
|
+
<img src="demo/04-pull-requests.png" alt="Pull requests tracker">
|
|
159
|
+
<div class="demo-caption">PRs sorted newest-first with build status, review status, and agent attribution</div>
|
|
160
|
+
</div>
|
|
161
|
+
</div>
|
|
162
|
+
|
|
163
|
+
<div class="scenario">
|
|
164
|
+
<div class="scenario-header"><div class="scenario-num">5</div><h2>Team Meetings</h2></div>
|
|
165
|
+
<p>Multi-agent meetings with 3 rounds: investigate, debate, conclude. Live progress per participant. Create plans from conclusions.</p>
|
|
166
|
+
<div class="demo-frame">
|
|
167
|
+
<img src="demo/05-meetings.png" alt="Meetings page">
|
|
168
|
+
<div class="demo-caption">Meetings with round status badges, participant progress, and archive/delete actions</div>
|
|
169
|
+
</div>
|
|
170
|
+
</div>
|
|
171
|
+
|
|
172
|
+
<div class="scenario">
|
|
173
|
+
<div class="scenario-header"><div class="scenario-num">6</div><h2>Pipelines</h2></div>
|
|
174
|
+
<p>Multi-stage workflows chaining tasks, meetings, plans, tests, docs, and more. Cron triggers or manual runs. Artifact tracking between stages.</p>
|
|
175
|
+
<div class="demo-frame">
|
|
176
|
+
<img src="demo/06-pipelines.png" alt="Pipelines page">
|
|
177
|
+
<div class="demo-caption">Pipeline cards with stage flow visualization, run history, and progress bars</div>
|
|
178
|
+
</div>
|
|
179
|
+
</div>
|
|
180
|
+
|
|
181
|
+
<div class="scenario">
|
|
182
|
+
<div class="scenario-header"><div class="scenario-num">7</div><h2>Notes & Knowledge Base</h2></div>
|
|
183
|
+
<p>Inbox for agent findings, quick notes, pinned notes, consolidated team notes, and categorized knowledge base. Inline Q&A/editing on documents.</p>
|
|
184
|
+
<div class="demo-frame">
|
|
185
|
+
<img src="demo/07-notes-kb.png" alt="Notes and knowledge base">
|
|
186
|
+
<div class="demo-caption">Notes inbox, team notes, and knowledge base with category tabs and pagination</div>
|
|
187
|
+
</div>
|
|
188
|
+
</div>
|
|
189
|
+
|
|
190
|
+
<div class="scenario">
|
|
191
|
+
<div class="scenario-header"><div class="scenario-num">8</div><h2>Scheduled Tasks</h2></div>
|
|
192
|
+
<p>Cron-style recurring work with a visual builder. Schedule work items, tests, docs, plans, asks, meetings, and recurring maintenance.</p>
|
|
193
|
+
<div class="demo-frame">
|
|
194
|
+
<img src="demo/08-schedules.png" alt="Schedules page">
|
|
195
|
+
<div class="demo-caption">Schedule list with cron expressions, last-run times, and enable/disable toggles</div>
|
|
196
|
+
</div>
|
|
197
|
+
</div>
|
|
198
|
+
|
|
199
|
+
<div class="scenario">
|
|
200
|
+
<div class="scenario-header"><div class="scenario-num">9</div><h2>Engine & Metrics</h2></div>
|
|
201
|
+
<p>Dispatch queue, engine log, agent metrics, token usage, runtime/model data, quality signals, and context pressure. All paginated.</p>
|
|
202
|
+
<div class="demo-frame">
|
|
203
|
+
<img src="demo/09-engine.png" alt="Engine page">
|
|
204
|
+
<div class="demo-caption">Active/pending dispatches, completed history, engine log, and per-agent quality metrics</div>
|
|
205
|
+
</div>
|
|
206
|
+
</div>
|
|
207
|
+
|
|
208
|
+
<div class="scenario">
|
|
209
|
+
<div class="scenario-header"><div class="scenario-num">10</div><h2>Command Center</h2></div>
|
|
210
|
+
<p>Natural language delegation. CC orchestrates — agents implement. Sessions persist across refreshes and tabs; actions can create work, notes, plans, watches, PR links, and issues.</p>
|
|
211
|
+
<div class="demo-frame">
|
|
212
|
+
<img src="demo/10-command-center.png" alt="Command Center panel">
|
|
213
|
+
<div class="demo-caption">Command Center side panel with conversation history, action execution, and session indicator</div>
|
|
214
|
+
</div>
|
|
215
|
+
</div>
|
|
216
|
+
|
|
217
|
+
<!-- Quick Start -->
|
|
218
|
+
<div class="quickstart" id="quickstart">
|
|
219
|
+
<h2>Quick Start</h2>
|
|
220
|
+
<pre><span class="comment"># Prerequisites: Node.js 18+, Git, and at least one agent runtime</span>
|
|
221
|
+
<span class="comment"># Install Claude Code or GitHub Copilot CLI separately, then install Minions</span>
|
|
222
|
+
npm install -g @yemi33/minions
|
|
223
|
+
|
|
224
|
+
<span class="comment"># Bootstrap ~/.minions/ and scan/link repositories</span>
|
|
225
|
+
minions init
|
|
226
|
+
|
|
227
|
+
<span class="comment"># Or add a specific project later</span>
|
|
228
|
+
minions add ~/my-project
|
|
229
|
+
|
|
230
|
+
<span class="comment"># Start engine + dashboard, then open http://localhost:7331</span>
|
|
231
|
+
minions restart --open
|
|
232
|
+
minions dash
|
|
233
|
+
|
|
234
|
+
<span class="comment"># Give your first task</span>
|
|
235
|
+
minions work "Explore the codebase and document the architecture"
|
|
236
|
+
|
|
237
|
+
<span class="comment"># Useful operations</span>
|
|
238
|
+
minions status
|
|
239
|
+
minions doctor
|
|
240
|
+
minions config set-cli copilot --model gpt-5.4
|
|
241
|
+
|
|
242
|
+
<span class="comment"># Update to latest</span>
|
|
243
|
+
minions update</pre>
|
|
244
|
+
</div>
|
|
245
|
+
|
|
246
|
+
<!-- Architecture -->
|
|
247
|
+
<div class="arch">
|
|
248
|
+
<h2>Architecture</h2>
|
|
249
|
+
<pre>
|
|
250
|
+
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
|
|
251
|
+
Γöé ~/.minions/ (central hub) Γöé
|
|
252
|
+
Γöé Γöé
|
|
253
|
+
Γöé engine.js ΓöÇΓöÇΓöÇΓöÇ 60s tick loop ΓöÇΓöÇΓöÇΓöÇΓöÉ Γöé
|
|
254
|
+
Γöé Γöé Γöé Γöé
|
|
255
|
+
Γöé discover work spawn agents poll PRs/comments Γöé
|
|
256
|
+
Γöé Γöé Γöé Γöé Γöé
|
|
257
|
+
Γöé ΓöîΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÉ ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ ΓöîΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÉ Γöé
|
|
258
|
+
Γöé Γöé Plans Γöé Γöé Worktrees Γöé Γöé ADO Γöé Γöé
|
|
259
|
+
Γöé Γöé PRDs Γöé Γöé (isolated) Γöé ΓöéGitHubΓöé Γöé
|
|
260
|
+
Γöé Γöé Items Γöé Γöé per agent Γöé Γöé Γöé Γöé
|
|
261
|
+
Γöé ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ Γöé
|
|
262
|
+
Γöé Γöé
|
|
263
|
+
Γöé dashboard.js ΓöÇΓöÇ port 7331 ΓöÇΓöÇ mission control Γöé
|
|
264
|
+
Γöé runtimes/ ΓöÇΓöÇ Claude Code or GitHub Copilot CLI Γöé
|
|
265
|
+
Γöé meetings/ ΓöÇΓöÇ multi-agent discussions Γöé
|
|
266
|
+
Γöé pipelines/ ΓöÇΓöÇ multi-stage workflows Γöé
|
|
267
|
+
Γöé schedules + watches ΓöÇΓöÇ recurring/conditional work Γöé
|
|
268
|
+
Γöé notes.md + knowledge/ ΓöÇΓöÇ team memory and KB Γöé
|
|
269
|
+
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
|
|
270
|
+
</pre>
|
|
271
|
+
</div>
|
|
272
|
+
|
|
273
|
+
</div>
|
|
274
|
+
|
|
275
|
+
<footer>
|
|
276
|
+
<p>Minions — built by <a href="https://github.com/yemi33">yemi33</a> — <a href="https://www.npmjs.com/package/@yemi33/minions">npm</a> — <a href="https://yemi33.github.io/minions/">Public site</a> — MIT License — Claude Code or GitHub Copilot CLI runtime</p>
|
|
277
|
+
</footer>
|
|
278
|
+
|
|
279
|
+
</body>
|
|
280
|
+
</html>
|
|
281
|
+
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1890",
|
|
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"
|
|
@@ -20,16 +20,20 @@ You are {{agent_name}} ({{agent_role}}) in Round 2 of a team meeting.
|
|
|
20
20
|
|
|
21
21
|
## Your Task
|
|
22
22
|
|
|
23
|
-
You've read everyone's investigation findings above.
|
|
23
|
+
You've read everyone's investigation findings above. Your response MUST begin with the `Disagreements:` section below — in that order — before any other content.
|
|
24
24
|
|
|
25
|
-
1. **
|
|
26
|
-
|
|
25
|
+
1. **Disagreements:** (required, FIRST section) — at least one bullet naming a specific Round 1 claim you reject. Each bullet MUST identify the participant by name, quote or paraphrase the claim, give your reason for rejecting it, and cite evidence as `path:line` (for code claims) or a transcript quote (for meeting claims). If after honest review you genuinely cannot disagree with anything, the section MUST take this exact form instead:
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
Disagreements: none — explicit agreement with <participant>'s claim that <claim> after verifying <evidence: path:line or transcript quote>
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
"None" with no verification target is not acceptable.
|
|
32
|
+
2. **What do you agree with?** (max 3 bullets) — which points are strongest, and why.
|
|
27
33
|
3. **Play devil's advocate** — what's the strongest counterargument to your OWN position?
|
|
28
34
|
4. **What's missing?** What did everyone overlook?
|
|
29
35
|
5. **What should the team decide?**
|
|
30
36
|
|
|
31
|
-
Be direct. Constructive disagreement is encouraged — don't just agree with everyone.
|
|
32
|
-
|
|
33
37
|
## Output Format
|
|
34
38
|
|
|
35
39
|
Write your debate response as markdown. Reference other agents' findings by name.
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
# Distribution & Publishing
|
|
2
|
-
|
|
3
|
-
> **ARCHIVED 2026-05-12.** This document describes a defunct two-repo "personal vs. origin" architecture (`yemishin_microsoft/minions` → `yemi33/minions`) and a manual `/sync-to-personal` workflow that no longer exists. The current model is single-repo: `yemi33/minions` publishes itself to npm via `.github/workflows/publish.yml` on every push to `master`. The doc also incorrectly claims package contents are gated by a `files` field in `package.json` — they are actually gated by `.npmignore`. Kept for historical reference; do not follow these steps.
|
|
4
|
-
|
|
5
|
-
Minions is distributed as an npm package (`@yemi33/minions`) from a sanitized copy of the main repo.
|
|
6
|
-
|
|
7
|
-
## Two-Repo Architecture
|
|
8
|
-
|
|
9
|
-
| Repo | Purpose | What's included |
|
|
10
|
-
|------|---------|----------------|
|
|
11
|
-
| **origin** (`yemishin_microsoft/minions`) | Full working repo with all session state | Everything — history, notes, decisions, work items, CLAUDE.md |
|
|
12
|
-
| **personal** (`yemi33/minions`) | Clean distribution for others | Engine, dashboard, playbooks, charters, skills, docs, npm package files |
|
|
13
|
-
|
|
14
|
-
## What Gets Stripped
|
|
15
|
-
|
|
16
|
-
These files are removed during sync to personal:
|
|
17
|
-
|
|
18
|
-
| Category | Pattern | Reason |
|
|
19
|
-
|----------|---------|--------|
|
|
20
|
-
| Agent history | `agents/*/history.md` | Session-specific task logs |
|
|
21
|
-
| Notes archive | `notes/archive/*` | Historical agent findings |
|
|
22
|
-
| Notes inbox | `notes/inbox/*` | Pending agent findings |
|
|
23
|
-
| Notes summary | `notes.md` | Consolidated knowledge (runtime) |
|
|
24
|
-
| Work items | `work-items.json` | Runtime dispatch tracking |
|
|
25
|
-
| Project instructions | `CLAUDE.md` | Org-specific context |
|
|
26
|
-
|
|
27
|
-
## npm Package
|
|
28
|
-
|
|
29
|
-
**Package:** `@yemi33/minions`
|
|
30
|
-
**Registry:** https://www.npmjs.com/package/@yemi33/minions
|
|
31
|
-
|
|
32
|
-
### What's in the package
|
|
33
|
-
|
|
34
|
-
Controlled by the `files` field in `package.json`:
|
|
35
|
-
- `bin/minions.js` — CLI entry point
|
|
36
|
-
- `engine.js`, `dashboard.js`, `dashboard/` (fragments), `minions.js` — core scripts
|
|
37
|
-
- `engine/spawn-agent.js`, `engine/ado-mcp-wrapper.js` — engine helpers
|
|
38
|
-
- `agents/*/charter.md` — agent role definitions
|
|
39
|
-
- `playbooks/*.md` — task templates
|
|
40
|
-
- `config.template.json` — starter config
|
|
41
|
-
- `routing.md`, `team.md` — editable team config
|
|
42
|
-
- `skills/`, `docs/` — documentation and workflows
|
|
43
|
-
|
|
44
|
-
### How `minions init` works
|
|
45
|
-
|
|
46
|
-
1. Copies all package files from `node_modules/@yemi33/minions/` to `~/.minions/`
|
|
47
|
-
2. Creates `config.json` from `config.template.json` if it doesn't exist
|
|
48
|
-
3. Creates runtime directories (`engine/`, `notes/inbox/`, `notes/archive/`, etc.)
|
|
49
|
-
4. Runs `minions.js init` to populate config with default agents
|
|
50
|
-
5. On `--force`, overwrites `.js` and `.html` files but preserves user-modified `.md` files
|
|
51
|
-
|
|
52
|
-
### How updates work
|
|
53
|
-
|
|
54
|
-
- Users run `npm update -g @yemi33/minions` then `minions init --force` to update engine code
|
|
55
|
-
- `npx @yemi33/minions` always fetches the latest version
|
|
56
|
-
|
|
57
|
-
## Auto-Publishing
|
|
58
|
-
|
|
59
|
-
A GitHub Action on the personal repo auto-publishes to npm on every push to master.
|
|
60
|
-
|
|
61
|
-
### How it works
|
|
62
|
-
|
|
63
|
-
1. Push to `yemi33/minions` master triggers `.github/workflows/publish.yml`
|
|
64
|
-
2. Action queries npm for the current published version
|
|
65
|
-
3. Bumps patch version (e.g., `0.1.5` → `0.1.6`)
|
|
66
|
-
4. Publishes to npm with the new version
|
|
67
|
-
5. Commits the version bump back to the repo with `[skip ci]` to prevent loops
|
|
68
|
-
|
|
69
|
-
### Why version comes from npm, not the repo
|
|
70
|
-
|
|
71
|
-
The sync-to-personal workflow force-pushes, which overwrites any version bump commits from previous action runs. So the action reads the latest version from the npm registry and bumps from there.
|
|
72
|
-
|
|
73
|
-
### Setup requirements
|
|
74
|
-
|
|
75
|
-
- `NPM_TOKEN` secret on `yemi33/minions` — a granular access token with publish permissions and 2FA bypass enabled
|
|
76
|
-
- The workflow file (`.github/workflows/publish.yml`) is gitignored on the org repo and force-added during sync
|
|
77
|
-
|
|
78
|
-
## Sync Workflow
|
|
79
|
-
|
|
80
|
-
Run `/sync-to-personal` or manually:
|
|
81
|
-
|
|
82
|
-
```bash
|
|
83
|
-
# 1. Create dist branch, strip files, add workflow, force-push
|
|
84
|
-
git checkout -b dist-clean
|
|
85
|
-
git rm --cached agents/*/history.md notes.md work-items.json CLAUDE.md
|
|
86
|
-
git rm -r --cached notes/archive/ notes/inbox/ notes/
|
|
87
|
-
# ... add .gitkeep files, .gitignore entries, workflow file
|
|
88
|
-
git add -f .github/workflows/publish.yml
|
|
89
|
-
git commit -m "Strip for distribution"
|
|
90
|
-
git push personal dist-clean:master --force
|
|
91
|
-
|
|
92
|
-
# 2. Return to master
|
|
93
|
-
git checkout master
|
|
94
|
-
git branch -D dist-clean
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
|