--- name: monisuo-dev description: Monisuo 项目结构化开发流程技能。用于需求分析、模块化开发、测试验证、构建部署的完整工作流。 --- # Monisuo 开发技能 用于 Monisuo 项目的结构化开发流程,确保代码质量和开发效率。 ## 工作流程 ``` 需求分析 → 模块化开发 → 测试验证 → 构建部署 ``` ## Phase 1: 需求结构化定义 (Prompt Engineering) ### 目标 将模糊的需求转化为结构化的 Feature Spec 文档。 ### 输入 - 用户的需求描述(自然语言) - 业务场景说明 - 技术约束条件 ### 输出 - `docs/features/feature-name.md` - 结构化的功能规格文档 ### Feature Spec 模板 ```markdown # [功能名称] 功能规格 ## 1. 功能概述 - **功能名称**: - **优先级**: P0/P1/P2 - **负责人**: - **预计工期**: ## 2. 业务背景 - 当前痛点 - 解决方案 - 预期收益 ## 3. 功能详情 ### 3.1 用户故事 作为 [角色],我希望 [行为],以便 [目的] ### 3.2 功能列表 - [ ] 功能点 1 - [ ] 功能点 2 - [ ] 功能点 3 ### 3.3 UI/UX 设计 - 页面布局 - 交互流程 - 原型链接 ## 4. 技术方案 ### 4.1 架构设计 - 前端方案 (Flutter) - 后端方案 (Spring Boot) - 数据库设计 ### 4.2 API 设计 ``` GET /api/endpoint POST /api/endpoint ``` ### 4.3 数据模型 ```dart class Model { final String id; // ... } ``` ## 5. 测试用例 - [ ] 正常流程测试 - [ ] 异常流程测试 - [ ] 边界条件测试 ## 6. 验收标准 - [ ] 功能完整 - [ ] 测试通过 - [ ] 代码审查 - [ ] 性能达标 ## 7. 依赖与风险 - 依赖项 - 潜在风险 - 缓解措施 ``` ### 执行步骤 1. **需求收集** ```bash # 与用户确认需求 # 识别关键业务场景 # 明确技术约束 ``` 2. **创建文档** ```bash mkdir -p docs/features touch docs/features/[feature-name].md ``` 3. **填充模板** - 完善用户故事 - 设计 API 接口 - 定义数据模型 - 编写测试用例 4. **评审确认** - 与用户确认需求理解正确 - 调整优先级和范围 --- ## Phase 2: 模块化生成 (Iterative Coding) ### 目标 根据 Feature Spec 分模块实现功能。 ### 开发策略 #### 2.1 按模块拆分 ``` Feature ├── Frontend (Flutter) │ ├── UI 组件 │ ├── 状态管理 (Provider) │ └── API 调用 (Dio) ├── Backend (Spring Boot) │ ├── Controller │ ├── Service │ └── Repository └── Database └── Migration Scripts ``` #### 2.2 迭代开发顺序 1. **数据层优先** - 数据库表结构 - Entity 定义 - Repository 实现 2. **后端 API** - Controller 接口 - Service 业务逻辑 - 单元测试 3. **前端实现** - Model 定义 - API Service - UI 组件 - 状态管理 ### 开发命令 ```bash # Flutter 开发 cd flutter_monisuo flutter pub get flutter run -d chrome # 后端开发 cd ../ mvn spring-boot:run ``` ### 代码规范 #### Flutter - 使用 `flutter analyze` 检查代码 - 遵循 Effective Dart 规范 - 使用 Provider 进行状态管理 - 统一使用 AppSpacing, AppRadius, AppColorScheme #### Spring Boot - 遵循阿里巴巴 Java 开发手册 - 使用 Lombok 简化代码 - 统一异常处理 - RESTful API 设计 --- ## Phase 3: 测试与重构 (Validation & Refactoring) ### 目标 确保代码质量和功能正确性。 ### 3.1 使用 Clean Code 技能 ```bash # 应用 clean-code 技能进行代码优化 # 参考: ~/.agents/skills/clean-code/SKILL.md ``` **优化重点**: - 代码可读性 - 函数复杂度 - 重复代码 - 命名规范 ### 3.2 自动化测试 #### API 接口测试 **测试脚本位置**: `tests/api/` **测试脚本模板**: ```bash #!/bin/bash # API 测试脚本 BASE_URL="http://localhost:5010" TOKEN="" echo "=== API 测试开始 ===" # 1. 登录测试 echo "1. 测试登录接口..." RESPONSE=$(curl -s -X POST "$BASE_URL/api/auth/login" \ -H "Content-Type: application/json" \ -d '{"phone":"13800138000","password":"123456"}') TOKEN=$(echo $RESPONSE | jq -r '.data.token') echo "✓ 登录成功,Token: ${TOKEN:0:20}..." # 2. 获取用户信息 echo "2. 测试获取用户信息..." curl -s -X GET "$BASE_URL/api/user/info" \ -H "Authorization: Bearer $TOKEN" | jq '.' echo "✓ 获取用户信息成功" # 3. 更多测试用例... # TODO: 根据具体功能添加 echo "=== API 测试完成 ===" ``` **运行测试**: ```bash chmod +x tests/api/test-*.sh ./tests/api/test-feature.sh ``` #### Flutter 单元测试 ```bash cd flutter_monisuo flutter test ``` ### 3.3 Bug 修复循环 ``` 测试 → 发现 Bug → 修复 → 重新测试 → 通过 ``` **修复流程**: 1. 运行测试脚本 2. 记录失败的用例 3. 修复代码 4. 重新运行测试 5. 直到全部通过 ### 3.4 代码审查清单 - [ ] 代码符合规范 - [ ] 无硬编码值 - [ ] 错误处理完善 - [ ] 日志记录清晰 - [ ] 测试覆盖完整 - [ ] 性能达标 --- ## Phase 4: 构建与部署 (Build & Deploy) ### 目标 构建生产版本并提交代码。 ### 4.1 构建命令 #### 后端 (Spring Boot) ```bash # 清理并打包(跳过测试) mvn clean package -DskipTests # 完整构建(包含测试) mvn clean package # 只编译检查 mvn compile ``` **输出**: `target/monisuo-*.jar` **验证构建**: ```bash # 检查 JAR 文件是否生成 ls -la target/*.jar # 测试 JAR 可执行性 java -jar target/monisuo-*.jar --spring.profiles.active=dev ``` #### Flutter Web ```bash cd flutter_monisuo flutter build web --release --dart-define=ENV=prod ``` **输出**: `flutter_monisuo/build/web/` #### Admin 后台 ```bash cd monisuo-admin pnpm install pnpm build ``` **输出**: `monisuo-admin/dist/` ### 4.2 Git 提交流程 ```bash # 1. 检查变更 git status git diff # 2. 添加文件 git add . # 3. 提交(遵循 Conventional Commits) git commit -m "feat(module): 简短描述 - 详细说明 1 - 详细说明 2 - 详细说明 3 Closes #issue-number" # 4. 推送到远程 git push origin main ``` ### 4.3 提交消息规范 **格式**: ``` ():