mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-05-14 02:10:07 +08:00
Port the current-source-safe command documentation subset from stale PR #1687.\n\nEach copied command page maps to an English source file unchanged since the stale PR base; fastapi-review remains deferred because #1687 did not include a matching zh-CN translation.
4.0 KiB
4.0 KiB
description
| description |
|---|
| 逐步修复 Dart 分析器错误和 Flutter 构建失败。调用 dart-build-resolver 代理进行最小化的精准修复。 |
Flutter 构建与修复
此命令调用 dart-build-resolver 代理,以最小改动增量修复 Dart/Flutter 构建错误。
命令功能
- 运行诊断:执行
flutter analyze、flutter pub get - 解析错误:按文件分组并按严重性排序
- 增量修复:每次修复一个错误
- 验证每次修复:每次更改后重新运行分析
- 报告摘要:显示已修复内容和剩余问题
使用时机
在以下情况使用 /flutter-build:
flutter analyze报告错误flutter build在任何平台失败dart pub get/flutter pub get因版本冲突失败build_runner代码生成失败- 拉取更改后导致构建中断
运行的诊断命令
# Analysis
flutter analyze 2>&1
# Dependencies
flutter pub get 2>&1
# Code generation (if project uses build_runner)
dart run build_runner build --delete-conflicting-outputs 2>&1
# Platform builds
flutter build apk 2>&1
flutter build web 2>&1
示例会话
用户:/flutter-build
代理:
# Flutter 构建问题解决
## 初始诊断
```
$ flutter analyze
分析项目中...
error • lib/features/user/data/user_repository_impl.dart:34:16 •
类型为 'String?' 的值无法赋值给类型为 'String' 的变量。 •
invalid_assignment
error • lib/features/cart/presentation/cart_page.dart:58:5 •
类型 'List<Item>' 未定义方法 'add'。
请尝试将名称更正为现有方法的名称,或定义名为 'add' 的方法。 •
undefined_method
发现 2 个错误。
```
## 修复 1:空安全
文件:lib/features/user/data/user_repository_impl.dart:34
错误:类型为 'String?' 的值无法赋值给类型 'String'
修改前:
```dart
final id = response.id;
```
修改后:
```dart
final id = response.id ?? '';
```
```
$ flutter analyze
发现 1 个错误。
```
## 修复 2:不可变列表
文件:lib/features/cart/presentation/cart_page.dart:58
错误:类型 'List<Item>' 未定义方法 'add'
原因:状态持有不可修改的列表;变更通过 Cubit 进行
修改前:
```dart
state.items.add(item);
```
修改后:
```dart
context.read<CartCubit>().addItem(item);
// 注意:Cubit 暴露命名方法(addItem, removeItem);
// .add(event) 是 BLoC 事件 API — 不要混淆使用。
```
```
$ flutter analyze
未发现问题!
```
## 最终验证
```
$ flutter test
所有测试通过。
```
## 总结
| 指标 | 数量 |
|--------|-------|
| 分析错误修复 | 2 |
| 修改的文件 | 2 |
| 剩余问题 | 0 |
构建状态:通过 ✓
常见错误修复
| 错误 | 典型修复 |
|---|---|
A value of type 'X?' can't be assigned to 'X' |
添加 ?? default 或空值保护 |
The name 'X' isn't defined |
添加导入或修正拼写错误 |
Non-nullable instance field must be initialized |
添加初始化器或 late |
Version solving failed |
调整 pubspec.yaml 中的版本约束 |
Missing concrete implementation of 'X' |
实现缺失的接口方法 |
build_runner: Part of X expected |
删除过时的 .g.dart 并重建 |
修复策略
- 优先分析错误 — 代码必须无错误
- 其次处理警告 — 修复可能导致运行时错误的警告
- 第三解决 pub 冲突 — 修复依赖解析问题
- 每次修复一个 — 验证每次更改
- 最小改动 — 仅修复,不重构
停止条件
代理将在以下情况停止并报告:
- 同一错误在 3 次尝试后仍然存在
- 修复引入了更多错误
- 需要架构变更
- 包升级冲突需要用户决策
相关命令
/flutter-test— 构建成功后运行测试/flutter-review— 审查代码质量verification-loop技能 — 完整验证循环
相关信息
- 代理:
agents/dart-build-resolver.md - 技能:
skills/flutter-dart-code-review/