--- name: sdlc-repo-standard description: SDLC project repo layout and deliverable specs. --- # SDLC 项目仓库标准 源码在独立仓库,项目仓库只存文档、模块说明、配置。 ## 目录结构 ``` project-repo/ ├── README.md # 项目概述(PM 维护) ├── docs/ # 阶段文档 │ ├── 00-requirement/ │ │ └── requirement-spec.md # 需求规格说明书 │ ├── 01-design/ │ │ ├── architecture.md # 系统架构 │ │ ├── database-design.md # 数据库设计 │ │ ├── api-design.md # API 接口设计 │ │ └── 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 ├── apps/ # 应用说明(每个应用一个文件) │ └── <应用名>.md ├── config/ # 部署配置 └── .gitignore ``` ## 模块说明文件 `modules/<模块名>.md` ```markdown # <模块名> - **功能**: <一句话描述> - **仓库**: git@git.opencomputing.cn:org/.git - **技术栈**: <语言/框架> - **状态**: <规划中/开发中/已完成> - **负责人**: - **依赖模块**: <列出依赖的其他模块> - **关联应用**: <属于哪个应用> ``` ## 应用说明文件 `apps/<应用名>.md` ```markdown # <应用名> - **描述**: <应用的整体功能和定位> - **包含模块**: - <模块1> (git@...) - <模块2> (git@...) - **部署环境**: <地址/端口> - **负责人**: - **状态**: <规划中/开发中/已上线> ``` ## 各角色产出规范 ### requirement(需求分析师) - **产出**: `docs/00-requirement/requirement-spec.md` - **同时创建**: `apps/` 下至少一个应用说明文件,`modules/` 下至少一个模块(每个应用至少关联一个模块),标注状态为规划中、填写仓库 URL - **内容**: 项目概述、用户角色及权限、功能列表(含验收标准)、非功能需求、业务流程 ### design(系统设计师) - **产出**: `docs/01-design/architecture.md`, `database-design.md`, `api-design.md`, `ui-design.md` - **更新**: `modules/` 下各模块的技术栈、依赖关系 - **内容**: 架构图及技术选型、ER 图/DDL、API 端点列表、页面结构 ### develop(开发工程师) - **产出**: `docs/02-develop/dev-notes.md`(开发说明,记录了哪些模块仓库、开发了什么功能) - **源码**: 写入对应模块的独立仓库(通过 `modules/` 中的 repo URL 确定),**不在项目仓库中** - **更新**: `modules/` 下对应模块的状态为开发中/已完成 - **行为准则**: 1. 先读 `modules/` 确认模块仓库 URL 2. `git_clone` 模块仓库到工作空间 3. `write_file` 写代码到模块仓库 4. `run_shell` 编译验证 5. `git_commit_push` 提交 6. `deliver` 交付,更新 `modules/` 状态 ### test(测试工程师) - **产出**: `docs/03-test/test-plan.md`, `test-cases.md`, `test-report.md` ### deploy(部署工程师) - **产出**: `docs/04-deploy/deploy-guide.md`, `release-notes.md`, `config/` 下部署配置 ### PM(项目经理) - **审核要点**: - develop: 必须检查对应模块仓库有 git commit,`modules/` 状态已更新 - 每个阶段检查 `modules/` 和 `apps/` 文件是否随进度更新