From 289a4a4caed8502c4046c02b2e9b78c40290537c Mon Sep 17 00:00:00 2001 From: yumoqing Date: Thu, 20 Aug 2026 00:38:51 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20repos=E7=9B=AE=E5=BD=95=E8=A7=84?= =?UTF-8?q?=E8=8C=83=E2=80=94=E2=80=94=E9=A1=B9=E7=9B=AE=E8=BF=87=E7=A8=8B?= =?UTF-8?q?=E4=BB=93=E5=BA=93(=E9=98=B6=E6=AE=B5/QC/PM=E6=96=87=E6=A1=A3)+?= =?UTF-8?q?=E5=BA=94=E7=94=A8=E4=BB=93=E5=BA=93+=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E4=BB=93=E5=BA=93;=20=E9=98=B6=E6=AE=B5=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E4=BA=A7=E5=87=BA=E5=88=B0repos/project=E5=B9=B6git=20commit;?= =?UTF-8?q?=20=E4=B8=B4=E6=97=B6=E6=96=87=E4=BB=B6=E4=B8=8D=E8=BF=9B?= =?UTF-8?q?=E4=BB=93=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../all/sdlc-repo-standard/SKILL.md | 103 ++++++++++-------- 1 file changed, 60 insertions(+), 43 deletions(-) diff --git a/skills_library/all/sdlc-repo-standard/SKILL.md b/skills_library/all/sdlc-repo-standard/SKILL.md index 52b7b30..30f597d 100644 --- a/skills_library/all/sdlc-repo-standard/SKILL.md +++ b/skills_library/all/sdlc-repo-standard/SKILL.md @@ -5,41 +5,54 @@ description: SDLC project repo layout and deliverable specs. # SDLC 项目仓库标准 -源码在独立仓库,项目仓库只存文档、模块说明、配置。 +项目工作空间 `workspace/repos/` 下建三类仓库,其他临时文件/其他用途文件**不进仓库**: + +1. **项目过程仓库**(`repos/project/`):阶段文档、QC 审计文档、项目管理文档都放这里 +2. **应用仓库**(至少一个):应用代码 +3. **模块仓库**(每个模块一个):模块代码 ## 目录结构 ``` -project-repo/ -├── README.md # 项目概述(PM 维护) -├── docs/ # 阶段文档 -│ ├── 00-requirement/ -│ │ └── requirement-spec.md # 需求规格说明书 -│ ├── 01-design/ -│ │ ├── architecture.md # 系统架构、模块划分、模块间依赖、开发顺序 -│ │ └── ui-design.md # 视觉风格/主页面/用户交互模式/弹窗规范 -│ ├── 02-develop/ -│ │ └── dev-notes.md # 开发说明(引用了哪些模块仓库) -│ ├── 03-test/ -│ │ ├── test-plan.md -│ │ ├── test-cases.md -│ │ └── test-report.md -│ ├── 04-deploy/ -│ │ ├── deploy-guide.md -│ │ └── release-notes.md -│ └── 05-pm/ -│ └── reviews/ -├── modules/ # 模块(自包含单元:清单 + 模块级设计) -│ ├── <模块名>.md # 模块清单:功能/仓库/依赖/开发顺序 -│ └── <模块名>/ # 模块级设计(属于模块本身,可整体复用) -│ ├── design.md # 数据设计(表DDL) + CRUD + 处理逻辑(接口) -│ └── skill/SKILL.md # 模块技能文档 -├── apps/ # 应用说明(每个应用一个文件) -│ └── <应用名>.md -├── config/ # 部署配置 -└── .gitignore +workspace/ +├── repos/ +│ ├── project/ # 项目过程仓库(git,本地仓库,无远程) +│ │ ├── README.md +│ │ ├── docs/ # 阶段文档 +│ │ │ ├── 00-requirement/ +│ │ │ │ └── requirement-spec.md +│ │ │ ├── 01-design/ +│ │ │ │ ├── architecture.md # 系统架构、模块划分、模块间依赖、开发顺序 +│ │ │ │ └── ui-design.md # 视觉风格/主页面/用户交互模式/弹窗规范 +│ │ │ ├── 02-develop/ +│ │ │ │ └── dev-notes.md +│ │ │ ├── 03-test/ +│ │ │ │ ├── test-plan.md +│ │ │ │ ├── test-cases.md +│ │ │ │ └── test-report.md +│ │ │ ├── 04-deploy/ +│ │ │ │ ├── deploy-guide.md +│ │ │ │ └── release-notes.md +│ │ │ └── 05-pm/ # 项目管理文档 + QC 审计文档 +│ │ │ └── reviews/ +│ │ ├── modules/ # 模块说明 + 模块级设计(自包含单元) +│ │ │ ├── <模块名>.md # 模块清单:功能/仓库/依赖/开发顺序 +│ │ │ └── <模块名>/ +│ │ │ ├── design.md # 数据设计(表DDL) + CRUD + 处理逻辑(接口) +│ │ │ └── skill/SKILL.md +│ │ ├── apps/ # 应用说明(每个应用一个文件) +│ │ │ └── <应用名>.md +│ │ ├── config/ # 部署配置 +│ │ └── .gitignore +│ ├── <应用仓库>/ # 应用代码仓库(至少一个) +│ └── <模块仓库>/ # 每个模块一个代码仓库 +└── (其他临时文件不进仓库) ``` +**说明**: +- 项目过程仓库是**本地 git 仓库**(无远程),只 commit 不 push;QC 审核检查 commit 记录。 +- 应用仓库、模块仓库是**代码仓库**(有远程),develop 阶段 clone 到 `repos/` 下并提交。 + ## 模块说明文件 `modules/<模块名>.md` ```markdown @@ -85,37 +98,41 @@ modules/<模块名>/ ## 各角色产出规范 +> 所有阶段文档都产出到项目过程仓库 `repos/project/` 下,完成后 `git_commit_push` 提交到项目过程仓库。 + ### requirement(需求分析师) -- **产出**: `docs/00-requirement/requirement-spec.md` -- **同时创建**: `apps/` 下至少一个应用说明文件(应用 = 部署单元,含端口/环境) +- **产出**: `repos/project/docs/00-requirement/requirement-spec.md` +- **同时创建**: `repos/project/apps/` 下至少一个应用说明文件(应用 = 部署单元,含端口/环境) - **不划分模块**: 模块划分是架构决策,由 design 阶段设计师完成 - **内容**: 项目概述、用户角色及权限、功能列表(含验收标准)、非功能需求、业务流程 ### design(系统设计师) -- **应用级产出**: `docs/01-design/architecture.md`(系统架构、模块划分、模块间依赖、开发顺序), `ui-design.md`(视觉风格/主页面/用户交互模式/弹窗规范) -- **模块级设计**: 每个模块在 `modules/<模块名>/` 下产出自己的设计——数据设计(表结构DDL)、CRUD 定义、处理逻辑(接口)、skills(技能文档)。数据/CRUD/逻辑/skills 属于模块本身,不放在应用级,保证模块可整体复用 -- **更新**: `modules/` 下各模块的技术栈、依赖关系、开发顺序 +- **应用级产出**: `repos/project/docs/01-design/architecture.md`(系统架构、模块划分、模块间依赖、开发顺序), `ui-design.md`(视觉风格/主页面/用户交互模式/弹窗规范) +- **模块级设计**: 每个模块在 `repos/project/modules/<模块名>/` 下产出自己的设计——数据设计(表结构DDL)、CRUD 定义、处理逻辑(接口)、skills(技能文档)。数据/CRUD/逻辑/skills 属于模块本身,不放在应用级,保证模块可整体复用 +- **更新**: `repos/project/modules/` 下各模块的技术栈、依赖关系、开发顺序 - **内容**: 架构图及技术选型、模块清单与依赖图、视觉风格与交互规范 ### develop(开发工程师) -- **产出**: `docs/02-develop/dev-notes.md`(开发说明,记录了哪些模块仓库、开发了什么功能) -- **源码**: 写入对应模块的独立仓库(通过 `modules/` 中的 repo URL 确定),**不在项目仓库中** -- **更新**: `modules/` 下对应模块的状态为开发中/已完成 +- **产出**: `repos/project/docs/02-develop/dev-notes.md`(开发说明,记录了哪些模块仓库、开发了什么功能) +- **源码**: 写入对应模块的独立仓库 `repos/<模块名>/`(通过 `modules/` 中的 repo URL 确定),**不在项目过程仓库中** +- **更新**: `repos/project/modules/` 下对应模块的状态为开发中/已完成 - **行为准则**: - 1. 先读 `modules/` 确认模块仓库 URL - 2. `git_clone` 模块仓库到工作空间 + 1. 先读 `repos/project/modules/` 确认模块仓库 URL + 2. `git_clone` 模块仓库到 `repos/` 下 3. `write_file` 写代码到模块仓库 4. `run_shell` 编译验证 - 5. `git_commit_push` 提交 - 6. `deliver` 交付,更新 `modules/` 状态 + 5. `git_commit_push` 提交模块仓库 + 6. `write_file` 更新 `repos/project/modules/<模块名>.md` 状态,`git_commit_push` 提交项目过程仓库 + 7. `deliver` 交付 ### test(测试工程师) -- **产出**: `docs/03-test/test-plan.md`, `test-cases.md`, `test-report.md` +- **产出**: `repos/project/docs/03-test/test-plan.md`, `test-cases.md`, `test-report.md` ### deploy(部署工程师) -- **产出**: `docs/04-deploy/deploy-guide.md`, `release-notes.md`, `config/` 下部署配置 +- **产出**: `repos/project/docs/04-deploy/deploy-guide.md`, `release-notes.md`, `repos/project/config/` 下部署配置 ### PM(项目经理) - **审核要点**: + - 每个阶段检查项目过程仓库有 git commit、交付件已受控提交 - develop: 必须检查对应模块仓库有 git commit,`modules/` 状态已更新 - 每个阶段检查 `modules/` 和 `apps/` 文件是否随进度更新