fix: sdlc-repo-standard 同步 git 源(改用 {项目名}_pc + 引用 project-directory-spec)

This commit is contained in:
ymq 2026-08-21 23:36:02 +08:00
parent 9f931347db
commit 683315af84

View File

@ -1,59 +1,13 @@
---
name: sdlc-repo-standard
description: SDLC project repo layout and deliverable specs.
description: SDLC 交付件规格——模块说明/模块级设计/应用说明的文件格式 + 各角色产出内容与行为准则。目录结构与落点路径以 project-directory-spec 为准。
---
# SDLC 项目仓库标准
# SDLC 交付件规格
项目工作空间 `workspace/repos/` 下建三类仓库,其他临时文件/其他用途文件**不进仓库**
> ⚠️ 项目目录结构README.md + repos/ 下 {项目名}_pc / {应用名}_app / {模块} 三类仓库、各角色落点路径)以 **project-directory-spec** 技能为唯一权威,本技能不再定义目录结构,只定义 SDLC 交付件的**内容格式**与角色产出行为准则。
1. **项目过程仓库**`repos/project/`阶段文档、QC 审计文档、项目管理文档都放这里
2. **应用仓库**(至少一个):应用代码
3. **模块仓库**(每个模块一个):模块代码
## 目录结构
```
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 不 pushQC 审核检查 commit 记录。
- 应用仓库、模块仓库是**代码仓库**有远程develop 阶段 clone 到 `repos/` 下并提交。
## 模块说明文件 `modules/<模块名>.md`
## 模块说明文件 `{项目名}_pc/modules/{模块名}.md`
```markdown
# <模块名>
@ -67,23 +21,21 @@ workspace/
- **关联应用**: <属于哪个应用>
```
## 模块级设计 `modules/<模块名>/`
## 模块级设计 `{项目名}_pc/modules/{模块名}/`
每个模块是自包含、可复用的单元,数据设计放模块内而非应用级:
```
modules/<模块名>/
{项目名}_pc/modules/{模块名}/
├── design.md # 数据设计(表结构DDL) + CRUD 定义 + 处理逻辑(接口)
└── skill/SKILL.md # 模块技能文档develop agent 参考)
```
**原则**: 数据、CRUD、处理逻辑、skills 都属于模块本身,不放在应用级 design 里,这样模块可整体复用(换个应用直接带着自己的数据/逻辑/skills 一起加载)
**原则**: 数据、CRUD、处理逻辑、skills 都属于模块本身,不放在应用级 design 里,这样模块可整体复用。
**模板**: 设计产出用统一模板,保证 develop 读到的每个模块设计结构一致——
- `design.md` 模板 → `templates/module-design.md`(模块元信息 / 数据设计→models / CRUD→json / 处理逻辑→dspy / 入口菜单)
- `skill/SKILL.md` 模板 → `templates/module-skill.md`frontmatter / 概述 / 数据模型 / 关键接口 / 陷阱 / 依赖)
**模板**: design.md 用 `templates/module-design.md`(模块元信息 / 数据设计→models / CRUD→json / 处理逻辑→dspy / 入口菜单skill/SKILL.md 用 `templates/module-skill.md`frontmatter / 概述 / 数据模型 / 关键接口 / 陷阱 / 依赖)。
## 应用说明文件 `apps/<应用名>.md`
## 应用说明文件 `{项目名}_pc/apps/{应用名}.md`
```markdown
# <应用名>
@ -96,43 +48,38 @@ modules/<模块名>/
- **状态**: <规划中/开发中/已上线>
```
## 各角色产出规范
> 所有阶段文档都产出到项目过程仓库 `repos/project/` 下,完成后 `git_commit_push` 提交到项目过程仓库。
## 各角色产出内容(落点路径见 project-directory-spec
### requirement需求分析师
- **产出**: `repos/project/docs/00-requirement/requirement-spec.md`
- **同时创建**: `repos/project/apps/` 下至少一个应用说明文件(应用 = 部署单元,含端口/环境)
- **不划分模块**: 模块划分是架构决策,由 design 阶段设计师完成
- **内容**: 项目概述、用户角色及权限、功能列表(含验收标准)、非功能需求、业务流程
- **同时创建**: `{项目名}_pc/apps/` 下至少一个应用说明文件(应用 = 部署单元,含端口/环境)
- **不划分模块**: 模块划分是架构决策,由 design 阶段设计师完成
### design系统设计师
- **应用级产出**: `repos/project/docs/01-design/architecture.md`(系统架构、模块划分、模块间依赖、开发顺序), `ui-design.md`(视觉风格/主页面/用户交互模式/弹窗规范)
- **模块级设计**: 每个模块在 `repos/project/modules/<模块名>/` 下产出自己的设计——数据设计(表结构DDL)、CRUD 定义、处理逻辑(接口)、skills(技能文档)。数据/CRUD/逻辑/skills 属于模块本身,不放在应用级,保证模块可整体复用
- **更新**: `repos/project/modules/` 下各模块的技术栈、依赖关系、开发顺序
- **内容**: 架构图及技术选型、模块清单与依赖图、视觉风格与交互规范
- **应用级**: `architecture.md`(系统架构、模块划分、模块间依赖、开发顺序)+ `ui-design.md`(视觉风格/主页面/交互模式/弹窗规范)
- **模块级**: 每个模块在 `{项目名}_pc/modules/{模块名}/` 下产出 design.md数据设计/CRUD/处理逻辑)+ skill/SKILL.md
- **更新**: `{项目名}_pc/modules/` 下各模块的技术栈、依赖关系、开发顺序
### develop开发工程师
- **产出**: `repos/project/docs/02-develop/dev-notes.md`(开发说明,记录了哪些模块仓库、开发了什么功能)
- **源码**: 写入对应模块的独立仓库 `repos/<模块名>/`(通过 `modules/` 中的 repo URL 确定),**不在项目过程仓库中**
- **更新**: `repos/project/modules/` 下对应模块的状态为开发中/已完成
- **源码**: 写入模块仓库 `repos/{模块名}/`,不在项目工程文档仓库
- **开发说明**: `{项目名}_pc/docs/02-develop/dev-notes.md`
- **行为准则**:
1. 先读 `repos/project/modules/` 确认模块仓库 URL
2. `git_clone` 模块仓库到 `repos/`
3. `write_file` 写代码到模块仓库
4. `run_shell` 编译验证
5. `git_commit_push` 提交模块仓库
6. `write_file` 更新 `repos/project/modules/<模块名>.md` 状态,`git_commit_push` 提交项目过程仓库
7. `deliver` 交付
1. `{项目名}_pc/modules/` 确认模块仓库
2. clone 模块仓库到 `repos/`
3. write_file 写代码到模块仓库
4. run_shell 编译验证
5. git_commit_push 提交模块仓库
6. 更新 `{项目名}_pc/modules/{模块名}.md` 状态
7. deliver 交付
### test测试工程师
- **产出**: `repos/project/docs/03-test/test-plan.md`, `test-cases.md`, `test-report.md`
- **内容**: test-plan.md、test-cases.md、test-report.md
### deploy部署工程师
- **产出**: `repos/project/docs/04-deploy/deploy-guide.md`, `release-notes.md`, `repos/project/config/` 下部署配置
- **内容**: deploy-guide.md、release-notes.md、`{项目名}_pc/config/` 下部署配置
### PM项目经理
- **审核要点**:
- 每个阶段检查项目过程仓库有 git commit、交付件已受控提交
- develop: 必须检查对应模块仓库有 git commit`modules/` 状态已更新
- 每个阶段检查 `modules/``apps/` 文件是否随进度更新
- 每个阶段检查项目工程文档仓库有 git commit、交付件已受控提交
- develop: 必须检查对应模块仓库有 git commit、modules/ 状态已更新
- 每个阶段检查 modules/ 和 apps/ 文件是否随进度更新