@ionivetech/mugiwara 0.5.2 → 0.5.3
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/.agents/plugins/marketplace.json +20 -0
- package/.claude-plugin/marketplace.json +18 -0
- package/.claude-plugin/plugin.json +64 -0
- package/.claude-plugin/sync.sh +18 -0
- package/.codex-plugin/plugin.json +18 -0
- package/.cursor-plugin/plugin.json +19 -0
- package/.kimi-plugin/plugin.json +18 -0
- package/.opencode/commands/mugiwara.md +13 -7
- package/.opencode/commands/using-mugiwara.md +26 -0
- package/.opencode/plugins/mugiwara-helpers.mjs +90 -0
- package/.opencode/plugins/mugiwara.mjs +6 -99
- package/AGENTS.md +183 -0
- package/GEMINI.md +12 -0
- package/README.md +86 -56
- package/content/agents/luffy-orchestrator.md +1 -1
- package/content/agents/zoro-execution.md +1 -1
- package/content/skills/mugiwara-execution/SKILL.md +2 -5
- package/content/skills/{mugiwara-proof-order/SKILL.md → mugiwara-execution/references/tdd.md} +4 -7
- package/content/skills/using-mugiwara/SKILL.md +52 -0
- package/dist/mugiwara.js +0 -1
- package/docs/adoption-guide.md +1 -1
- package/docs/agents.md +5 -3
- package/docs/claude-setup.md +1 -1
- package/docs/developer-onboarding.md +1 -1
- package/docs/getting-started.md +1 -1
- package/docs/index.md +1 -1
- package/docs/install-antigravity.md +45 -0
- package/docs/install-claude.md +75 -0
- package/docs/install-cli.md +103 -0
- package/docs/install-codex.md +44 -0
- package/docs/install-copilot.md +45 -0
- package/docs/install-cursor.md +45 -0
- package/docs/install-gemini.md +44 -0
- package/docs/install-kimi.md +45 -0
- package/docs/install-opencode.md +129 -0
- package/docs/install-pi.md +46 -0
- package/docs/install.md +53 -0
- package/docs/opencode-setup.md +1 -1
- package/docs/skills.md +1 -1
- package/evals/cases/routing-claim-audit.json +1 -1
- package/evals/cases/routing-using-mugiwara.json +25 -0
- package/evals/floor.json +1 -1
- package/gemini-extension.json +6 -0
- package/hooks/hooks.json +11 -0
- package/hooks/mugiwara-mode-tracker.ts +80 -0
- package/hooks/session-start.ts +1 -1
- package/package.json +13 -2
- package/plugin.json +15 -0
- package/src/targets/opencode.ts +0 -1
- package/.opencode/commands/mugiwara-mode.md +0 -6
- package/content/agents/using-mugiwara.md +0 -44
- package/content/skills/mugiwara-proof-order/references/proof-order-examples.md +0 -62
- package/evals/cases/routing-proof-order.json +0 -25
package/plugin.json
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "mugiwara",
|
|
3
|
+
"description": "The Straw Hat crew of AI agents and skills: brainstorm, plan, execute, checkpoint, quality, gates, review, security, healing.",
|
|
4
|
+
"version": "0.5.3",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "ionive"
|
|
7
|
+
},
|
|
8
|
+
"license": "MIT",
|
|
9
|
+
"repository": "https://github.com/ionivetech/mugiwara",
|
|
10
|
+
"keywords": [
|
|
11
|
+
"agents",
|
|
12
|
+
"skills",
|
|
13
|
+
"workflow"
|
|
14
|
+
]
|
|
15
|
+
}
|
package/src/targets/opencode.ts
CHANGED
|
@@ -11,7 +11,6 @@ type CrewConfig = {
|
|
|
11
11
|
};
|
|
12
12
|
|
|
13
13
|
const CREW: Record<string, CrewConfig> = {
|
|
14
|
-
'using-mugiwara': { color: '#84cc16', temperature: 0.2, steps: 10 },
|
|
15
14
|
'luffy-orchestrator': { color: '#ef4444', temperature: 0.2, steps: 15 },
|
|
16
15
|
'usopp-brainstorm': { color: '#f59e0b', temperature: 0.6, steps: 15 },
|
|
17
16
|
'nami-planner': { color: '#f97316', temperature: 0.2, steps: 15 },
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: using-mugiwara
|
|
3
|
-
description: Front-door router. Classifies missions, routes to specialist. Never implements.
|
|
4
|
-
skills: mugiwara-workflow, mugiwara-orchestration, mugiwara-pr
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Using Mugiwara (Front Door)
|
|
8
|
-
|
|
9
|
-
The easy entry point to the crew. Say "use mugiwara" or invoke `using-mugiwara` — you do not need to remember agent names. Embodied inline by the main thread; returns the route, never dispatches a crew member.
|
|
10
|
-
|
|
11
|
-
## Auto-activation
|
|
12
|
-
|
|
13
|
-
The workflow auto-activates for non-trivial requests — you do NOT need to call `using-mugiwara` at session start. This agent is an OPTIONAL explicit router: use it for a "how do I use mugiwara?" explanation or to route a mission by hand. For ANY non-trivial request, check before responding: if the mugiwara workflow could apply, run it — invoke the skill and start Wave 0 triage. Do not skip the check ("this is just a question", "I'll just do this one thing first", "I can explore first"). Process first: the crew workflow, then the specialized skill.
|
|
14
|
-
|
|
15
|
-
## Experience
|
|
16
|
-
|
|
17
|
-
Front-door router, 20 years of triage. Abilities: fast 5-way classification, knowing exactly which specialist to send, no-implementation discipline.
|
|
18
|
-
|
|
19
|
-
## What to do
|
|
20
|
-
|
|
21
|
-
1. **If the user asks how mugiwara works** — summarize in a few lines: the crew (Luffy gates, Nami plans, Zoro executes, Chopper audits, Brook heals), the workspace (`.mugiwara/`), and that every non-trivial mission starts with Luffy triage. Point to `mugiwara-workflow` for the full pipeline.
|
|
22
|
-
2. **If the user gives a mission or task** — classify it (Trivial / Explicit / Exploratory / Open-ended / Ambiguous) and route:
|
|
23
|
-
- Clear, small, well-understood → route to `nami-planner` directly (or `zoro-execution` if a plan already exists).
|
|
24
|
-
- Vague idea, needs direction, research, or options → route to `usopp-brainstorm`.
|
|
25
|
-
- Anything else / not sure → route to `luffy-orchestrator` (full 5-way triage + check-ins).
|
|
26
|
-
- Specialized asks map directly: review → `robin-reviewer`, security → `jinbe-security`, fix failures → `brook-healing`, audit → `chopper-checkpoint`, resume → `resume-coordinator`, past lessons → `memory-keeper`.
|
|
27
|
-
3. **Record the route** in the decision log (`.mugiwara/logs/YYYY-MM-DD-<mission>.md`) with a one-line reason — the harness stays coherent even when the entry was `using-mugiwara`. Read the active mode from `.mugiwara/config` (project then global config, missing = guided) and mention it in the route record so the session starts on the right level. Never write into the plan doc.
|
|
28
|
-
|
|
29
|
-
## Rules
|
|
30
|
-
|
|
31
|
-
1. Follow `mugiwara-workflow` and `mugiwara-orchestration` for the pipeline; this agent only routes.
|
|
32
|
-
2. Never start implementation yourself — you are the front door, not a doer.
|
|
33
|
-
3. Ambiguous → default to `luffy-orchestrator`, never guess a specialist.
|
|
34
|
-
4. Direct calls do not skip Luffy's check-ins on the mission that follows.
|
|
35
|
-
|
|
36
|
-
## Output
|
|
37
|
-
|
|
38
|
-
Route decision + reason, written to the decision log (`.mugiwara/logs/YYYY-MM-DD-<mission>.md`). If no mission yet, a short "how to use" summary to the user.
|
|
39
|
-
|
|
40
|
-
## Red flags
|
|
41
|
-
|
|
42
|
-
- Implementing code instead of routing.
|
|
43
|
-
- Guessing a specialist for an ambiguous request instead of sending it to Luffy.
|
|
44
|
-
- Starting a mission without recording the route.
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
# Proof Order Examples
|
|
2
|
-
|
|
3
|
-
The test's proof value comes from WHEN it runs, not that it exists.
|
|
4
|
-
|
|
5
|
-
## Why order matters
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
❌ Write implementation → Write test → Test passes immediately
|
|
9
|
-
The test never demonstrated it could catch the bug.
|
|
10
|
-
You cannot prove the test is testing the right thing.
|
|
11
|
-
|
|
12
|
-
✅ Write test (red) → Watch it fail → Write implementation → Test passes (green)
|
|
13
|
-
The red phase proves the test catches the absence of the feature.
|
|
14
|
-
The green phase proves the feature satisfies the test.
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
## Example: password validation
|
|
18
|
-
|
|
19
|
-
```ts
|
|
20
|
-
// RED — test first, watch it fail
|
|
21
|
-
describe('validatePassword', () => {
|
|
22
|
-
it('rejects passwords shorter than 8 characters', () => {
|
|
23
|
-
expect(validatePassword('short')).toBe(false);
|
|
24
|
-
});
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
// FAIL: validatePassword is not defined
|
|
28
|
-
|
|
29
|
-
// GREEN — minimal impl
|
|
30
|
-
function validatePassword(pw: string): boolean {
|
|
31
|
-
return pw.length >= 8;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
// REFACTOR — while green
|
|
35
|
-
function validatePassword(pw: string): boolean {
|
|
36
|
-
if (pw.length < 8) return false;
|
|
37
|
-
if (!/[A-Z]/.test(pw)) return false;
|
|
38
|
-
if (!/[0-9]/.test(pw)) return false;
|
|
39
|
-
return true;
|
|
40
|
-
}
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
## Anti-pattern: test after implementation
|
|
44
|
-
|
|
45
|
-
```ts
|
|
46
|
-
// Code already written, then test added later:
|
|
47
|
-
function formatCurrency(amount: number): string {
|
|
48
|
-
return `$${amount.toFixed(2)}`;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
// Test passes immediately — proves nothing:
|
|
52
|
-
it('formats currency', () => {
|
|
53
|
-
expect(formatCurrency(10)).toBe('$10.00'); // green on first run
|
|
54
|
-
});
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
The fix: comment out the implementation, watch the test fail, then uncomment.
|
|
58
|
-
If the test still passes with implementation removed, the test is wrong.
|
|
59
|
-
|
|
60
|
-
## Rule
|
|
61
|
-
|
|
62
|
-
A test that passes on first run has proven nothing. Discard the implementation and redo test-first, or comment it out and prove the test actually fails before restoring.
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "routing-proof-order",
|
|
3
|
-
"skill": "mugiwara-proof-order",
|
|
4
|
-
"trigger": {
|
|
5
|
-
"positive": [
|
|
6
|
-
{ "prompt": "write the test first before implementing the function", "top_k": 3 },
|
|
7
|
-
{ "prompt": "use TDD — red green refactor for this feature", "top_k": 3 },
|
|
8
|
-
{ "prompt": "prove the behavior with a failing test, then implement", "top_k": 3 }
|
|
9
|
-
],
|
|
10
|
-
"negative": [
|
|
11
|
-
{ "prompt": "run the existing unit test suite that was written last week" },
|
|
12
|
-
{ "prompt": "run the acceptance tests defined by the user" }
|
|
13
|
-
]
|
|
14
|
-
},
|
|
15
|
-
"behavioral": [
|
|
16
|
-
{
|
|
17
|
-
"task": "Implement a new utility function. Write the test first, then the implementation, then refactor.",
|
|
18
|
-
"rubric": [
|
|
19
|
-
"follows RED-GREEN-REFACTOR discipline",
|
|
20
|
-
"writes the test before the implementation",
|
|
21
|
-
"one test = one behavior"
|
|
22
|
-
]
|
|
23
|
-
}
|
|
24
|
-
]
|
|
25
|
-
}
|