86 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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/ 文件是否随进度更新