86 lines
3.9 KiB
Markdown
86 lines
3.9 KiB
Markdown
---
|
||
name: sdlc-repo-standard
|
||
description: SDLC 交付件规格——模块说明/模块级设计/应用说明的文件格式 + 各角色产出内容与行为准则。目录结构与落点路径以 project-directory-spec 为准。
|
||
---
|
||
|
||
# SDLC 交付件规格
|
||
|
||
> ⚠️ 项目目录结构(README.md + repos/ 下 {项目名}_pc / {应用名}_app / {模块} 三类仓库、各角色落点路径)以 **project-directory-spec** 技能为唯一权威,本技能不再定义目录结构,只定义 SDLC 交付件的**内容格式**与角色产出行为准则。
|
||
|
||
## 模块说明文件 `{项目名}_pc/modules/{模块名}.md`
|
||
|
||
```markdown
|
||
# <模块名>
|
||
- **功能**: <一句话描述>
|
||
- **仓库**: git@git.opencomputing.cn:org/<repo>.git
|
||
- **技术栈**: <语言/框架>
|
||
- **状态**: <规划中/开发中/已完成>
|
||
- **负责人**: <role>
|
||
- **依赖模块**: <列出依赖的其他模块>
|
||
- **开发顺序**: <拓扑序中的位置,被依赖的先开发>
|
||
- **关联应用**: <属于哪个应用>
|
||
```
|
||
|
||
## 模块级设计 `{项目名}_pc/modules/{模块名}/`
|
||
|
||
每个模块是自包含、可复用的单元,数据设计放模块内而非应用级:
|
||
|
||
```
|
||
{项目名}_pc/modules/{模块名}/
|
||
├── design.md # 数据设计(表结构DDL) + CRUD 定义 + 处理逻辑(接口)
|
||
└── skill/SKILL.md # 模块技能文档(develop agent 参考)
|
||
```
|
||
|
||
**原则**: 数据、CRUD、处理逻辑、skills 都属于模块本身,不放在应用级 design 里,这样模块可整体复用。
|
||
|
||
**模板**: design.md 用 `templates/module-design.md`(模块元信息 / 数据设计→models / CRUD→json / 处理逻辑→dspy / 入口菜单);skill/SKILL.md 用 `templates/module-skill.md`(frontmatter / 概述 / 数据模型 / 关键接口 / 陷阱 / 依赖)。
|
||
|
||
## 应用说明文件 `{项目名}_pc/apps/{应用名}.md`
|
||
|
||
```markdown
|
||
# <应用名>
|
||
- **描述**: <应用的整体功能和定位>
|
||
- **包含模块**:
|
||
- <模块1> (git@...)
|
||
- <模块2> (git@...)
|
||
- **部署环境**: <地址/端口>
|
||
- **负责人**: <role>
|
||
- **状态**: <规划中/开发中/已上线>
|
||
```
|
||
|
||
## 各角色产出内容(落点路径见 project-directory-spec)
|
||
|
||
### requirement(需求分析师)
|
||
- **内容**: 项目概述、用户角色及权限、功能列表(含验收标准)、非功能需求、业务流程
|
||
- **同时创建**: `{项目名}_pc/apps/` 下至少一个应用说明文件(应用 = 部署单元,含端口/环境)
|
||
- **不划分模块**: 模块划分是架构决策,由 design 阶段设计师完成
|
||
|
||
### design(系统设计师)
|
||
- **应用级**: `architecture.md`(系统架构、模块划分、模块间依赖、开发顺序)+ `ui-design.md`(视觉风格/主页面/交互模式/弹窗规范)
|
||
- **模块级**: 每个模块在 `{项目名}_pc/modules/{模块名}/` 下产出 design.md(数据设计/CRUD/处理逻辑)+ skill/SKILL.md
|
||
- **更新**: `{项目名}_pc/modules/` 下各模块的技术栈、依赖关系、开发顺序
|
||
|
||
### develop(开发工程师)
|
||
- **源码**: 写入模块仓库 `repos/{模块名}/`,不在项目工程文档仓库
|
||
- **开发说明**: `{项目名}_pc/docs/02-develop/dev-notes.md`
|
||
- **行为准则**:
|
||
1. 读 `{项目名}_pc/modules/` 确认模块仓库
|
||
2. clone 模块仓库到 `repos/` 下
|
||
3. write_file 写代码到模块仓库
|
||
4. run_shell 编译验证
|
||
5. git_commit_push 提交模块仓库
|
||
6. 更新 `{项目名}_pc/modules/{模块名}.md` 状态
|
||
7. deliver 交付
|
||
|
||
### test(测试工程师)
|
||
- **内容**: test-plan.md、test-cases.md、test-report.md
|
||
|
||
### deploy(部署工程师)
|
||
- **内容**: deploy-guide.md、release-notes.md、`{项目名}_pc/config/` 下部署配置
|
||
|
||
### PM(项目经理)
|
||
- **审核要点**:
|
||
- 每个阶段检查项目工程文档仓库有 git commit、交付件已受控提交
|
||
- develop: 必须检查对应模块仓库有 git commit、modules/ 状态已更新
|
||
- 每个阶段检查 modules/ 和 apps/ 文件是否随进度更新
|