feat: 模块化拆分原则——概念相近功能独立模块+独立仓库+伞仓库,基础模块(apppublic/sqlor/ahserver/accounting/appbase/rbac)可引用不必再开发

This commit is contained in:
ymq 2026-08-19 22:55:52 +08:00
parent d84f68dd7e
commit 596717a3d6
2 changed files with 6 additions and 2 deletions

View File

@ -407,6 +407,7 @@ ROLE_SPECIFICS = {
- apps/<应用名>.md: 应用描述部署环境端口
- modules/<模块名>.md: 模块功能仓库URL(先填写规划地址)技术栈依赖
- 每个应用至少关联一个模块
模块划分遵循模块化原则: 概念相近的功能组合成一个独立模块apppublicsqlorahserveraccountingappbaserbac 等基础模块已存在可直接引用**不必列为待开发模块**除非需求明确要改它们
内容: 项目概述用户角色及权限功能列表(每个功能:输入/处理/输出/验收标准)非功能需求业务流程""",
'design': """你是系统设计师。按 SDLC 仓库标准产出文档。
@ -418,7 +419,9 @@ ROLE_SPECIFICS = {
- ui-design.md: 页面结构组件树(如适用)
产出后用 result 输出文档files 列出所有文件路径""",
'develop': """你是开发工程师。源码写入模块独立仓库,不在项目仓库。
'develop': """你是开发工程师。按模块化原则开发概念相近的功能组合成一个独立模块每个模块独立仓库所有模块归入应用的伞仓库pkgs/<模块>)。源码写入模块独立仓库,不在项目仓库。
基础模块复用必读: apppublicsqlorahserveraccountingappbaserbac 等基础模块已存在可直接引用**不必再开发**需要权限走 rbac需要数据访问走 sqlor需要 HTTP 框架走 ahserver需要配置/参数走 appbase需要工具函数走 apppublic开发前先确认目标能力是否已由基础模块提供能复用就不重造
准备工作:
1. read_file docs/01-design/ 下的设计文档
@ -493,6 +496,7 @@ PM_SYSTEM_PROMPT = """你是项目经理PM。你的职责是项目计划
## 任务分解与编排(先评估,再拆解)
- 派发前先评估当前任务是否过于复杂涉及多个模块/应用多个独立交付单元工作量超单 agent 一次产出简单任务直接派发单个任务不必强行拆分
- **模块化拆分原则**概念相近的功能组合成一个独立模块每个模块独立设置仓库所有模块归入应用的伞仓库pkgs/<模块>拆分开发任务以模块为单元一个模块 = 一个开发任务基础模块apppublicsqlorahserveraccountingappbaserbac 已存在可直接引用**不派发重新开发基础模块的任务**
- **任务粒度控制巨型任务拆小**单个任务必须聚焦单一交付单元禁止派发一次性实现全部 N 个模块 / 全部表契约 / 脚手架 + DDL 全套这种巨型任务任务过大时 agent 会因工作量大方向迷失而陷入探索死循环反复 read_file/run_shell 却不 write_file/deliver按模块/单元拆成多个小任务每个模块一个 develop 子任务能并行就并行不填 depends_on有依赖就串行depends_on
- 复杂任务 自动分解把大任务拆成多个子任务每个子任务含 titleroledescription子任务默认挂当前里程碑任务名下parent_id 自动记录任务树据此分层
- 自动编排能并行并行不能并行串行

View File

@ -218,7 +218,7 @@ SDL_PROMPT = """你是「开发产线」的驾驶舱 agent负责软件项目
- 用户未提供时在会话中逐步追问明确 ask_user / list_questions不要跳过明确后再创建 requirement 任务
## 典型场景(帮助判断何时用哪个工具,非强制)
- 用户提出新的开发需求/功能"实现XX""XX系统要做XX" 先确认部署环境需求再用 create_task 创建任务可按 requirementdesigndevelop 拆分 start_agents 启动**单个任务不要过大**涉及多个模块/多个独立交付单元时按模块拆小每个模块一个 develop 任务禁止一次性派发实现全部 N 个模块/全部表契约/脚手架+DDL 全套这种巨型任务
- 用户提出新的开发需求/功能"实现XX""XX系统要做XX" 先确认部署环境需求再用 create_task 创建任务可按 requirementdesigndevelop 拆分 start_agents 启动**单个任务不要过大**涉及多个模块/多个独立交付单元时按模块拆小每个模块一个 develop 任务禁止一次性派发实现全部 N 个模块/全部表契约/脚手架+DDL 全套这种巨型任务**模块化原则**概念相近功能组合成独立模块独立仓库归入应用伞仓库pkgs/<模块>apppublic/sqlor/ahserver/accounting/appbase/rbac 等基础模块已存在可直接引用不必再开发
- 用户问进展/状态 list_tasks / diagnose_project / check_progress
- 用户问待回答问题 list_questions / answer_question
- 用户报告异常/故障 先用 diagnose_project 定位根因再用 task_detail 查详情