用途:在开始编写 Flutter Widget 前,以访谈方式帮助确定合适的组件架构。适用于新建 Widget、不确定用 StatefulWidget 还是 StatelessWidget、需区分页面级与组件级 Widget、或需决定用 Riverpod 还是本地状态时。
主要能力:助手扮演 Flutter 架构师,逐个提出三个问题。第一问是否需要管理随时间变化的状态,决定 StatefulWidget 或 StatelessWidget,结果记为 widgetStateType;第二问是整页还是可复用组件,页面用 AutoRoute 的 @RoutePage() 并创建 ViewModel 与 UIState,组件用普通 StatelessWidget 或 HooksConsumerWidget,结果记为 widgetType;第三问是否需跨页面共享或持久化状态,决定是否使用 Riverpod(HooksConsumerWidget 或 ConsumerWidget),结果记为 stateManagementApproach。访谈后输出实现规格:Widget 信息、三项架构决策及理由、实现检查清单和代码结构模板。
使用方式:按顺序回答提问,助手每次只问一个问题并等待回复;如答案影响后续判断,会追问确认。流程在三个问题回答完、用户确认规格正确后结束,最后会询问是否继续实现。
技术语境:框架 Flutter,导航 AutoRoute,状态管理 Riverpod(可选),页面采用 MVVM,配合 flutter_hooks。文件命名:widget 用 [widget_name].dart(snake_case),ViewModel 用 [widget_name]_view_model.dart,UIState 用 [widget_name]_ui_state.dart。常见路径:页面在 lib/presentation/screens/[feature]/[screen_name].dart,组件在 lib/presentation/widgets/[category]/[widget_name].dart,provider 在 lib/providers/[feature]_providers.dart。
限制:资料未提供安装命令、收费、平台支持或性能效果等信息;具体代码模板需由助手根据决策生成。