@bdayadev/flutter-ultra-mcp 1.9.3 → 1.10.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.
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
{
|
|
11
11
|
"name": "flutter",
|
|
12
12
|
"description": "Durable cross-platform Flutter automation via 8 specialized MCP servers, in-app mixin binding, and an optional DevTools panel. Replaces marionette_mcp and the official dart mcp-server for Claude Code.",
|
|
13
|
-
"version": "1.
|
|
13
|
+
"version": "1.10.0",
|
|
14
14
|
"author": {
|
|
15
15
|
"name": "Bdaya-Dev",
|
|
16
16
|
"url": "https://github.com/Bdaya-Dev"
|
|
@@ -23,5 +23,5 @@
|
|
|
23
23
|
"tags": ["flutter", "dart", "mcp", "testing", "automation", "patrol", "cross-platform"]
|
|
24
24
|
}
|
|
25
25
|
],
|
|
26
|
-
"version": "1.
|
|
26
|
+
"version": "1.10.0"
|
|
27
27
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json",
|
|
3
3
|
"name": "flutter",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.10.0",
|
|
5
5
|
"description": "Durable cross-platform Flutter automation via 8 specialized MCP servers, in-app mixin binding, and an optional DevTools panel. Replaces marionette_mcp and the official dart mcp-server for Claude Code.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Bdaya-Dev",
|
|
@@ -26,11 +26,14 @@ void main() {
|
|
|
26
26
|
class AppBinding extends WidgetsFlutterBinding
|
|
27
27
|
with SentryWidgetsBindingMixin, UltraFlutterBinding {}
|
|
28
28
|
|
|
29
|
-
void main() {
|
|
29
|
+
void main() async {
|
|
30
30
|
if (kDebugMode) {
|
|
31
|
-
AppBinding
|
|
31
|
+
AppBinding();
|
|
32
|
+
} else {
|
|
33
|
+
WidgetsFlutterBinding.ensureInitialized();
|
|
32
34
|
}
|
|
33
|
-
|
|
35
|
+
await SentryFlutter.init((options) { /* ... */ });
|
|
36
|
+
runApp(const MyApp());
|
|
34
37
|
}
|
|
35
38
|
```
|
|
36
39
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bdayadev/flutter-ultra-mcp",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.10.0",
|
|
4
4
|
"description": "Flutter Ultra MCP plugin monorepo — 8 MCP servers + ultra_flutter Dart packages + skills for Claude Code.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"homepage": "https://github.com/Bdaya-Dev/flutter-ultra-mcp",
|
package/skills/setup/SKILL.md
CHANGED
|
@@ -5,7 +5,7 @@ description: One-command setup of the flutter-ultra-mcp plugin in an existing Fl
|
|
|
5
5
|
|
|
6
6
|
# Plugin Setup
|
|
7
7
|
|
|
8
|
-
Expected end state: `UltraFlutterBinding` initialized in the app entry point, `ultra_flutter` in `
|
|
8
|
+
Expected end state: `UltraFlutterBinding` initialized in the app entry point, `ultra_flutter` in `dependencies`, patrol fork overridden if needed, and a smoke launch confirming the VM Service attaches correctly.
|
|
9
9
|
|
|
10
10
|
## Workflow
|
|
11
11
|
|
|
@@ -17,10 +17,10 @@ Expected end state: `UltraFlutterBinding` initialized in the app entry point, `u
|
|
|
17
17
|
- `mcp__plugin_flutter_flutter-ultra-build__list_dart_defines` — discover required dart-defines for launch.
|
|
18
18
|
- `mcp__plugin_flutter_flutter-ultra-build__list_flavors` — check for flavor configuration.
|
|
19
19
|
|
|
20
|
-
### 2. Add `ultra_flutter` to
|
|
20
|
+
### 2. Add `ultra_flutter` to dependencies
|
|
21
21
|
|
|
22
|
-
- `mcp__plugin_flutter_flutter-ultra-build__pub_add` with `package: ultra_flutter
|
|
23
|
-
- If it fails (not on pub.dev), use `mcp__plugin_flutter_flutter-ultra-build__pubspec_overrides_set` to point to the bundled path, add `ultra_flutter: any` under `
|
|
22
|
+
- `mcp__plugin_flutter_flutter-ultra-build__pub_add` with `package: ultra_flutter` (NOT dev — it runs in the app process, guarded by `kDebugMode`).
|
|
23
|
+
- If it fails (not on pub.dev), use `mcp__plugin_flutter_flutter-ultra-build__pubspec_overrides_set` to point to the bundled path, add `ultra_flutter: any` under `dependencies` manually, then `mcp__plugin_flutter_flutter-ultra-build__pub_get`.
|
|
24
24
|
|
|
25
25
|
### 3. Patch the app entry point
|
|
26
26
|
|
|
@@ -28,27 +28,43 @@ Expected end state: `UltraFlutterBinding` initialized in the app entry point, `u
|
|
|
28
28
|
|
|
29
29
|
```dart
|
|
30
30
|
import 'package:flutter/foundation.dart';
|
|
31
|
+
import 'package:flutter/widgets.dart';
|
|
31
32
|
import 'package:ultra_flutter/ultra_flutter.dart';
|
|
32
33
|
|
|
33
34
|
void main() {
|
|
34
35
|
if (kDebugMode) {
|
|
35
36
|
UltraFlutterBinding.ensureInitialized();
|
|
37
|
+
} else {
|
|
38
|
+
WidgetsFlutterBinding.ensureInitialized();
|
|
36
39
|
}
|
|
37
40
|
runApp(const MyApp());
|
|
38
41
|
}
|
|
39
42
|
```
|
|
40
43
|
|
|
41
|
-
**With Sentry** (
|
|
44
|
+
**With Sentry** (composed binding class — both mixins on one binding):
|
|
42
45
|
|
|
43
46
|
```dart
|
|
47
|
+
import 'package:flutter/foundation.dart';
|
|
48
|
+
import 'package:flutter/widgets.dart';
|
|
49
|
+
import 'package:sentry_flutter/sentry_flutter.dart';
|
|
44
50
|
import 'package:ultra_flutter/ultra_flutter.dart';
|
|
45
51
|
|
|
46
|
-
class AppBinding extends WidgetsFlutterBinding
|
|
47
|
-
|
|
48
|
-
|
|
52
|
+
class AppBinding extends WidgetsFlutterBinding
|
|
53
|
+
with SentryWidgetsBindingMixin, UltraFlutterBinding {}
|
|
54
|
+
|
|
55
|
+
void main() async {
|
|
56
|
+
if (kDebugMode) {
|
|
57
|
+
AppBinding();
|
|
58
|
+
} else {
|
|
59
|
+
WidgetsFlutterBinding.ensureInitialized();
|
|
60
|
+
}
|
|
61
|
+
await SentryFlutter.init((options) { /* ... */ });
|
|
62
|
+
runApp(const MyApp());
|
|
49
63
|
}
|
|
50
64
|
```
|
|
51
65
|
|
|
66
|
+
The `on WidgetsBinding` constraint lets `UltraFlutterBinding` compose with any other mixin — Sentry, integration_test, or custom bindings. Only one binding class can exist per process, so both mixins must be on the same class.
|
|
67
|
+
|
|
52
68
|
Skip if `project_info` reported `hasUltraBinding: true`.
|
|
53
69
|
|
|
54
70
|
### 4. Configure patrol fork override (if patrol detected)
|
|
@@ -130,7 +146,7 @@ User: "Set up flutter-ultra on my app."
|
|
|
130
146
|
1. flutter_doctor -> all checks pass
|
|
131
147
|
2. project_info -> entryPoints: ["lib/main.dart"], hasSentry: false, hasPatrol: false
|
|
132
148
|
3. list_devices -> chrome, windows
|
|
133
|
-
4. pub_add ultra_flutter
|
|
149
|
+
4. pub_add ultra_flutter -> added to dependencies
|
|
134
150
|
5. Edit lib/main.dart -> add UltraFlutterBinding.ensureInitialized()
|
|
135
151
|
6. pub_get -> resolved
|
|
136
152
|
7. analyze -> 0 errors
|