Files
ai_soc_sw/hwd32h757/.trae/skills/add-subproject/SKILL.md
T
tupingr 6c09a9b6d4 init.
2026-05-26 16:43:31 +08:00

254 lines
6.6 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: "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**: SoC_SW AI Programming Project
**Changes from v1**:
- 目录结构新增 src/server/、src/config/、src/types/ 子目录
- 示例任务增加完整的 feedback/round1.md 格式(含基本信息表格)
- impact.md 增加「影响的功能模块」和「环境依赖变更」段落
- 脚本兼容 Windows PowerShell 和 Linux/macOS
- ENVIRONMENT.md 默认使用 pnpm 包管理器