@muggleai/works 2.0.2 → 3.0.0

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.
Files changed (32) hide show
  1. package/README.md +173 -162
  2. package/dist/plugin/.claude-plugin/plugin.json +8 -0
  3. package/dist/plugin/.mcp.json +12 -0
  4. package/dist/plugin/hooks/hooks.json +14 -0
  5. package/dist/plugin/scripts/ensure-electron-app.sh +12 -0
  6. package/dist/plugin/skills/muggle-do/SKILL.md +53 -0
  7. package/dist/plugin/skills/muggle-do/impact-analysis.md +34 -0
  8. package/dist/plugin/skills/muggle-do/open-prs.md +52 -0
  9. package/dist/plugin/skills/muggle-do/qa.md +89 -0
  10. package/dist/plugin/skills/muggle-do/requirements.md +33 -0
  11. package/dist/plugin/skills/muggle-do/unit-tests.md +31 -0
  12. package/dist/plugin/skills/muggle-do/validate-code.md +30 -0
  13. package/dist/plugin/skills/publish-test-to-cloud/SKILL.md +41 -0
  14. package/dist/plugin/skills/test-feature-local/SKILL.md +86 -0
  15. package/package.json +7 -6
  16. package/plugin/.claude-plugin/plugin.json +8 -0
  17. package/plugin/.mcp.json +12 -0
  18. package/plugin/hooks/hooks.json +14 -0
  19. package/plugin/scripts/ensure-electron-app.sh +12 -0
  20. package/plugin/skills/muggle-do/SKILL.md +53 -0
  21. package/plugin/skills/muggle-do/impact-analysis.md +34 -0
  22. package/plugin/skills/muggle-do/open-prs.md +52 -0
  23. package/plugin/skills/muggle-do/qa.md +89 -0
  24. package/plugin/skills/muggle-do/requirements.md +33 -0
  25. package/plugin/skills/muggle-do/unit-tests.md +31 -0
  26. package/plugin/skills/muggle-do/validate-code.md +30 -0
  27. package/plugin/skills/publish-test-to-cloud/SKILL.md +41 -0
  28. package/plugin/skills/test-feature-local/SKILL.md +86 -0
  29. package/scripts/postinstall.mjs +2 -2
  30. package/skills-dist/muggle-do.md +0 -589
  31. package/skills-dist/publish-test-to-cloud.md +0 -43
  32. package/skills-dist/test-feature-local.md +0 -344
package/README.md CHANGED
@@ -1,37 +1,25 @@
1
1
  # muggle-ai-works
2
2
 
3
- **Ship quality products, not just code.** AI-powered QA that validates your app's user experience from Claude Code and Cursor to PR.
3
+ **Test your web app with AI — no test code required.**
4
+
5
+ One install gives your AI coding assistant the power to QA your app like a real user would: clicking through flows, catching broken experiences, and reporting results with screenshots and evidence.
4
6
 
5
7
  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
6
8
  [![npm](https://img.shields.io/npm/v/@muggleai/works)]()
7
9
  [![MCP Tools](https://img.shields.io/badge/MCP_tools-70+-green)]()
8
10
  [![Node](https://img.shields.io/badge/node-22+-orange)]()
9
11
 
10
- One install gives your AI coding assistant the ability to QA your app like a real user would — clicking through flows, catching broken experiences, and opening PRs with results.
11
-
12
- Part of the **Muggle AI** open-source ecosystem:
13
-
14
- | Package | Purpose | Install |
15
- |---------|---------|---------|
16
- | **muggle-ai-works** (this repo) | QA testing MCP server + autonomous dev pipeline | `npm install @muggleai/works` |
17
- | **[muggle-ai-teams](https://github.com/multiplex-ai/muggle-ai-teams)** | Agent orchestration, workflow, skills, rules | `npm install @muggleai/teams` |
18
-
19
- muggle-ai-works handles *QA verification* (test generation, browser replay, cloud results). muggle-ai-teams handles *how work gets done* (design → implement → review → deliver). Together, they form a complete AI-assisted development workflow with built-in quality assurance.
12
+ Powered by [MuggleTest](https://www.muggletest.com) the [AI-powered QA testing platform](https://www.muggletest.com).
20
13
 
21
14
  ---
22
15
 
23
- ## How Is This Different?
16
+ ## What do you get?
24
17
 
25
- Most AI coding tools help you *write* code. muggle-ai-works helps you *test* it automatically, using AI-driven browser automation.
18
+ muggle-ai-works gives your AI coding assistant three things it doesn't have out of the box: the ability to test your app in a real browser, a fully autonomous dev pipeline from requirements to PR, and 70+ MCP tools for building custom QA workflows.
26
19
 
27
- | | **muggle-ai-works** | **Playwright MCP** | **Manual QA** |
28
- |---|---|---|---|
29
- | **Test creation** | Natural language test cases | Write code manually | Write test plans manually |
30
- | **Test execution** | AI-driven browser (Electron app) | Scripted browser automation | Human clicks through flows |
31
- | **Localhost testing** | Built-in URL rewriting | Manual config | Manual |
32
- | **Cloud sync** | Automatic (projects, cases, scripts, results) | None | Spreadsheets |
33
- | **Integration** | MCP tools for any AI assistant | Playwright API | None |
34
- | **Learning curve** | Describe what to test in English | Learn Playwright API | Train QA team |
20
+ - **Test features on localhost** describe what to test in plain English; the AI drives a real browser, clicks through your flows, and reports results with screenshots. No test code to write, no Playwright setup.
21
+ - **Autonomous dev pipeline** — run `/muggle:muggle-do` with a requirement in English; the AI codes the feature, writes unit tests, runs QA against your app, and opens a PR — all in one command.
22
+ - **70+ MCP tools** build custom QA workflows using tools for project management, use case discovery, test case generation, browser automation, and reporting. Works with Claude Code, Cursor, and any MCP-compatible client.
35
23
 
36
24
  ---
37
25
 
@@ -40,13 +28,18 @@ Most AI coding tools help you *write* code. muggle-ai-works helps you *test* it
40
28
  ### 1. Install
41
29
 
42
30
  ```bash
43
- npm install @muggleai/works
31
+ /plugin marketplace add <marketplace-url-or-path>
32
+ /plugin install muggle@<marketplace-name>
44
33
  ```
45
34
 
46
- This automatically:
47
- 1. Downloads the QA engine (Electron app) for browser automation
48
- 2. Registers the MCP server in `~/.cursor/mcp.json`
49
- 3. Installs skills (`/muggle-do`, `/test-feature-local`) to `~/.claude/`
35
+ <details>
36
+ <summary>What gets configured automatically</summary>
37
+
38
+ 1. Namespaced skills (`/muggle:muggle-do`, `/muggle:test-feature-local`, `/muggle:publish-test-to-cloud`)
39
+ 2. Plugin-managed MCP server configuration
40
+ 3. Plugin hooks for Electron QA engine provisioning
41
+
42
+ </details>
50
43
 
51
44
  ### 2. Verify
52
45
 
@@ -57,19 +50,17 @@ muggle doctor
57
50
 
58
51
  ### 3. Start testing
59
52
 
60
- In Claude Code or Cursor, just ask:
53
+ In Claude Code or Cursor, describe what to test:
61
54
 
62
55
  > "Test my login flow on localhost:3000"
63
56
 
64
- Your AI assistant will authenticate, find or create test cases, launch the browser, record/replay tests, and show you results with screenshots.
57
+ Your AI assistant authenticates, finds or creates test cases, launches the browser, records and replays tests, and shows results with screenshots.
65
58
 
66
59
  ---
67
60
 
68
- ## How It Works
69
-
70
- ### Design principle: "Create remotely, execute locally"
61
+ ## How does it work?
71
62
 
72
- All entity management (projects, use cases, test cases) lives in the **cloud** via `muggle-remote-*` tools. Local execution (`muggle-local-*`) is stateless — it receives everything it needs as input and just runs tests.
63
+ muggle-ai-works separates test management from test execution. All entity management (projects, use cases, test cases) lives in the cloud via `muggle-remote-*` tools. Local execution (`muggle-local-*`) is stateless — it receives what it needs and runs the test.
73
64
 
74
65
  ### Entity model
75
66
 
@@ -81,7 +72,8 @@ Project (e.g., "My App")
81
72
  └── Run Result (pass/fail + screenshots)
82
73
  ```
83
74
 
84
- ### Test execution flow
75
+ <details>
76
+ <summary>Test execution flow</summary>
85
77
 
86
78
  ```
87
79
  Your AI assistant describes what to test
@@ -105,16 +97,18 @@ Results: pass/fail with evidence at ~/.muggle-ai/sessions/{runId}/
105
97
  muggle-local-publish-test-script uploads to cloud
106
98
  ```
107
99
 
100
+ </details>
101
+
108
102
  ---
109
103
 
110
104
  ## Three Ways to Use It
111
105
 
112
- ### 1. `/test-feature-local` — Test a feature on localhost
106
+ ### 1. `/muggle:test-feature-local` — Test a feature on localhost
113
107
 
114
- Interactive workflow: pick a project pick a use case pick a test case run against localhost.
108
+ Describe what to test in English. The AI finds the right project and test cases, launches a real browser, and reports results with screenshots.
115
109
 
116
110
  ```
117
- > /test-feature-local
111
+ > /muggle:test-feature-local
118
112
 
119
113
  "Test my login changes on localhost:3999"
120
114
 
@@ -128,12 +122,12 @@ Interactive workflow: pick a project → pick a use case → pick a test case
128
122
  7. Publish to cloud? (y)
129
123
  ```
130
124
 
131
- ### 2. `/muggle-do` — Autonomous dev pipeline
125
+ ### 2. `/muggle:muggle-do` — Autonomous dev pipeline
132
126
 
133
- Full development cycle: requirements code unit tests QA PR creation.
127
+ Full development cycle: requirements to PR in one command. The AI codes the feature, writes unit tests, runs QA against your running app, and opens a PR.
134
128
 
135
129
  ```
136
- > /muggle-do "Add a logout button to the header"
130
+ > /muggle:muggle-do "Add a logout button to the header"
137
131
 
138
132
  REQUIREMENTS → Goal: Add logout button. Criteria: visible, functional, redirects.
139
133
  IMPACT → frontend repo, src/components/Header.tsx
@@ -145,15 +139,14 @@ OPEN_PRS → PR #42 opened
145
139
  DONE → 1 iteration, all green
146
140
  ```
147
141
 
148
- Features:
149
142
  - Session-based with crash recovery (`.muggle-do/sessions/`)
150
- - Auto-triage: analyzes failures, jumps back to fix (max 3 iterations)
143
+ - Auto-triage: analyzes failures and loops back to fix (max 3 iterations)
151
144
  - Multi-repo support via `muggle-repos.json`
152
- - Creates PRs with QA results in description
145
+ - PRs include QA results and screenshots in the description
153
146
 
154
- ### 3. Direct MCP tool calls — Build your own workflow
147
+ ### 3. Direct MCP tool calls — Build your own QA workflow
155
148
 
156
- Use any of the 70+ MCP tools directly from your AI assistant:
149
+ Use any of the 70+ MCP tools directly from your AI assistant. This is the lowest-level option and the most flexible for building custom QA workflows.
157
150
 
158
151
  ```
159
152
  "Create a project called My App with URL https://myapp.com"
@@ -164,26 +157,12 @@ Use any of the 70+ MCP tools directly from your AI assistant:
164
157
 
165
158
  ---
166
159
 
167
- ## Integration with muggle-ai-teams
168
-
169
- When both packages are installed, muggle-ai-teams automatically integrates QA into its workflow:
170
-
171
- | Workflow Step | What Happens |
172
- |--------------|-------------|
173
- | **Step 1F** (Plan) | QA test instructions written per implementation slice |
174
- | **Step 2** (Execute) | Per-slice QA via muggle-ai-works before each commit |
175
- | **Step 3** (Verify) | Full regression sweep replaying all project scripts |
176
- | **Step 5** (Push) | QA results published to cloud, linked in PR description |
177
-
178
- Frontend slices get browser QA. Backend-only slices are verified by unit tests (browser QA skipped with documented reasoning).
179
-
180
- Install both: `npm install @muggleai/works @muggleai/teams`
181
-
182
- ---
160
+ ## What MCP tools are included?
183
161
 
184
- ## Available MCP Tools (70+)
162
+ muggle-ai-works provides 70+ MCP tools organized into 8 categories: authentication, project management, use cases, test cases, test scripts, local execution, reports, and administration. These tools power all AI testing automation workflows — from one-off browser checks to full QA automation pipelines.
185
163
 
186
- ### Authentication (`muggle-remote-auth-*`)
164
+ <details>
165
+ <summary>Authentication (muggle-remote-auth-*)</summary>
187
166
 
188
167
  | Tool | Purpose |
189
168
  |------|---------|
@@ -192,7 +171,10 @@ Install both: `npm install @muggleai/works @muggleai/teams`
192
171
  | `muggle-remote-auth-poll` | Poll for login completion |
193
172
  | `muggle-remote-auth-logout` | Clear credentials |
194
173
 
195
- ### Project Management (`muggle-remote-project-*`)
174
+ </details>
175
+
176
+ <details>
177
+ <summary>Project Management (muggle-remote-project-*)</summary>
196
178
 
197
179
  | Tool | Purpose |
198
180
  |------|---------|
@@ -202,7 +184,10 @@ Install both: `npm install @muggleai/works @muggleai/teams`
202
184
  | `muggle-remote-project-update` | Update project |
203
185
  | `muggle-remote-project-delete` | Delete project |
204
186
 
205
- ### Use Cases (`muggle-remote-use-case-*`)
187
+ </details>
188
+
189
+ <details>
190
+ <summary>Use Cases (muggle-remote-use-case-*)</summary>
206
191
 
207
192
  | Tool | Purpose |
208
193
  |------|---------|
@@ -211,7 +196,10 @@ Install both: `npm install @muggleai/works @muggleai/teams`
211
196
  | `muggle-remote-use-case-prompt-preview` | Preview before creating |
212
197
  | `muggle-remote-use-case-update-from-prompt` | Regenerate from new prompt |
213
198
 
214
- ### Test Cases (`muggle-remote-test-case-*`)
199
+ </details>
200
+
201
+ <details>
202
+ <summary>Test Cases (muggle-remote-test-case-*)</summary>
215
203
 
216
204
  | Tool | Purpose |
217
205
  |------|---------|
@@ -221,7 +209,10 @@ Install both: `npm install @muggleai/works @muggleai/teams`
221
209
  | `muggle-remote-test-case-create` | Create test case |
222
210
  | `muggle-remote-test-case-generate-from-prompt` | Generate from prompt |
223
211
 
224
- ### Test Scripts & Workflows (`muggle-remote-workflow-*`)
212
+ </details>
213
+
214
+ <details>
215
+ <summary>Test Scripts and Workflows (muggle-remote-workflow-*)</summary>
225
216
 
226
217
  | Tool | Purpose |
227
218
  |------|---------|
@@ -233,7 +224,10 @@ Install both: `npm install @muggleai/works @muggleai/teams`
233
224
  | `muggle-remote-workflow-start-test-script-replay` | Replay single script |
234
225
  | `muggle-remote-workflow-start-test-script-replay-bulk` | Batch replay |
235
226
 
236
- ### Local Execution (`muggle-local-*`)
227
+ </details>
228
+
229
+ <details>
230
+ <summary>Local Execution (muggle-local-*)</summary>
237
231
 
238
232
  | Tool | Purpose |
239
233
  |------|---------|
@@ -245,7 +239,10 @@ Install both: `npm install @muggleai/works @muggleai/teams`
245
239
  | `muggle-local-run-result-get` | Get detailed results + screenshots |
246
240
  | `muggle-local-publish-test-script` | Publish script to cloud |
247
241
 
248
- ### Reports & Analytics (`muggle-remote-report-*`)
242
+ </details>
243
+
244
+ <details>
245
+ <summary>Reports and Analytics (muggle-remote-report-*)</summary>
249
246
 
250
247
  | Tool | Purpose |
251
248
  |------|---------|
@@ -254,11 +251,49 @@ Install both: `npm install @muggleai/works @muggleai/teams`
254
251
  | `muggle-remote-report-final-generate` | Generate final report (PDF/HTML/Markdown) |
255
252
  | `muggle-remote-project-test-results-summary-get` | Test results summary |
256
253
 
257
- Also available: PRD processing (`muggle-remote-prd-*`), secrets management (`muggle-remote-secret-*`), wallet/billing (`muggle-remote-wallet-*`), and scheduling recommendations (`muggle-remote-recommend-*`).
254
+ </details>
255
+
256
+ <details>
257
+ <summary>Administration (PRD, secrets, billing, scheduling)</summary>
258
+
259
+ | Category | Tools |
260
+ |----------|-------|
261
+ | PRD processing | `muggle-remote-prd-*` — upload and process product requirements docs |
262
+ | Secrets management | `muggle-remote-secret-*` — store credentials for test environments |
263
+ | Wallet and billing | `muggle-remote-wallet-*` — manage credits and payment methods |
264
+ | Scheduling | `muggle-remote-recommend-*` — get CI/CD and schedule recommendations |
265
+
266
+ </details>
258
267
 
259
268
  ---
260
269
 
261
- ## CLI Commands
270
+ ## Works with muggle-ai-teams
271
+
272
+ [muggle-ai-teams](https://github.com/multiplex-ai/muggle-ai-teams) is the companion package for agent orchestration, workflow steps, and delivery. When both packages are installed, muggle-ai-teams automatically integrates QA into the development workflow at each stage.
273
+
274
+ | Workflow Step | What Happens |
275
+ |--------------|-------------|
276
+ | **Plan** | QA test instructions written per implementation slice |
277
+ | **Build** | Per-slice QA via muggle-ai-works before each commit |
278
+ | **Verify** | Full regression sweep replaying all project scripts |
279
+ | **Ship** | QA results published to cloud, linked in PR description |
280
+
281
+ Frontend slices get browser QA. Backend-only slices are verified by unit tests (browser QA skipped with documented reasoning).
282
+
283
+ Install both: `npm install @muggleai/works @muggleai/teams`
284
+
285
+ **Muggle AI open-source ecosystem:**
286
+
287
+ | Package | Purpose | Install |
288
+ |---------|---------|---------|
289
+ | **muggle-ai-works** (this repo) | QA testing MCP server + autonomous dev pipeline | `/plugin install muggle@<marketplace>` |
290
+ | **[muggle-ai-teams](https://github.com/multiplex-ai/muggle-ai-teams)** | Agent orchestration, workflow, skills, rules | `npm install @muggleai/teams` |
291
+
292
+ Want the full platform experience? [MuggleTest](https://www.muggletest.com) gives you everything out of the box — no setup, no configuration.
293
+
294
+ ---
295
+
296
+ ## CLI Reference
262
297
 
263
298
  ```bash
264
299
  # Server (main command — starts MCP server for AI clients)
@@ -266,7 +301,7 @@ muggle serve # Start with all tools (default)
266
301
  muggle serve --qa # Cloud QA tools only
267
302
  muggle serve --local # Local QA tools only
268
303
 
269
- # Setup & Diagnostics
304
+ # Setup and Diagnostics
270
305
  muggle setup # Download/update QA engine
271
306
  muggle setup --force # Force re-download
272
307
  muggle doctor # Diagnose installation issues
@@ -283,25 +318,44 @@ muggle --help # Show help
283
318
 
284
319
  ---
285
320
 
286
- ## Authentication
321
+ ## Setup and Configuration
287
322
 
288
- Authentication happens automatically when you first use a tool that requires it:
323
+ Authentication happens automatically when you first use a tool that requires it: a browser window opens with a verification code, you log in with your Muggle AI account, and the tool call continues. Credentials persist across sessions in `~/.muggle-ai/`.
289
324
 
290
- 1. A browser window opens with a verification code
291
- 2. You log in with your Muggle AI account
292
- 3. The tool call continues with your credentials
325
+ <details>
326
+ <summary>MCP client configuration examples</summary>
293
327
 
294
- Credentials are stored in `~/.muggle-ai/` and persist across sessions.
328
+ When installed as a plugin, MCP server configuration is shipped by the plugin (`plugin/.mcp.json`) and does not require manual user-level file copy.
295
329
 
296
- ### Handling expired tokens
330
+ **Environment targeting** set `MUGGLE_MCP_PROMPT_SERVICE_TARGET` to switch between production and dev:
297
331
 
298
- 1. **Check status**: `muggle status` or `muggle-remote-auth-status`
299
- 2. **Re-authenticate**: `muggle login` or `muggle-remote-auth-login`
300
- 3. **If "unauthorized_client"**: Check `MUGGLE_MCP_PROMPT_SERVICE_TARGET` environment variable (see Troubleshooting)
332
+ ```json
333
+ {
334
+ "mcpServers": {
335
+ "muggle": {
336
+ "command": "muggle",
337
+ "args": ["serve"],
338
+ "env": {
339
+ "MUGGLE_MCP_PROMPT_SERVICE_TARGET": "production"
340
+ }
341
+ }
342
+ }
343
+ }
344
+ ```
301
345
 
302
- ---
346
+ **Multi-repo config for /muggle:muggle-do** — create `muggle-repos.json` in your working directory:
347
+
348
+ ```json
349
+ [
350
+ { "name": "frontend", "path": "/absolute/path/to/frontend", "testCommand": "pnpm test" },
351
+ { "name": "backend", "path": "/absolute/path/to/backend", "testCommand": "pnpm test" }
352
+ ]
353
+ ```
303
354
 
304
- ## Data Directory
355
+ </details>
356
+
357
+ <details>
358
+ <summary>Data directory structure (~/.muggle-ai/)</summary>
305
359
 
306
360
  ```
307
361
  ~/.muggle-ai/
@@ -317,69 +371,61 @@ Credentials are stored in `~/.muggle-ai/` and persist across sessions.
317
371
  └── {version}/
318
372
  ```
319
373
 
374
+ </details>
375
+
320
376
  ---
321
377
 
322
- ## Platform Compatibility
378
+ ## What AI clients does it work with?
323
379
 
324
- | Platform | MCP Tools | /muggle-do | /test-feature-local |
380
+ Full support for Claude Code. MCP tools work with Cursor and any MCP-compatible client. Plugin skills (`/muggle:muggle-do`, `/muggle:test-feature-local`) require Claude Code plugin support.
381
+
382
+ <details>
383
+ <summary>Platform compatibility table</summary>
384
+
385
+ | Platform | MCP Tools | /muggle:muggle-do | /muggle:test-feature-local |
325
386
  |----------|-----------|-----------|-------------------|
326
387
  | **Claude Code** | Yes | Yes | Yes |
327
- | **Cursor** | Yes (via MCP) | No (needs Agent tool) | No (needs Skill tool) |
388
+ | **Cursor** | Yes (via MCP) | No (needs plugin) | No (needs plugin) |
328
389
  | **Others** | Via MCP if supported | No | No |
329
390
 
330
- The MCP server (`muggle serve`) works with any MCP-compatible client. The distributed skills (`/muggle-do`, `/test-feature-local`) require Claude Code's Agent and Skill tools.
391
+ </details>
331
392
 
332
393
  ---
333
394
 
334
- ## Configuration
395
+ <details>
396
+ <summary>Troubleshooting</summary>
335
397
 
336
- ### MCP client config
337
-
338
- **Cursor** (`~/.cursor/mcp.json`) — auto-configured on install:
398
+ ### "unauthorized_client" during login
339
399
 
340
- ```json
341
- {
342
- "mcpServers": {
343
- "muggle": {
344
- "command": "muggle",
345
- "args": ["serve"]
346
- }
347
- }
348
- }
349
- ```
400
+ **Cause**: MCP configured for one environment but authenticating against another.
350
401
 
351
- ### Environment targeting
402
+ **Fix**: Set the correct `MUGGLE_MCP_PROMPT_SERVICE_TARGET` in your MCP config and restart your client.
352
403
 
353
- Set `MUGGLE_MCP_PROMPT_SERVICE_TARGET` to switch between production and dev:
404
+ ### QA engine not found
354
405
 
355
- ```json
356
- {
357
- "mcpServers": {
358
- "muggle": {
359
- "command": "muggle",
360
- "args": ["serve"],
361
- "env": {
362
- "MUGGLE_MCP_PROMPT_SERVICE_TARGET": "production"
363
- }
364
- }
365
- }
366
- }
406
+ ```bash
407
+ muggle setup --force # Re-download
408
+ muggle doctor # Diagnose
367
409
  ```
368
410
 
369
- ### Multi-repo config for /muggle-do
370
-
371
- Create `muggle-repos.json` in your working directory:
411
+ ### Authentication keeps expiring
372
412
 
373
- ```json
374
- [
375
- { "name": "frontend", "path": "/absolute/path/to/frontend", "testCommand": "pnpm test" },
376
- { "name": "backend", "path": "/absolute/path/to/backend", "testCommand": "pnpm test" }
377
- ]
413
+ ```bash
414
+ muggle logout # Clear all credentials
415
+ rm ~/.muggle-ai/auth.json ~/.muggle-ai/credentials.json
416
+ muggle login # Fresh login
378
417
  ```
379
418
 
419
+ </details>
420
+
380
421
  ---
381
422
 
382
- ## Development
423
+ ## About
424
+
425
+ Built by the team behind [MuggleTest](https://www.muggletest.com) — [AI-powered QA testing](https://www.muggletest.com) for teams who ship fast.
426
+
427
+ <details>
428
+ <summary>For contributors</summary>
383
429
 
384
430
  ```bash
385
431
  # Install dependencies
@@ -403,14 +449,14 @@ pnpm run lint:check # Check only
403
449
  pnpm run typecheck
404
450
  ```
405
451
 
406
- ### CI/CD
452
+ **CI/CD**
407
453
 
408
454
  | Workflow | Trigger | Description |
409
455
  |----------|---------|-------------|
410
456
  | `ci.yml` | Push/PR to `master` | Lint, test, build on multiple platforms |
411
457
  | `publish-works.yml` | Tag `v*` or manual | Verify, audit, smoke-install, publish to npm |
412
458
 
413
- ### Publishing
459
+ **Publishing**
414
460
 
415
461
  ```bash
416
462
  # Update version in package.json
@@ -418,40 +464,7 @@ git tag v2.0.1 && git push --tags
418
464
  # publish-works.yml handles the rest
419
465
  ```
420
466
 
421
- ---
422
-
423
- ## Troubleshooting
424
-
425
- ### "unauthorized_client" during login
426
-
427
- **Cause**: MCP configured for one environment but authenticating against another.
428
-
429
- **Fix**: Set the correct `MUGGLE_MCP_PROMPT_SERVICE_TARGET` in your MCP config and restart your client.
430
-
431
- ### QA engine not found
432
-
433
- ```bash
434
- muggle setup --force # Re-download
435
- muggle doctor # Diagnose
436
- ```
437
-
438
- ### Authentication keeps expiring
439
-
440
- ```bash
441
- muggle logout # Clear all credentials
442
- rm ~/.muggle-ai/auth.json ~/.muggle-ai/credentials.json
443
- muggle login # Fresh login
444
- ```
445
-
446
- ---
447
-
448
- ## About
449
-
450
- Built by the team behind **[MuggleTest](https://www.muggletest.com)** — an AI-powered QA testing platform that makes software testing accessible to everyone, no coding required.
451
-
452
- **Muggle AI open-source ecosystem:**
453
- - **[muggle-ai-works](https://github.com/multiplex-ai/muggle-ai-works)** — QA testing MCP server + autonomous dev pipeline (this repo)
454
- - **[muggle-ai-teams](https://github.com/multiplex-ai/muggle-ai-teams)** — Agent orchestration, workflow, skills, and rules
467
+ </details>
455
468
 
456
469
  ---
457
470
 
@@ -459,6 +472,4 @@ Built by the team behind **[MuggleTest](https://www.muggletest.com)** — an AI-
459
472
 
460
473
  [MIT](LICENSE) — Use it, fork it, make it yours.
461
474
 
462
- ---
463
-
464
475
  If this helps your development workflow, consider giving it a star. It helps others find it.
@@ -0,0 +1,8 @@
1
+ {
2
+ "name": "muggle",
3
+ "description": "Muggle AI QA and autonomous dev workflow plugin.",
4
+ "version": "2.0.2",
5
+ "author": {
6
+ "name": "Muggle AI"
7
+ }
8
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "mcpServers": {
3
+ "muggle": {
4
+ "command": "npx",
5
+ "args": [
6
+ "-y",
7
+ "@muggleai/works",
8
+ "serve"
9
+ ]
10
+ }
11
+ }
12
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "hooks": {
3
+ "SessionStart": [
4
+ {
5
+ "hooks": [
6
+ {
7
+ "type": "command",
8
+ "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/ensure-electron-app.sh\""
9
+ }
10
+ ]
11
+ }
12
+ ]
13
+ }
14
+ }
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/env bash
2
+
3
+ set -euo pipefail
4
+
5
+ # Ensure the Electron QA runtime is installed/up to date.
6
+ # This is intentionally best-effort so plugin startup is resilient.
7
+ if command -v muggle >/dev/null 2>&1; then
8
+ muggle setup >/dev/null 2>&1 || true
9
+ exit 0
10
+ fi
11
+
12
+ npx -y @muggleai/works setup >/dev/null 2>&1 || true
@@ -0,0 +1,53 @@
1
+ ---
2
+ name: muggle-do
3
+ description: Unified Muggle AI workflow entry point. Routes to autonomous dev cycle, status, repair, or upgrade.
4
+ disable-model-invocation: true
5
+ ---
6
+
7
+ # Muggle Do
8
+
9
+ Muggle Do is the top-level command for the Muggle AI development workflow.
10
+
11
+ It supports two categories of execution:
12
+
13
+ 1. **Dev cycle**: requirements -> impact analysis -> validate code -> coding -> unit tests -> QA -> open PRs
14
+ 2. **Maintenance**: status, repair, upgrade
15
+
16
+ ## Input routing
17
+
18
+ Treat `$ARGUMENTS` as the user command:
19
+
20
+ - Empty / `help` / `menu` / `?` -> show menu and session selector.
21
+ - `status` -> run installation and auth status checks.
22
+ - `repair` -> run repair workflow.
23
+ - `upgrade` -> run upgrade workflow.
24
+ - Anything else -> treat as a new task description and start/resume a dev-cycle session.
25
+
26
+ ## Session model
27
+
28
+ Use `.muggle-do/sessions/<slug>/` with these files:
29
+
30
+ - `state.md`
31
+ - `requirements.md`
32
+ - `iterations/<NNN>.md`
33
+ - `result.md`
34
+
35
+ On each stage transition, update `state.md` and append stage output to the active iteration file.
36
+
37
+ ## Dev cycle agents
38
+
39
+ Use the supporting files in this directory as stage-specific instructions:
40
+
41
+ - [requirements.md](requirements.md)
42
+ - [impact-analysis.md](impact-analysis.md)
43
+ - [validate-code.md](validate-code.md)
44
+ - [unit-tests.md](unit-tests.md)
45
+ - [qa.md](qa.md)
46
+ - [open-prs.md](open-prs.md)
47
+
48
+ ## Guardrails
49
+
50
+ - Do not skip unit tests before QA.
51
+ - Do not skip QA due to missing scripts; generate when needed.
52
+ - If the same stage fails 3 times in a row, escalate with details.
53
+ - If total iterations reach 3 and QA still fails, continue to PR creation with `[QA FAILING]`.