--- name: "add-subproject" description: "Adds a new subproject to the existing '1 Human + 2 AI' collaboration framework. Invoke when you need to add a new subproject like web admin, data entry program, etc." --- # 添加子项目 Skill ## 功能 在现有的"1人+2AI"协作框架中动态添加新的子项目,自动创建: - 项目目录结构(src/、tests/、docs/) - 环境配置文件(ENVIRONMENT.md) - README.md 占位文件 - 示例任务目录(含 task.md、acceptance.md、impact.md、feedback/) ## 使用方法 ### 参数说明 | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | project_name | string | 是 | 子项目名称,如 "web_admin"、"data_entry" | | project_number | string | 否 | 项目编号,如 "P03",默认自动生成 | ### 调用方式 ```bash # 方式1:仅提供项目名称(自动分配编号) # skill 会自动检测现有项目编号,分配下一个编号 add-subproject --project_name="web_admin" # 方式2:指定项目编号 add-subproject --project_name="web_admin" --project_number="P03" ``` ## 创建的内容 ### 目录结构 ``` projects/ └── P03_web_admin/ # 新项目目录 ├── src/ # Dev AI 工作区 │ ├── server/ # NestJS 后端(如需要) │ ├── config/ # 构建配置 │ ├── types/ # 全局类型 │ └── README.md ├── tests/ # QA AI 工作区 │ └── README.md ├── docs/ # 项目文档 │ ├── 01_需求概要.md │ ├── 02_架构设计.md │ └── 03_接口定义.md └── ENVIRONMENT.md # 环境配置 ``` ### 任务目录 ``` review/ └── active/ └── P03-001/ # 新项目的第一个任务 ├── task.md # 任务描述(人类创建,AI 只读) ├── acceptance.md # 验收标准 ├── impact.md # 变更影响范围 └── feedback/ # 测试反馈 └── round1.md ``` ## 执行命令 ```bash # 获取下一个项目编号(PowerShell 兼容版本) get_next_project_number() { # 兼容 Linux/macOS if command -v ls >/dev/null 2>&1; then ls -la projects/ | grep -E '^P[0-9]+_' | sort | tail -1 | sed 's/P\([0-9]*\)_.*$/\1/' # 兼容 Windows PowerShell elif command -v powershell >/dev/null 2>&1; then powershell -Command "(Get-ChildItem projects -Directory | Where-Object { $_.Name -match '^P\d+_' } | Sort-Object Name | Select-Object -Last 1).Name -replace 'P(\d+)_.*', '$1'" else echo "0" fi } # 创建项目目录 PROJECT_NAME="web_admin" NEXT_NUM=$(get_next_project_number) PROJECT_NUM="P$(printf '%02d' $((NEXT_NUM + 1)))" PROJECT_DIR="projects/${PROJECT_NUM}_${PROJECT_NAME}" mkdir -p "${PROJECT_DIR}"/{src/{server,config,types},tests,docs} # 创建 ENVIRONMENT.md cat > "${PROJECT_DIR}/ENVIRONMENT.md" << EOF # ${PROJECT_NUM}_${PROJECT_NAME} - 环境准备 ## 依赖 - Node.js >= 20.x - pnpm >= 9.0.0 ## 安装 pnpm install ## 运行 pnpm dev EOF # 创建文档 cat > "${PROJECT_DIR}/docs/01_需求概要.md" << EOF # ${PROJECT_NUM}_${PROJECT_NAME} - 需求概要 ## 项目概述 ## 功能需求 ## 非功能需求 EOF cat > "${PROJECT_DIR}/docs/02_架构设计.md" << EOF # ${PROJECT_NUM}_${PROJECT_NAME} - 架构设计 ## 技术选型 ## 架构图 ## 模块划分 EOF cat > "${PROJECT_DIR}/docs/03_接口定义.md" << EOF # ${PROJECT_NUM}_${PROJECT_NAME} - 接口定义 ## API 列表 ## 数据结构 EOF # 创建 README.md echo "# ${PROJECT_NAME} - src" > "${PROJECT_DIR}/src/README.md" echo "# ${PROJECT_NAME} - tests" > "${PROJECT_DIR}/tests/README.md" # 创建示例任务 mkdir -p "review/active/${PROJECT_NUM}-001/feedback" cat > "review/active/${PROJECT_NUM}-001/task.md" << EOF # ${PROJECT_NUM}-001 - 项目初始化 ## 任务信息 - 任务编号:${PROJECT_NUM}-001 - 项目:${PROJECT_NUM}_${PROJECT_NAME} - 创建时间:$(date +%Y-%m-%d) - 状态:TODO ## 任务描述 完成 ${PROJECT_NAME} 项目的初始化工作。 ## 交付物 - 项目目录结构 - 基础配置文件 - README 文档 EOF cat > "review/active/${PROJECT_NUM}-001/acceptance.md" << EOF # ${PROJECT_NUM}-001 - 验收标准 ## 功能验收 - [ ] 项目目录结构完整 - [ ] ENVIRONMENT.md 已创建 - [ ] 文档目录已初始化 ## 测试覆盖要求 - 无需测试(初始化任务) EOF cat > "review/active/${PROJECT_NUM}-001/impact.md" << EOF # ${PROJECT_NUM}-001 - 变更影响范围 ## 修改的文件 | 文件路径 | 修改类型 | 影响等级 | |---------|---------|---------| | ${PROJECT_DIR}/ | 新增 | LOW | ## 影响的功能模块 - [x] 项目初始化 ## 需要回归测试的场景 - 无(新项目) ## 环境依赖变更 - 无 EOF cat > "review/active/${PROJECT_NUM}-001/feedback/round1.md" << EOF # ${PROJECT_NUM}-001 - 第一轮测试反馈 ## 基本信息 - 测试时间: $(date +%Y-%m-%d) - 测试项目: ${PROJECT_NUM}_${PROJECT_NAME} - 测试环境: 待配置 ## 测试结果概览 | 指标 | 数值 | |------|------| | 测试用例总数 | 0 | | 通过 | 0 | | 失败 | 0 | | 跳过 | 0 | | 代码覆盖率 | 0% | ## 反馈 待 Dev AI 完成开发后执行测试 EOF # 更新 README.md(如果存在) if [ -f README.md ]; then echo "- [${PROJECT_NUM}_${PROJECT_NAME}](${PROJECT_DIR})" >> README.md fi echo "✅ 子项目 ${PROJECT_NUM}_${PROJECT_NAME} 创建成功!" echo "📖 请阅读 AGENTS.md 了解协作规则" echo "🚀 在 review/active/${PROJECT_NUM}-001/ 下查看示例任务结构" ``` ## 使用场景 **何时调用此 skill:** - ✅ 添加新的 Web 管理程序 - ✅ 添加数据录入程序 - ✅ 添加任何新的子项目模块 - ✅ 扩展现有项目架构 **不适用场景:** - ❌ 项目尚未初始化(需先调用 ai-collab-setup) - ❌ 修改现有项目结构 ## 后续步骤 skill 执行后: 1. 检查 `projects/${PROJECT_NUM}_${PROJECT_NAME}/` 目录结构 2. 阅读 `review/active/${PROJECT_NUM}-001/task.md` 示例任务 3. 根据实际需求修改 `task.md` 为真实任务 4. Dev AI 开始开发 --- **Version**: 2.0 **Created**: 2026-05-22 **Updated**: 2026-05-23 **Based On**: ErrLens AI Programming Project **Changes from v1**: - 目录结构新增 src/server/、src/config/、src/types/ 子目录 - 示例任务增加完整的 feedback/round1.md 格式(含基本信息表格) - impact.md 增加「影响的功能模块」和「环境依赖变更」段落 - 脚本兼容 Windows PowerShell 和 Linux/macOS - ENVIRONMENT.md 默认使用 pnpm 包管理器