flutter-skill 0.8.9 → 0.9.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.
- package/README.md +95 -3
- package/dart/pubspec.yaml +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
<p align="center">
|
|
23
23
|
<a href="#30-second-demo">Demo</a> •
|
|
24
24
|
<a href="#quick-start">Quick Start</a> •
|
|
25
|
+
<a href="#use-with-ai-platforms">AI Platforms</a> •
|
|
25
26
|
<a href="#10-platforms-one-tool">Platforms</a> •
|
|
26
27
|
<a href="#why-not-playwright--appium--detox">vs Others</a> •
|
|
27
28
|
<a href="docs/USAGE_GUIDE.md">Docs</a>
|
|
@@ -118,6 +119,83 @@ That's it. **Zero configuration. Zero test code. Works in under 60 seconds.**
|
|
|
118
119
|
|
|
119
120
|
---
|
|
120
121
|
|
|
122
|
+
## Use with AI Platforms
|
|
123
|
+
|
|
124
|
+
### MCP Server Mode (IDE Integration)
|
|
125
|
+
|
|
126
|
+
Works with any MCP-compatible AI tool. One config line:
|
|
127
|
+
|
|
128
|
+
```json
|
|
129
|
+
{
|
|
130
|
+
"mcpServers": {
|
|
131
|
+
"flutter-skill": {
|
|
132
|
+
"command": "flutter-skill",
|
|
133
|
+
"args": ["server"]
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
| Platform | Config File | Status |
|
|
140
|
+
|----------|-------------|--------|
|
|
141
|
+
| **Cursor** | `.cursor/mcp.json` | ✅ |
|
|
142
|
+
| **Claude Desktop** | `claude_desktop_config.json` | ✅ |
|
|
143
|
+
| **Windsurf** | `~/.codeium/windsurf/mcp_config.json` | ✅ |
|
|
144
|
+
| **VSCode Copilot** | `.vscode/mcp.json` | ✅ |
|
|
145
|
+
| **Cline** | VSCode Settings → Cline → MCP | ✅ |
|
|
146
|
+
| **OpenClaw** | Skill or MCP config | ✅ |
|
|
147
|
+
| **Continue.dev** | `.continue/config.json` | ✅ |
|
|
148
|
+
|
|
149
|
+
### HTTP Serve Mode (CLI & Automation)
|
|
150
|
+
|
|
151
|
+
For standalone browser automation, CI/CD pipelines, or remote access:
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
# Start server
|
|
155
|
+
flutter-skill serve https://your-app.com
|
|
156
|
+
|
|
157
|
+
# Use CLI client commands (NEW in v0.9.1)
|
|
158
|
+
flutter-skill nav https://google.com
|
|
159
|
+
flutter-skill snap # Accessibility tree (99% fewer tokens)
|
|
160
|
+
flutter-skill screenshot /tmp/ss.jpg
|
|
161
|
+
flutter-skill tap "Login"
|
|
162
|
+
flutter-skill type "hello@example.com"
|
|
163
|
+
flutter-skill eval "document.title"
|
|
164
|
+
flutter-skill tools # List all available tools
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
| Command | Description |
|
|
168
|
+
|---------|-------------|
|
|
169
|
+
| `nav <url>` | Navigate to URL |
|
|
170
|
+
| `snap` | Accessibility tree snapshot |
|
|
171
|
+
| `screenshot [path]` | Take screenshot |
|
|
172
|
+
| `tap <text\|ref\|x y>` | Tap element |
|
|
173
|
+
| `type <text>` | Type via keyboard |
|
|
174
|
+
| `key <key> [mod]` | Press key |
|
|
175
|
+
| `eval <js>` | Execute JavaScript |
|
|
176
|
+
| `title` | Get page title |
|
|
177
|
+
| `text` | Get visible text |
|
|
178
|
+
| `hover <text>` | Hover element |
|
|
179
|
+
| `upload <sel> <file>` | Upload file |
|
|
180
|
+
| `tools` | List tools |
|
|
181
|
+
| `call <tool> [json]` | Call any tool |
|
|
182
|
+
|
|
183
|
+
Supports `--port=N`, `--host=H` flags and `FS_PORT`/`FS_HOST` env vars.
|
|
184
|
+
|
|
185
|
+
### Two Modes Compared
|
|
186
|
+
|
|
187
|
+
| | `server` (MCP stdio) | `serve` (HTTP) |
|
|
188
|
+
|---|---|---|
|
|
189
|
+
| **Use case** | IDE / AI agent integration | CLI / automation / CI/CD |
|
|
190
|
+
| **Protocol** | MCP (JSON-RPC over stdio) | HTTP REST |
|
|
191
|
+
| **Tools** | 253 (dynamic per page) | 246 (generic) |
|
|
192
|
+
| **Browser** | Auto-launches Chrome | Connects to existing Chrome |
|
|
193
|
+
| **Best for** | Cursor, Claude, VSCode | OpenClaw, scripts, pipelines |
|
|
194
|
+
|
|
195
|
+
> **Full CLI client reference:** [docs/CLI_CLIENT.md](docs/CLI_CLIENT.md)
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
121
199
|
## 10 Platforms, One Tool
|
|
122
200
|
|
|
123
201
|
Most testing tools work on 1-2 platforms. flutter-skill works on **10**.
|
|
@@ -157,13 +235,27 @@ Real benchmarks from automated test runs against a complex social media app:
|
|
|
157
235
|
|
|
158
236
|
**How fast is that?** A `tap` takes 1–2 ms end-to-end. Browser automation tools like Playwright and Selenium typically take 50–100 ms for the same operation. That's 50–100× faster, because flutter-skill talks directly to the app runtime instead of going through WebDriver or CDP indirection.
|
|
159
237
|
|
|
238
|
+
### Heavy DOM Sites (Real-World)
|
|
239
|
+
|
|
240
|
+
Tested 15 MCP tools against production websites — **75/75 passed, zero timeouts:**
|
|
241
|
+
|
|
242
|
+
| Site | Tools | Total Time | `snapshot` | `screenshot` | `count_elements` |
|
|
243
|
+
|------|:-----:|:----------:|:----------:|:------------:|:----------------:|
|
|
244
|
+
| YouTube | 15/15 ✅ | 6.9s | 43 ms | 30 ms | 4 ms |
|
|
245
|
+
| Amazon | 15/15 ✅ | 14.2s | 1 ms | 5 ms | 2 ms |
|
|
246
|
+
| Reddit | 15/15 ✅ | 17.9s | 6 ms | 32 ms | 51 ms |
|
|
247
|
+
| Hacker News | 15/15 ✅ | 4.8s | 53 ms | 188 ms | 1 ms |
|
|
248
|
+
| Wikipedia | 15/15 ✅ | 7.8s | 15 ms | 336 ms | 1 ms |
|
|
249
|
+
|
|
250
|
+
> Total time includes page load. Tool execution is consistently sub-100ms even on heavy DOM sites.
|
|
251
|
+
|
|
160
252
|
---
|
|
161
253
|
|
|
162
254
|
## Why Not Playwright / Appium / Detox?
|
|
163
255
|
|
|
164
256
|
| | flutter-skill | Playwright MCP | Appium | Detox |
|
|
165
257
|
|---|:---:|:---:|:---:|:---:|
|
|
166
|
-
| **MCP tools** | **
|
|
258
|
+
| **MCP tools** | **253** | ~33 | ❌ | ❌ |
|
|
167
259
|
| **Platforms** | **10** | 1 (web) | Mobile | React Native |
|
|
168
260
|
| **Setup time** | 30 sec | Minutes | Hours | Hours |
|
|
169
261
|
| **Test code needed** | ❌ None | ✅ Yes | ✅ Yes | ✅ Yes |
|
|
@@ -295,7 +387,7 @@ Then batch multiple actions in one call:
|
|
|
295
387
|
</table>
|
|
296
388
|
|
|
297
389
|
<details>
|
|
298
|
-
<summary><strong>
|
|
390
|
+
<summary><strong>253 tools — full reference</strong></summary>
|
|
299
391
|
|
|
300
392
|
**AI Explore:** `page_summary`, `explore_actions`, `boundary_test`, `explore_report`
|
|
301
393
|
|
|
@@ -348,7 +440,7 @@ Then batch multiple actions in one call:
|
|
|
348
440
|
|
|
349
441
|
```yaml
|
|
350
442
|
dependencies:
|
|
351
|
-
flutter_skill: ^0.
|
|
443
|
+
flutter_skill: ^0.9.1
|
|
352
444
|
```
|
|
353
445
|
|
|
354
446
|
```dart
|
package/dart/pubspec.yaml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
name: flutter_skill_npm
|
|
2
2
|
description: Give your AI Agent eyes and hands inside your Flutter app.
|
|
3
|
-
version: 0.
|
|
3
|
+
version: 0.9.1
|
|
4
4
|
publish_to: 'none'
|
|
5
5
|
homepage: https://github.com/ai-dashboad/flutter-skill
|
|
6
6
|
repository: https://github.com/ai-dashboad/flutter-skill
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "flutter-skill",
|
|
3
3
|
"mcpName": "io.github.ai-dashboad/flutter-skill",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.9.1",
|
|
5
5
|
"description": "MCP Server for app automation - Give your AI Agent eyes and hands inside any app (Flutter, React, Web, Native)",
|
|
6
6
|
"main": "index.js",
|
|
7
7
|
"bin": {
|