@muggleai/works 4.2.2 → 4.4.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 (33) hide show
  1. package/README.md +45 -37
  2. package/dist/{chunk-BZJXQZ5Q.js → chunk-PMI2DI3V.js} +524 -173
  3. package/dist/cli.js +1 -1
  4. package/dist/index.js +1 -1
  5. package/dist/plugin/.claude-plugin/plugin.json +4 -4
  6. package/dist/plugin/.cursor-plugin/plugin.json +3 -3
  7. package/dist/plugin/README.md +7 -5
  8. package/dist/plugin/scripts/ensure-electron-app.sh +3 -3
  9. package/dist/plugin/skills/do/e2e-acceptance.md +161 -0
  10. package/dist/plugin/skills/do/open-prs.md +86 -16
  11. package/dist/plugin/skills/muggle/SKILL.md +15 -13
  12. package/dist/plugin/skills/muggle-do/SKILL.md +6 -6
  13. package/dist/plugin/skills/muggle-test/SKILL.md +380 -0
  14. package/dist/plugin/skills/muggle-test-feature-local/SKILL.md +44 -27
  15. package/dist/plugin/skills/muggle-test-import/SKILL.md +272 -0
  16. package/dist/plugin/skills/muggle-upgrade/SKILL.md +1 -1
  17. package/dist/plugin/skills/optimize-descriptions/SKILL.md +8 -8
  18. package/package.json +15 -12
  19. package/plugin/.claude-plugin/plugin.json +4 -4
  20. package/plugin/.cursor-plugin/plugin.json +3 -3
  21. package/plugin/README.md +7 -5
  22. package/plugin/scripts/ensure-electron-app.sh +3 -3
  23. package/plugin/skills/do/e2e-acceptance.md +161 -0
  24. package/plugin/skills/do/open-prs.md +86 -16
  25. package/plugin/skills/muggle/SKILL.md +15 -13
  26. package/plugin/skills/muggle-do/SKILL.md +6 -6
  27. package/plugin/skills/muggle-test/SKILL.md +380 -0
  28. package/plugin/skills/muggle-test-feature-local/SKILL.md +44 -27
  29. package/plugin/skills/muggle-test-import/SKILL.md +272 -0
  30. package/plugin/skills/muggle-upgrade/SKILL.md +1 -1
  31. package/plugin/skills/optimize-descriptions/SKILL.md +8 -8
  32. package/dist/plugin/skills/do/qa.md +0 -89
  33. package/plugin/skills/do/qa.md +0 -89
package/README.md CHANGED
@@ -1,15 +1,15 @@
1
1
  # *muggle-ai-works*
2
2
 
3
- **Run real-browser QA tests on your web app from any AI coding agent. Generate test scripts from plain English, replay them on localhost, capture screenshots, and validate user flows like signup, checkout, and dashboards. Works across Claude Code, Cursor, Codex, and Windsurf.**
3
+ **Run real-browser E2E acceptance tests on your web app from any AI coding agent. Generate test scripts from plain English, replay them on localhost, capture screenshots, and validate user flows like signup, checkout, and dashboards. Works across Claude Code, Cursor, Codex, and Windsurf.**
4
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.
5
+ One install gives your AI coding assistant the power to exercise your app like a real user would: clicking through flows, catching broken experiences, and reporting results with screenshots and evidence.
6
6
 
7
7
  *[License: MIT](LICENSE)
8
8
  [npm]()
9
9
  [MCP Tools]()
10
10
  [Node*]()
11
11
 
12
- *Powered by [MuggleTest](https://www.muggletest.com) — the [AI-powered QA testing platform](https://www.muggletest.com).*
12
+ *Powered by [MuggleTest](https://www.muggletest.com) — the [AI-powered E2E acceptance testing platform](https://www.muggletest.com).*
13
13
 
14
14
  ---
15
15
 
@@ -20,7 +20,7 @@ Your AI assistant writes code fast. But does the feature actually work? Does the
20
20
  muggle-ai-works closes the gap between "code complete" and "actually works."
21
21
 
22
22
  - **Catch UX regressions before your users do** — AI drives a real browser against your localhost across desktop and mobile resolutions, clicks through flows like a user would, and reports failures with step-by-step screenshots. No Playwright scripts to maintain.
23
- - **Go from requirement to merged PR in one command** — `/muggle:muggle-do` handles the full cycle: code the feature, run unit tests, QA the app in a real browser at multiple viewports, triage failures, and open a PR with evidence attached.
23
+ - **Go from requirement to merged PR in one command** — `/muggle:muggle-do` handles the full cycle: code the feature, run unit tests, run E2E acceptance tests against the app in a real browser at multiple viewports, triage failures, and open a PR with evidence attached.
24
24
  - **70+ MCP tools for custom workflows** — manage projects, generate test cases from plain English, replay test scripts, batch-run regressions, and publish results to your team. Works in Claude Code, Cursor, and any MCP client.
25
25
 
26
26
  ---
@@ -40,12 +40,13 @@ This installs:
40
40
 
41
41
  - `/muggle:muggle` — command router and menu
42
42
  - `/muggle:muggle-do` — autonomous dev pipeline (requirements to PR)
43
- - `/muggle:muggle-test-feature-local` — local quick QA testing
43
+ - `/muggle:muggle-test` — change-driven E2E acceptance testing (local or remote, with PR posting)
44
+ - `/muggle:muggle-test-feature-local` — local quick E2E acceptance testing
44
45
  - `/muggle:muggle-status` — health check for muggle-works plugins (Electron app, MCP server, and auth)
45
46
  - `/muggle:muggle-repair` — diagnose and fix broken installation
46
47
  - `/muggle:muggle-upgrade` — update to the latest version
47
48
  - MCP server with 70+ tools (auto-started)
48
- - Electron QA engine provisioning (via session hook)
49
+ - Electron browser test runner provisioning (via session hook)
49
50
 
50
51
  **Cursor, Codex, Windsurf, and other MCP clients (MCP tools only)**
51
52
 
@@ -79,7 +80,7 @@ Then configure your MCP client:
79
80
  /muggle:muggle-status
80
81
  ```
81
82
 
82
- This checks Electron QA engine, MCP server health, and authentication. If anything is broken, run `/muggle:muggle-repair`.
83
+ This checks Electron browser test runner, MCP server health, and authentication. If anything is broken, run `/muggle:muggle-repair`.
83
84
 
84
85
  **Cursor/Codex/Windsurf/other MCP clients**
85
86
 
@@ -95,7 +96,7 @@ Describe what you want to build:
95
96
  /muggle:muggle-do "Add a logout button to the header"
96
97
  ```
97
98
 
98
- The AI handles the full cycle: code the feature, run unit tests, QA the app in a real browser, and open a PR with results.
99
+ The AI handles the full cycle: code the feature, run unit tests, run E2E acceptance tests against the app in a real browser, and open a PR with results.
99
100
 
100
101
  **Cursor/Codex/Windsurf/other MCP clients**
101
102
 
@@ -142,7 +143,7 @@ Your AI assistant describes what to test
142
143
  muggle-remote-* tools create test cases in cloud
143
144
 
144
145
  v
145
- muggle-local-execute-test-generation launches the QA engine
146
+ muggle-local-execute-test-generation launches the browser test runner
146
147
 
147
148
  v
148
149
  AI agent drives the browser step-by-step (click, type, navigate, assert)
@@ -174,7 +175,7 @@ Describe what to test in English. The AI finds the right project and test cases,
174
175
  2. Found project: "My App"
175
176
  3. Found use case: "User Login"
176
177
  4. Found 2 test cases — recommend replay (minor changes detected)
177
- 5. Launching QA engine... (approve? y)
178
+ 5. Launching browser test runner... (approve? y)
178
179
  6. Results: 2/2 PASS
179
180
  Screenshots: ~/.muggle-ai/sessions/abc123/screenshots/
180
181
  7. Publish to cloud? (y)
@@ -182,7 +183,7 @@ Describe what to test in English. The AI finds the right project and test cases,
182
183
 
183
184
  ### 2. `/muggle:muggle-do` — Autonomous dev pipeline
184
185
 
185
- 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.
186
+ Full development cycle: requirements to PR in one command. The AI codes the feature, writes unit tests, runs E2E acceptance tests against your running app, and opens a PR.
186
187
 
187
188
  ```
188
189
  > /muggle:muggle-do "Add a logout button to the header"
@@ -192,7 +193,7 @@ IMPACT → frontend repo, src/components/Header.tsx
192
193
  VALIDATE → Branch: feat/add-logout, 1 commit
193
194
  CODING → (writes/fixes code)
194
195
  UNIT_TESTS → 12/12 pass
195
- QA → 3/3 test cases pass
196
+ E2E acceptance → 3/3 test cases pass
196
197
  OPEN_PRS → PR #42 opened
197
198
  DONE → 1 iteration, all green
198
199
  ```
@@ -200,24 +201,24 @@ DONE → 1 iteration, all green
200
201
  - Session-based with crash recovery (`.muggle-do/sessions/`)
201
202
  - Auto-triage: analyzes failures and loops back to fix (max 3 iterations)
202
203
  - Multi-repo support via `muggle-repos.json`
203
- - PRs include QA results and screenshots in the description
204
+ - PRs include E2E acceptance results and screenshots in the description
204
205
 
205
- ### 3. Direct MCP tool calls — Build your own QA workflow
206
+ ### 3. Direct MCP tool calls — Build your own E2E acceptance workflow
206
207
 
207
- 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.
208
+ 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 E2E acceptance workflows.
208
209
 
209
210
  ```
210
211
  "Create a project called My App with URL https://myapp.com"
211
212
  "Generate test cases for the checkout flow"
212
213
  "Replay all test scripts against localhost:3000"
213
- "Show me the latest QA results"
214
+ "Show me the latest E2E acceptance results"
214
215
  ```
215
216
 
216
217
  ---
217
218
 
218
219
  ## What MCP tools are included?
219
220
 
220
- 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.
221
+ 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 E2E acceptance automation pipelines.
221
222
 
222
223
  Authentication (muggle-remote-auth-*)
223
224
 
@@ -235,7 +236,7 @@ Project Management (muggle-remote-project-*)
235
236
 
236
237
  | Tool | Purpose |
237
238
  | ------------------------------ | ------------------- |
238
- | `muggle-remote-project-create` | Create QA project |
239
+ | `muggle-remote-project-create` | Create E2E acceptance test project |
239
240
  | `muggle-remote-project-list` | List all projects |
240
241
  | `muggle-remote-project-get` | Get project details |
241
242
  | `muggle-remote-project-update` | Update project |
@@ -284,7 +285,7 @@ Local Execution (muggle-local-*)
284
285
 
285
286
  | Tool | Purpose |
286
287
  | -------------------------------------- | ---------------------------------- |
287
- | `muggle-local-check-status` | Check local QA engine status |
288
+ | `muggle-local-check-status` | Check local browser test runner status |
288
289
  | `muggle-local-execute-test-generation` | Generate test script locally |
289
290
  | `muggle-local-execute-replay` | Replay existing script locally |
290
291
  | `muggle-local-cancel-execution` | Cancel active execution |
@@ -319,18 +320,18 @@ Administration (PRD, secrets, billing, scheduling)
319
320
 
320
321
  ## Works with muggle-ai-teams
321
322
 
322
- [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.
323
+ [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 E2E acceptance testing into the development workflow at each stage.
323
324
 
324
325
 
325
326
  | Workflow Step | What Happens |
326
327
  | ------------- | ------------------------------------------------------- |
327
- | **Plan** | QA test instructions written per implementation slice |
328
- | **Build** | Per-slice QA via muggle-ai-works before each commit |
328
+ | **Plan** | E2E acceptance test instructions written per implementation slice |
329
+ | **Build** | Per-slice E2E acceptance tests via muggle-ai-works before each commit |
329
330
  | **Verify** | Full regression sweep replaying all project scripts |
330
- | **Ship** | QA results published to cloud, linked in PR description |
331
+ | **Ship** | E2E results published to cloud, linked in PR description |
331
332
 
332
333
 
333
- Frontend slices get browser QA. Backend-only slices are verified by unit tests (browser QA skipped with documented reasoning).
334
+ Frontend slices get browser E2E tests. Backend-only slices are verified by unit tests (browser E2E skipped with documented reasoning).
334
335
 
335
336
  Install both: `npm install @muggleai/works @muggleai/teams`
336
337
 
@@ -339,7 +340,7 @@ Install both: `npm install @muggleai/works @muggleai/teams`
339
340
 
340
341
  | Package | Purpose | Install |
341
342
  | ---------------------------------------------------------------------- | ----------------------------------------------- | --------------------------------------- |
342
- | **muggle-ai-works** (this repo) | QA testing MCP server + autonomous dev pipeline | `/plugin install muggleai@muggle-works` |
343
+ | **muggle-ai-works** (this repo) | E2E acceptance testing MCP server + autonomous dev pipeline | `/plugin install muggleai@muggle-works` |
343
344
  | **[muggle-ai-teams](https://github.com/multiplex-ai/muggle-ai-teams)** | Agent orchestration, workflow, skills, rules | `npm install @muggleai/teams` |
344
345
 
345
346
 
@@ -352,11 +353,11 @@ Want the full platform experience? [MuggleTest](https://www.muggletest.com) give
352
353
  ```bash
353
354
  # Server (main command — starts MCP server for AI clients)
354
355
  muggle serve # Start with all tools (default)
355
- muggle serve --qa # Cloud QA tools only
356
- muggle serve --local # Local QA tools only
356
+ muggle serve --e2e # Cloud E2E tools only (muggle-remote-*)
357
+ muggle serve --local # Local E2E tools only (muggle-local-*)
357
358
 
358
359
  # Setup and Diagnostics
359
- muggle setup # Download/update QA engine
360
+ muggle setup # Download/update browser test runner
360
361
  muggle setup --force # Force re-download
361
362
  muggle doctor # Diagnose installation issues
362
363
 
@@ -412,12 +413,12 @@ Data directory structure (~/.muggle-ai/)
412
413
  ├── oauth-session.json # OAuth tokens (short-lived, auto-refresh)
413
414
  ├── api-key.json # Long-lived API key for service calls
414
415
  ├── projects/ # Local project cache
415
- ├── sessions/ # QA sessions
416
+ ├── sessions/ # E2E test sessions
416
417
  │ └── {runId}/
417
418
  │ ├── action-script.json # Recorded browser steps
418
419
  │ ├── results.md # Step-by-step report
419
420
  │ └── screenshots/ # Per-step images
420
- └── electron-app/ # Downloaded QA engine
421
+ └── electron-app/ # Downloaded browser test runner
421
422
  └── {version}/
422
423
  ```
423
424
 
@@ -447,7 +448,7 @@ Troubleshooting
447
448
 
448
449
  **Fix**: Set the correct `MUGGLE_MCP_PROMPT_SERVICE_TARGET` in your MCP config and restart your client.
449
450
 
450
- ### QA engine not found
451
+ ### Browser test runner not found
451
452
 
452
453
  ```bash
453
454
  muggle setup --force # Re-download
@@ -466,7 +467,7 @@ muggle login # Fresh login
466
467
 
467
468
  ## About
468
469
 
469
- Built by the team behind [MuggleTest](https://www.muggletest.com) — [AI-powered QA testing](https://www.muggletest.com) for teams who ship fast.
470
+ Built by the team behind [MuggleTest](https://www.muggletest.com) — [AI-powered E2E acceptance testing](https://www.muggletest.com) for teams who ship fast.
470
471
 
471
472
  Repository structure
472
473
 
@@ -498,8 +499,11 @@ muggle-ai-works/
498
499
  ├── scripts/ # Build and release
499
500
  │ ├── build-plugin.mjs # Assembles dist/plugin/ from plugin/ source
500
501
  │ ├── verify-plugin-marketplace.mjs # Validates plugin/marketplace consistency
502
+ │ ├── verify-compatibility-contracts.mjs # Validates long-term surface contracts
503
+ │ ├── verify-upgrade-experience.mjs # Validates in-place upgrade behavior
501
504
  │ └── postinstall.mjs # npm postinstall (Electron app download)
502
505
 
506
+ ├── config/compatibility/ # Contract baselines (CLI/MCP/plugin/skills)
503
507
  ├── bin/ # CLI entrypoint (muggle.js → dist/cli.js)
504
508
  ├── dist/ # Build output (gitignored)
505
509
  ├── .claude-plugin/ # Marketplace catalog (marketplace.json)
@@ -513,6 +517,9 @@ pnpm install # Install dependencies
513
517
  pnpm run build # Build (tsup + plugin artifact)
514
518
  pnpm run build:plugin # Rebuild plugin artifact only
515
519
  pnpm run verify:plugin # Validate plugin/marketplace metadata consistency
520
+ pnpm run verify:contracts # Validate compatibility contracts (CLI/MCP/plugin/skills)
521
+ pnpm run verify:electron-release-checksums # Ensure checksums.txt exists for bundled electron release
522
+ pnpm run verify:upgrade-experience # Validate existing-user cleanup + re-download flow
516
523
  pnpm run dev # Dev mode (watch)
517
524
  pnpm test # Run tests
518
525
  pnpm run lint # Lint (auto-fix)
@@ -525,20 +532,21 @@ CI/CD and publishing
525
532
 
526
533
  | Workflow | Trigger | Description |
527
534
  | ------------------- | ------------------- | ------------------------------------------------------------ |
528
- | `ci.yml` | Push/PR to `master` | Lint, test, build, plugin verification on multiple platforms |
529
- | `publish-works.yml` | Tag `v*` or manual | Verify, audit, smoke-install, publish to npm |
535
+ | `ci.yml` | Push/PR to `master` | Lint, test, build, plugin + compatibility contract verification on multiple platforms |
536
+ | `verify-end-user-upgrade.yml` | Weekly + manual | Existing-user upgrade validation (cleanup + re-download + health checks) |
537
+ | `publish-works-to-npm.yml` | Tag `v*` or manual | Verify (including release checksums), audit, smoke-install, publish to npm |
530
538
 
531
539
 
532
540
  ```bash
533
541
  git tag v<version> && git push --tags
534
- # publish-works.yml handles the rest
542
+ # publish-works-to-npm.yml handles the rest
535
543
  ```
536
544
 
537
545
 
538
546
  Release tag strategy
539
547
 
540
548
  - `electron-app-vX.Y.Z` tags in `muggle-ai-works` are for public Electron app binary releases (consumed by `muggle setup`, `muggle upgrade`, and npm postinstall).
541
- - `vX.Y.Z` tags in `muggle-ai-works` are for npm publishing of `@muggleai/works` (`publish-works.yml`).
549
+ - `vX.Y.Z` tags in `muggle-ai-works` are for npm publishing of `@muggleai/works` (`publish-works-to-npm.yml`).
542
550
  - `muggle-ai-teaching-service` builds Electron artifacts and publishes them into this public repo using `electron-app-vX.Y.Z`, so binaries are publicly downloadable.
543
551
  - The two version tracks are intentionally separate: runtime Electron artifact versions and npm package versions can move independently.
544
552
 
@@ -571,7 +579,7 @@ This is an **internal-only skill** (not published to customers). It covers:
571
579
  | Hook config | `plugin/hooks/hooks.json` |
572
580
  | Skill descriptions | `plugin/skills/*/SKILL.md` |
573
581
  | Tool descriptions (local) | `packages/mcps/src/mcp/tools/local/tool-registry.ts` |
574
- | Tool descriptions (cloud) | `packages/mcps/src/mcp/tools/qa/tool-registry.ts` |
582
+ | Tool descriptions (cloud) | `packages/mcps/src/mcp/tools/e2e/tool-registry.ts` |
575
583
  | Plugin metadata | `plugin/.claude-plugin/plugin.json` |
576
584
 
577
585
  **Quick eval run:**