yumoqing 6863f73728 fix: 全部 SDLC 规范技能 description 改三段式(触发场景+关键约束+不加载后果/边界)
让所有角色做事都能靠 description 判断加载哪个技能:
- database-table-definition-spec/crud-definition-spec/dspy-file-implementation-spec/sqlor-database-module
  由英文「Standardized/Comprehensive...」改为中文触发式(定义表结构/CRUD/dspy/写DB时必读+不加载后果)
- project-directory-spec/sdlc-repo-standard/webapp-deploy/database-design
  补「不加载后果」+ 互相指路边界(表四段式↔database-design、目录落点↔project-directory-spec)
2026-08-22 23:19:59 +08:00

4.3 KiB
Raw Blame History

name description
sdlc-repo-standard 所有角色产出交付件前必读——各角色产出内容 + 交付件文件格式 + 通用交付约定(deliver + files 列出产出路径)。不加载会只写文档不列文件、漏产出。目录落点以 project-directory-spec 为准。

SDLC 交付件规格

⚠️ 项目目录结构(README.md + repos/ 下 {项目名}_pc / {应用名}_app / {模块} 三类仓库、各角色落点路径)以 project-directory-spec 技能为唯一权威,本技能不再定义目录结构,只定义 SDLC 交付件的内容格式与角色产出行为准则。

模块说明文件 {项目名}_pc/modules/{模块名}.md

# <模块名>
- **功能**: <一句话描述>
- **仓库**: 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

# <应用名>
- **描述**: <应用的整体功能和定位>
- **包含模块**:
  - <模块1> (git@...)
  - <模块2> (git@...)
- **部署环境**: <地址/端口>
- **负责人**: <role>
- **状态**: <规划中/开发中/已上线>

通用交付约定(所有角色)

  • 完成后用 deliver 交付,files 列出所有产出文件路径——这是 QC/PM 核验「实际产出」的依据,别只写文档不列文件
  • git 提交由 PM 审核通过后系统统一执行,角色无需自己提交(develop 例外:模块仓库本地 commit 是 QC 核验的硬证据,见下)

各角色产出内容(落点路径见 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/ 文件是否随进度更新