@@ -3,6 +3,8 @@ import 'package:flutter_skill/src/cli/launch.dart';
33import 'package:flutter_skill/src/cli/inspect.dart' ;
44import 'package:flutter_skill/src/cli/act.dart' ;
55import 'package:flutter_skill/src/cli/server.dart' ;
6+ import 'package:flutter_skill/src/cli/server_cmd.dart' ;
7+ import 'package:flutter_skill/src/cli/connect.dart' ;
68import 'package:flutter_skill/src/cli/report_error.dart' ;
79import 'package:flutter_skill/src/cli/setup_priority.dart' ;
810import 'package:flutter_skill/src/cli/doctor.dart' ;
@@ -17,6 +19,7 @@ import 'package:flutter_skill/src/cli/security.dart';
1719import 'package:flutter_skill/src/cli/diff.dart' ;
1820import 'package:flutter_skill/src/cli/quickstart.dart' ;
1921import 'package:flutter_skill/src/cli/client.dart' ;
22+ import 'package:flutter_skill/src/cli/ping_cmd.dart' ;
2023
2124void main (List <String > args) async {
2225 if (args.isEmpty) {
@@ -27,7 +30,10 @@ void main(List<String> args) async {
2730 print (' quickstart Guided demo — see flutter-skill in action in 30s' );
2831 print (' demo Launch a built-in demo app — zero setup needed' );
2932 print (' launch Launch and auto-connect to an app' );
30- print (' server Start MCP server (used by IDEs)' );
33+ print (' connect Attach to a running Flutter app and name it' );
34+ print (' ping Health check one or more named server instances' );
35+ print (' server Start MCP server / manage named server instances' );
36+ print (' servers List all running named server instances' );
3137 print (' inspect Inspect interactive elements' );
3238 print (' act Perform actions (tap, enter_text, scroll)' );
3339 print (' screenshot Take a screenshot of the running app' );
@@ -104,8 +110,27 @@ void main(List<String> args) async {
104110 case 'act' :
105111 await runAct (commandArgs);
106112 break ;
113+ case 'connect' :
114+ await runConnect (commandArgs);
115+ break ;
116+ case 'ping' :
117+ // Quick health check for one or more named servers.
118+ // Usage: flutter_skill ping --server=<id>[,<id2>,...]
119+ await runPing (commandArgs);
120+ break ;
121+ case 'servers' :
122+ // Shorthand for `server list`
123+ await runServerCmd (['list' , ...commandArgs]);
124+ break ;
107125 case 'server' :
108- await runServer (commandArgs);
126+ // Route server subcommands (list, stop, status) to server_cmd.
127+ // Plain `server` (no subcommand) or `server` with MCP flags → MCP server.
128+ if (commandArgs.isNotEmpty &&
129+ const {'list' , 'stop' , 'status' }.contains (commandArgs[0 ])) {
130+ await runServerCmd (commandArgs);
131+ } else {
132+ await runServer (commandArgs);
133+ }
109134 break ;
110135 case 'setup' :
111136 await runSetupPriority (commandArgs);
0 commit comments