@bdayadev/flutter-ultra-mcp 0.0.0 → 1.0.1

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 (58) hide show
  1. package/.claude-plugin/marketplace.json +35 -0
  2. package/.claude-plugin/plugin.json +14 -14
  3. package/.mcp.json +67 -67
  4. package/CODE_OF_CONDUCT.md +83 -83
  5. package/CONTRIBUTING.md +108 -108
  6. package/LICENSE +201 -201
  7. package/README.md +77 -77
  8. package/SECURITY.md +19 -19
  9. package/dart/ultra_flutter/CHANGELOG.md +34 -34
  10. package/dart/ultra_flutter/EXTENSIONS.md +61 -61
  11. package/dart/ultra_flutter/README.md +109 -109
  12. package/dart/ultra_flutter/pubspec.yaml +37 -37
  13. package/dart/ultra_flutter_devtools/README.md +7 -7
  14. package/dart/ultra_flutter_devtools/pubspec.yaml +27 -27
  15. package/docs/UPSTREAM-PATROL-PRS.md +5 -5
  16. package/docs/UPSTREAM-SENTRY-PR.md +62 -62
  17. package/docs/discovery-empirics.md +435 -435
  18. package/examples/counter-app/README.md +24 -24
  19. package/examples/counter-app/pubspec.yaml +23 -23
  20. package/examples/oidc-app/README.md +48 -48
  21. package/examples/oidc-app/pubspec.yaml +24 -24
  22. package/package.json +82 -82
  23. package/packages/flutter-ultra-browser/README.md +29 -29
  24. package/packages/flutter-ultra-browser/package.json +39 -39
  25. package/packages/flutter-ultra-build/README.md +60 -60
  26. package/packages/flutter-ultra-build/package.json +38 -38
  27. package/packages/flutter-ultra-devtools/README.md +7 -7
  28. package/packages/flutter-ultra-devtools/package.json +36 -36
  29. package/packages/flutter-ultra-gesture/README.md +51 -51
  30. package/packages/flutter-ultra-gesture/package.json +58 -58
  31. package/packages/flutter-ultra-native-desktop/README.md +131 -131
  32. package/packages/flutter-ultra-native-desktop/package.json +81 -81
  33. package/packages/flutter-ultra-native-mobile/README.md +103 -103
  34. package/packages/flutter-ultra-native-mobile/package.json +72 -72
  35. package/packages/flutter-ultra-patrol/README.md +40 -40
  36. package/packages/flutter-ultra-patrol/package.json +38 -38
  37. package/packages/flutter-ultra-runtime/README.md +63 -63
  38. package/packages/flutter-ultra-runtime/package.json +69 -69
  39. package/shared/contracts/package.json +31 -31
  40. package/shared/device-router/README.md +51 -51
  41. package/shared/device-router/package.json +62 -62
  42. package/shared/keyring/README.md +7 -7
  43. package/shared/keyring/package.json +24 -24
  44. package/shared/mcp-runtime/README.md +116 -116
  45. package/shared/mcp-runtime/package.json +58 -58
  46. package/shared/state-store/README.md +66 -66
  47. package/shared/state-store/package.json +60 -60
  48. package/shared/vm-service-client/README.md +135 -135
  49. package/shared/vm-service-client/package.json +62 -62
  50. package/skills/_internal-on-tool-failure/SKILL.md +13 -13
  51. package/skills/_internal-session-bootstrap/SKILL.md +18 -18
  52. package/skills/debug/SKILL.md +20 -20
  53. package/skills/devtools/SKILL.md +21 -21
  54. package/skills/drive/SKILL.md +20 -20
  55. package/skills/scaffold/SKILL.md +21 -21
  56. package/skills/setup/SKILL.md +26 -26
  57. package/skills/test/SKILL.md +19 -19
  58. package/skills/tour/SKILL.md +22 -22
@@ -1,13 +1,13 @@
1
- ---
2
- name: _internal-on-tool-failure
3
- description: Internal skill invoked by the PostToolUse hook when a flutter-ultra tool returns isError. Captures structured remediation context. Not for direct user invocation.
4
- disable-model-invocation: true
5
- ---
6
-
7
- # Internal: On Tool Failure (stub)
8
-
9
- **Status:** scaffold stub. Implementation owner: wave-3 skills worker (see plan §12).
10
-
11
- Triggered by the `PostToolUse` hook when an `mcp__flutter-ultra-*__*` tool returns `isError: true`. Reads the failure event from `state/tool-events.jsonl`, formats a one-line remediation summary, and appends it to the conversation as a system reminder.
12
-
13
- Not advertised in the user-facing skill list.
1
+ ---
2
+ name: _internal-on-tool-failure
3
+ description: Internal skill invoked by the PostToolUse hook when a flutter-ultra tool returns isError. Captures structured remediation context. Not for direct user invocation.
4
+ disable-model-invocation: true
5
+ ---
6
+
7
+ # Internal: On Tool Failure (stub)
8
+
9
+ **Status:** scaffold stub. Implementation owner: wave-3 skills worker (see plan §12).
10
+
11
+ Triggered by the `PostToolUse` hook when an `mcp__flutter-ultra-*__*` tool returns `isError: true`. Reads the failure event from `state/tool-events.jsonl`, formats a one-line remediation summary, and appends it to the conversation as a system reminder.
12
+
13
+ Not advertised in the user-facing skill list.
@@ -1,18 +1,18 @@
1
- ---
2
- name: _internal-session-bootstrap
3
- description: Internal skill invoked by the SessionStart hook to detect Flutter context and warm cached state. Not for direct user invocation.
4
- disable-model-invocation: true
5
- ---
6
-
7
- # Internal: Session Bootstrap (stub)
8
-
9
- **Status:** scaffold stub. Implementation owner: wave-3 skills worker (see plan §12).
10
-
11
- Triggered by the `SessionStart` hook. Performs:
12
-
13
- - Project root detection (`pubspec.yaml` walk)
14
- - Cached session discovery refresh
15
- - Plugin-doctor self-check
16
- - Initial telemetry frame written to `state/tool-events.jsonl`
17
-
18
- Not advertised in the user-facing skill list.
1
+ ---
2
+ name: _internal-session-bootstrap
3
+ description: Internal skill invoked by the SessionStart hook to detect Flutter context and warm cached state. Not for direct user invocation.
4
+ disable-model-invocation: true
5
+ ---
6
+
7
+ # Internal: Session Bootstrap (stub)
8
+
9
+ **Status:** scaffold stub. Implementation owner: wave-3 skills worker (see plan §12).
10
+
11
+ Triggered by the `SessionStart` hook. Performs:
12
+
13
+ - Project root detection (`pubspec.yaml` walk)
14
+ - Cached session discovery refresh
15
+ - Plugin-doctor self-check
16
+ - Initial telemetry frame written to `state/tool-events.jsonl`
17
+
18
+ Not advertised in the user-facing skill list.
@@ -1,20 +1,20 @@
1
- ---
2
- name: debug
3
- description: Attaching to a running Flutter app and triaging an error from the stack trace, widget tree, render tree, and recent screenshot. Use when the user reports a runtime exception, layout overflow, or unexpected behaviour and you need to inspect live state.
4
- ---
5
-
6
- # Debug (stub)
7
-
8
- **Status:** scaffold stub. Implementation owner: wave-3 skills worker (see plan §8.3, §12).
9
-
10
- ## Workflow
11
-
12
- - `mcp__flutter-ultra-runtime__discover_sessions` and pick the target app.
13
- - Pull recent errors with `mcp__flutter-ultra-runtime__get_runtime_errors`.
14
- - Cross-reference frames with `mcp__flutter-ultra-runtime__get_widget_tree` and `dump_render_tree`.
15
- - Capture a screenshot for context.
16
- - Propose a fix inline; do not edit code unless asked.
17
-
18
- ## See also
19
-
20
- - Plan §8.3
1
+ ---
2
+ name: debug
3
+ description: Attaching to a running Flutter app and triaging an error from the stack trace, widget tree, render tree, and recent screenshot. Use when the user reports a runtime exception, layout overflow, or unexpected behaviour and you need to inspect live state.
4
+ ---
5
+
6
+ # Debug (stub)
7
+
8
+ **Status:** scaffold stub. Implementation owner: wave-3 skills worker (see plan §8.3, §12).
9
+
10
+ ## Workflow
11
+
12
+ - `mcp__flutter-ultra-runtime__discover_sessions` and pick the target app.
13
+ - Pull recent errors with `mcp__flutter-ultra-runtime__get_runtime_errors`.
14
+ - Cross-reference frames with `mcp__flutter-ultra-runtime__get_widget_tree` and `dump_render_tree`.
15
+ - Capture a screenshot for context.
16
+ - Propose a fix inline; do not edit code unless asked.
17
+
18
+ ## See also
19
+
20
+ - Plan §8.3
@@ -1,21 +1,21 @@
1
- ---
2
- name: devtools
3
- description: Wiring up the Flutter DevTools panel for this plugin so the user can see live MCP activity inside their IDE. Use when the user wants to inspect the plugin's recent tool calls, attached sessions, or activity timeline.
4
- disable-model-invocation: true
5
- ---
6
-
7
- # DevTools (stub)
8
-
9
- **Status:** scaffold stub. Implementation owner: wave-3 skills worker (see plan §8.6, §12).
10
-
11
- User-triggered only — installing a dev dependency and editing pubspec is opinionated.
12
-
13
- ## Workflow
14
-
15
- - Detect `ultra_flutter_devtools` in `dev_dependencies`; add via `mcp__flutter-ultra-build__pub_add` if missing.
16
- - Start the panel WebSocket via `mcp__flutter-ultra-devtools__start_panel_server`.
17
- - Print the DevTools URL with the `flutter-ultra` tab anchor.
18
-
19
- ## See also
20
-
21
- - Plan §8.6, §6.2
1
+ ---
2
+ name: devtools
3
+ description: Wiring up the Flutter DevTools panel for this plugin so the user can see live MCP activity inside their IDE. Use when the user wants to inspect the plugin's recent tool calls, attached sessions, or activity timeline.
4
+ disable-model-invocation: true
5
+ ---
6
+
7
+ # DevTools (stub)
8
+
9
+ **Status:** scaffold stub. Implementation owner: wave-3 skills worker (see plan §8.6, §12).
10
+
11
+ User-triggered only — installing a dev dependency and editing pubspec is opinionated.
12
+
13
+ ## Workflow
14
+
15
+ - Detect `ultra_flutter_devtools` in `dev_dependencies`; add via `mcp__flutter-ultra-build__pub_add` if missing.
16
+ - Start the panel WebSocket via `mcp__flutter-ultra-devtools__start_panel_server`.
17
+ - Print the DevTools URL with the `flutter-ultra` tab anchor.
18
+
19
+ ## See also
20
+
21
+ - Plan §8.6, §6.2
@@ -1,20 +1,20 @@
1
- ---
2
- name: drive
3
- description: Driving multi-step user flows in a running Flutter app via gestures and assertions. Use when reproducing a bug across several screens, validating an onboarding flow, or running an ad-hoc end-to-end scenario without writing a patrol test.
4
- ---
5
-
6
- # Drive (stub)
7
-
8
- **Status:** scaffold stub. Implementation owner: wave-3 skills worker (see plan §8.2, §12).
9
-
10
- ## Workflow
11
-
12
- - Enumerate interactive elements via `mcp__flutter-ultra-gesture__interactive_elements`.
13
- - Tap or enter text using key-based finders.
14
- - Verify intermediate state via `mcp__flutter-ultra-runtime__get_widget_tree`.
15
- - For OAuth/popups: delegate to `mcp__flutter-ultra-browser__*` (web) or `mcp__flutter-ultra-native-mobile__*` (mobile).
16
-
17
- ## See also
18
-
19
- - Plan §8.2
20
- - Sibling skill: `test` for orchestrated patrol runs
1
+ ---
2
+ name: drive
3
+ description: Driving multi-step user flows in a running Flutter app via gestures and assertions. Use when reproducing a bug across several screens, validating an onboarding flow, or running an ad-hoc end-to-end scenario without writing a patrol test.
4
+ ---
5
+
6
+ # Drive (stub)
7
+
8
+ **Status:** scaffold stub. Implementation owner: wave-3 skills worker (see plan §8.2, §12).
9
+
10
+ ## Workflow
11
+
12
+ - Enumerate interactive elements via `mcp__flutter-ultra-gesture__interactive_elements`.
13
+ - Tap or enter text using key-based finders.
14
+ - Verify intermediate state via `mcp__flutter-ultra-runtime__get_widget_tree`.
15
+ - For OAuth/popups: delegate to `mcp__flutter-ultra-browser__*` (web) or `mcp__flutter-ultra-native-mobile__*` (mobile).
16
+
17
+ ## See also
18
+
19
+ - Plan §8.2
20
+ - Sibling skill: `test` for orchestrated patrol runs
@@ -1,21 +1,21 @@
1
- ---
2
- name: scaffold
3
- description: Scaffolding new Flutter projects or features following the conventions detected in the existing codebase. Use when starting a fresh app, adding a feature module, or generating boilerplate that should match an existing project's structure.
4
- disable-model-invocation: true
5
- ---
6
-
7
- # Scaffold (stub)
8
-
9
- **Status:** scaffold stub. Implementation owner: wave-3 skills worker (see plan §8.4, §12).
10
-
11
- This skill is opinionated and destructive (creates files), so it is **not** auto-invocable. The user must trigger it explicitly with `/flutter:scaffold`.
12
-
13
- ## Workflow
14
-
15
- - Project mode: `flutter create` via shell with detected channel + org.
16
- - Feature mode: read the existing structure via `mcp__flutter-ultra-build__project_info`, then create files that match.
17
-
18
- ## See also
19
-
20
- - Plan §8.4
21
- - Sibling skill: `setup` for plugging the plugin into an existing codebase
1
+ ---
2
+ name: scaffold
3
+ description: Scaffolding new Flutter projects or features following the conventions detected in the existing codebase. Use when starting a fresh app, adding a feature module, or generating boilerplate that should match an existing project's structure.
4
+ disable-model-invocation: true
5
+ ---
6
+
7
+ # Scaffold (stub)
8
+
9
+ **Status:** scaffold stub. Implementation owner: wave-3 skills worker (see plan §8.4, §12).
10
+
11
+ This skill is opinionated and destructive (creates files), so it is **not** auto-invocable. The user must trigger it explicitly with `/flutter:scaffold`.
12
+
13
+ ## Workflow
14
+
15
+ - Project mode: `flutter create` via shell with detected channel + org.
16
+ - Feature mode: read the existing structure via `mcp__flutter-ultra-build__project_info`, then create files that match.
17
+
18
+ ## See also
19
+
20
+ - Plan §8.4
21
+ - Sibling skill: `setup` for plugging the plugin into an existing codebase
@@ -1,26 +1,26 @@
1
- ---
2
- name: setup
3
- description: Bootstrapping flutter-ultra-mcp into an existing Flutter codebase end-to-end. Use when the user wants the plugin enabled for the first time on a project, or when re-running after a clean install. Idempotent.
4
- disable-model-invocation: true
5
- ---
6
-
7
- # Setup (stub)
8
-
9
- **Status:** scaffold stub. Implementation owner: wave-3 skills worker (see plan §8.7, §12).
10
-
11
- User-triggered only — patches pubspec, entry points, and `.vscode/launch.json`.
12
-
13
- ## Workflow (target)
14
-
15
- 1. Detect project layout via `mcp__flutter-ultra-build__project_info` (entry points, existing bindings, Sentry usage, patrol).
16
- 2. Add `ultra_flutter` to `dev_dependencies`; if Sentry detected, show the direct `// ignore: implementation_imports` binding pattern.
17
- 3. Patch entry point(s) with AST-aware edits to mix in `UltraFlutterBinding` under `kDebugMode`.
18
- 4. Optional: add a launch.json profile pre-applying dart-defines for session discovery.
19
- 5. Detect existing patrol setup and offer the `run_patrol_web` wrapper.
20
- 6. Generate per-project `.flutter-ultra.config.yaml`.
21
- 7. Run a smoke launch + screenshot + detach.
22
- 8. Emit `SETUP-REPORT.md` at project root.
23
-
24
- ## See also
25
-
26
- - Plan §8.7
1
+ ---
2
+ name: setup
3
+ description: Bootstrapping flutter-ultra-mcp into an existing Flutter codebase end-to-end. Use when the user wants the plugin enabled for the first time on a project, or when re-running after a clean install. Idempotent.
4
+ disable-model-invocation: true
5
+ ---
6
+
7
+ # Setup (stub)
8
+
9
+ **Status:** scaffold stub. Implementation owner: wave-3 skills worker (see plan §8.7, §12).
10
+
11
+ User-triggered only — patches pubspec, entry points, and `.vscode/launch.json`.
12
+
13
+ ## Workflow (target)
14
+
15
+ 1. Detect project layout via `mcp__flutter-ultra-build__project_info` (entry points, existing bindings, Sentry usage, patrol).
16
+ 2. Add `ultra_flutter` to `dev_dependencies`; if Sentry detected, show the direct `// ignore: implementation_imports` binding pattern.
17
+ 3. Patch entry point(s) with AST-aware edits to mix in `UltraFlutterBinding` under `kDebugMode`.
18
+ 4. Optional: add a launch.json profile pre-applying dart-defines for session discovery.
19
+ 5. Detect existing patrol setup and offer the `run_patrol_web` wrapper.
20
+ 6. Generate per-project `.flutter-ultra.config.yaml`.
21
+ 7. Run a smoke launch + screenshot + detach.
22
+ 8. Emit `SETUP-REPORT.md` at project root.
23
+
24
+ ## See also
25
+
26
+ - Plan §8.7
@@ -1,19 +1,19 @@
1
- ---
2
- name: test
3
- description: Orchestrating Flutter unit, widget, and patrol E2E tests with focused reporting. Use when the user asks to run tests, validate a fix, or check coverage on a Flutter project.
4
- ---
5
-
6
- # Test (stub)
7
-
8
- **Status:** scaffold stub. Implementation owner: wave-3 skills worker (see plan §8.5, §12).
9
-
10
- ## Workflow
11
-
12
- - `mcp__flutter-ultra-build__analyze` first; fail fast on lint errors.
13
- - `mcp__flutter-ultra-build__run_unit_tests` / `run_widget_tests` per the input pattern.
14
- - `mcp__flutter-ultra-patrol__*` for E2E.
15
- - Report failures with file:line + a screenshot snapshot when available.
16
-
17
- ## See also
18
-
19
- - Plan §8.5
1
+ ---
2
+ name: test
3
+ description: Orchestrating Flutter unit, widget, and patrol E2E tests with focused reporting. Use when the user asks to run tests, validate a fix, or check coverage on a Flutter project.
4
+ ---
5
+
6
+ # Test (stub)
7
+
8
+ **Status:** scaffold stub. Implementation owner: wave-3 skills worker (see plan §8.5, §12).
9
+
10
+ ## Workflow
11
+
12
+ - `mcp__flutter-ultra-build__analyze` first; fail fast on lint errors.
13
+ - `mcp__flutter-ultra-build__run_unit_tests` / `run_widget_tests` per the input pattern.
14
+ - `mcp__flutter-ultra-patrol__*` for E2E.
15
+ - Report failures with file:line + a screenshot snapshot when available.
16
+
17
+ ## See also
18
+
19
+ - Plan §8.5
@@ -1,22 +1,22 @@
1
- ---
2
- name: tour
3
- description: Running route-by-route screenshot tours of a Flutter app. Use when capturing visual state across many app routes, doing pre-release visual regression sweeps, or documenting a feature's UI for review.
4
- ---
5
-
6
- # Route Tour (stub)
7
-
8
- **Status:** scaffold stub. Implementation owner: wave-3 skills worker (see plan §8.1, §12).
9
-
10
- ## Quick start
11
-
12
- 1. Identify the active session via `mcp__flutter-ultra-runtime__discover_sessions`.
13
- 2. For each route in the input list:
14
- - Navigate (web: browser navigate, mobile/desktop: GoRouter evaluate)
15
- - Wait for the root widget key
16
- - Take a screenshot, save to `.omc/research/tour-<date>/<route-slug>.png`
17
- 3. Write `tour-report.md` summarizing route to screenshot mapping.
18
-
19
- ## See also
20
-
21
- - Plan §8.1
22
- - Sibling skill: `drive` for multi-step interaction flows
1
+ ---
2
+ name: tour
3
+ description: Running route-by-route screenshot tours of a Flutter app. Use when capturing visual state across many app routes, doing pre-release visual regression sweeps, or documenting a feature's UI for review.
4
+ ---
5
+
6
+ # Route Tour (stub)
7
+
8
+ **Status:** scaffold stub. Implementation owner: wave-3 skills worker (see plan §8.1, §12).
9
+
10
+ ## Quick start
11
+
12
+ 1. Identify the active session via `mcp__flutter-ultra-runtime__discover_sessions`.
13
+ 2. For each route in the input list:
14
+ - Navigate (web: browser navigate, mobile/desktop: GoRouter evaluate)
15
+ - Wait for the root widget key
16
+ - Take a screenshot, save to `.omc/research/tour-<date>/<route-slug>.png`
17
+ 3. Write `tour-report.md` summarizing route to screenshot mapping.
18
+
19
+ ## See also
20
+
21
+ - Plan §8.1
22
+ - Sibling skill: `drive` for multi-step interaction flows