feat(monisuo-dev): 重构开发流程为五阶段并优化Agent协作机制
- 更新开发流程描述,细化为需求定义→架构设计→模块化开发→精简测试→功能验证→构建六个环节 - 重构Phase 3为精简+测试,移除构建步骤,新增独立的Phase 5构建阶段 - 优化Agent协作流程:Phase 3输出审查报告供Phase 4使用,避免重复读取代码 - 明确各阶段职责分工,增加Spec同步要求确保Agent间信息一致性 - 添加Phase 5构建阶段,专门处理后端和Flutter构建任务 - 完善Bug修复循环,明确各Agent失败时的修复流程
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: monisuo-dev
|
||||
description: Monisuo 项目结构化开发流程。需求分析 → 架构设计 → 开发 → 测试构建。
|
||||
description: Monisuo 项目结构化开发流程。需求分析 → 架构设计 → 模块化开发 → 精简测试 → 功能验证 → 构建。
|
||||
---
|
||||
|
||||
# Monisuo 开发工作流
|
||||
@@ -8,18 +8,25 @@ description: Monisuo 项目结构化开发流程。需求分析 → 架构设计
|
||||
## 流程概览
|
||||
|
||||
```
|
||||
Phase 1: 需求定义 → Phase 1.5: 架构设计 → Phase 2: 模块化开发
|
||||
Phase 1: 需求定义 → Phase 1.5: 架构设计 → Phase 2: 模块化开发(子任务逐步推进)
|
||||
↑ │
|
||||
│ ↓
|
||||
│ [Agent A] Phase 3: 精简 + 测试 + 构建
|
||||
│ 主对话:同步更新 Spec
|
||||
│ │
|
||||
│ ↓
|
||||
│ [Agent A] Phase 3: 精简 + 测试 → 输出审查报告
|
||||
│ │
|
||||
│ ↓ (通过)
|
||||
│ [Agent B] Phase 4: 功能验证(用例驱动)
|
||||
│ [Agent B] Phase 4: 功能验证(接收审查报告)
|
||||
│ │
|
||||
│ ↓ (通过)
|
||||
│ [Agent C] Phase 5: 构建
|
||||
│ │
|
||||
└──────────────── Bug 修复 ←──────────────────┘
|
||||
```
|
||||
|
||||
**Phase 1-1.5-2 在主对话完成,Phase 3 和 Phase 4 分别启动独立 Agent。**
|
||||
**Phase 1/1.5/2 在主对话完成,Phase 3/4/5 分别启动独立 Agent。**
|
||||
**所有 Agent prompt 中的 `[feature-name]` 由主对话替换为实际值后再传入。**
|
||||
|
||||
---
|
||||
|
||||
@@ -86,28 +93,38 @@ Phase 1: 需求定义 → Phase 1.5: 架构设计 → Phase 2: 模块化开发
|
||||
|
||||
## Phase 2: 模块化开发
|
||||
|
||||
依据 Spec 中的 API 契约和数据模型,自底向上开发:
|
||||
依据 Spec 中的 API 契约和数据模型,**按子模块逐步推进**,自底向上开发:
|
||||
|
||||
```
|
||||
1. 数据层 → 2. 后端 API → 3. 前端实现
|
||||
DDL/Entity Controller/Service Model/Provider/UI
|
||||
2a. 数据层 → 2b. 后端 API → 2c. Flutter 前端 → 2d. Admin 前端(如有)
|
||||
DDL/Entity Controller/Service Model/Provider/UI Vue Pages
|
||||
```
|
||||
|
||||
### 子模块执行方式
|
||||
- 每个子模块独立完成,不与其他子模块混在一起
|
||||
- 每完成一个子模块,确认无编译错误再进入下一个
|
||||
- 后端子模块完成后可先验证 API,前端再对接
|
||||
|
||||
### 代码规范
|
||||
- Flutter: `flutter analyze` 无错,用 AppSpacing/AppRadius/AppColorScheme,禁止硬编码颜色
|
||||
- Java: Lombok 简化,资金变动方法加 `@Transactional(rollbackFor = Exception.class)`,RESTful 设计
|
||||
|
||||
### Spec 同步
|
||||
Phase 2 全部完成后、启动 Agent 前,**主对话必须更新 Spec**:
|
||||
- 实际实现与设计有差异时,以实现为准更新 Spec
|
||||
- 确保 Phase 3/4 的 Agent 读到的是最新状态
|
||||
|
||||
---
|
||||
|
||||
## Phase 3: 精简 + 测试 + 构建(Agent A)
|
||||
## Phase 3: 精简 + 测试(Agent A)
|
||||
|
||||
Phase 2 完成后,启动独立 Agent 执行代码精简、自动化测试和构建。
|
||||
Phase 2 完成且 Spec 已同步后,启动独立 Agent 执行代码精简和自动化测试。
|
||||
|
||||
### 启动 Agent A
|
||||
|
||||
```
|
||||
Agent(
|
||||
description: "精简+测试验证与构建",
|
||||
description: "精简+测试验证",
|
||||
prompt: |
|
||||
你是 Monisuo 项目质量 Agent,独立完成以下任务,不要询问用户。
|
||||
|
||||
@@ -129,19 +146,19 @@ Agent(
|
||||
- Flutter: cd flutter_monisuo && flutter test
|
||||
- API: ./tests/api/test-[feature].sh(如存在)
|
||||
|
||||
## 5. 构建
|
||||
- 后端: mvn clean package -DskipTests → target/monisuo-*.jar
|
||||
- Flutter: cd flutter_monisuo && flutter build web --release --dart-define=ENV=prod → build/web/
|
||||
## 5. 输出审查报告(供 Agent B 使用)
|
||||
### 代码审查摘要
|
||||
- 变更文件列表及每个文件的核心改动
|
||||
- 代码规范检查结果
|
||||
- 精简改动摘要(改了什么、为什么改)
|
||||
|
||||
## 6. 输出报告
|
||||
### 测试结果
|
||||
| 项目 | 状态 | 备注 |
|
||||
|------|------|------|
|
||||
| 代码审查 | ✅/❌ | |
|
||||
| 代码精简 | ✅/❌ | 改动摘要 |
|
||||
| 后端测试 | ✅/❌ | |
|
||||
| Flutter 测试 | ✅/❌ | |
|
||||
| 后端构建 | ✅/❌ | |
|
||||
| Flutter 构建 | ✅/❌ | |
|
||||
|
||||
如有 Bug,列出:文件、原因、修复建议。返回主对话修复后重新验证。
|
||||
)
|
||||
@@ -151,7 +168,7 @@ Agent(
|
||||
|
||||
## Phase 4: 功能验证(Agent B)
|
||||
|
||||
**Agent A 全部通过后**,启动第二个独立 Agent,基于 Spec 中的测试用例验证功能正确性。
|
||||
**Agent A 全部通过后**,启动独立 Agent。Agent B 接收 Agent A 的审查报告,避免重复读代码。
|
||||
|
||||
### 启动 Agent B
|
||||
|
||||
@@ -165,9 +182,9 @@ Agent(
|
||||
- 路径: docs/features/[feature-name].md
|
||||
- 提取「测试用例」和「验收标准」
|
||||
|
||||
## 2. 读取变更代码
|
||||
- git diff 查看本次变更的文件列表
|
||||
- 阅读变更的 Controller、Service、Provider、UI 代码
|
||||
## 2. 利用审查报告
|
||||
- Agent A 已完成代码审查,变更文件列表和核心改动见报告
|
||||
- 仅对报告未覆盖的逻辑路径做补充阅读
|
||||
- 对照 Spec 中的 API 设计,确认实现与契约一致
|
||||
|
||||
## 3. 逐条验证测试用例
|
||||
@@ -199,8 +216,37 @@ Agent(
|
||||
|
||||
---
|
||||
|
||||
## Phase 5: 构建(Agent C)
|
||||
|
||||
**Agent A 和 Agent B 全部通过后**,启动独立 Agent 执行构建。
|
||||
|
||||
### 启动 Agent C
|
||||
|
||||
```
|
||||
Agent(
|
||||
description: "项目构建",
|
||||
prompt: |
|
||||
你是 Monisuo 项目构建 Agent,独立完成构建任务,不要询问用户。
|
||||
|
||||
## 1. 构建
|
||||
- 后端: mvn clean package -DskipTests → target/monisuo-*.jar
|
||||
- Flutter: cd flutter_monisuo && flutter build web --release --dart-define=ENV=prod → build/web/
|
||||
|
||||
## 2. 输出报告
|
||||
| 项目 | 状态 | 备注 |
|
||||
|------|------|------|
|
||||
| 后端构建 | ✅/❌ | 产物路径 |
|
||||
| Flutter 构建 | ✅/❌ | 产物路径 |
|
||||
|
||||
如有构建失败,列出:模块、错误信息、修复建议。返回主对话修复后重新构建。
|
||||
)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Bug 修复循环
|
||||
|
||||
- **Agent A 失败**(测试/构建不通过)→ 主对话修复 Bug → 重新启动 Agent A
|
||||
- **Agent A 失败**(测试不通过)→ 主对话修复 Bug → 重新启动 Agent A
|
||||
- **Agent B 失败**(功能验证不通过)→ 主对话修复逻辑 → 重新启动 Agent B
|
||||
- **Agent C 失败**(构建不通过)→ 主对话修复构建问题 → 重新启动 Agent C
|
||||
- **全部通过** → 开发完成
|
||||
|
||||
Reference in New Issue
Block a user