yg-team-cli
v2.8.0
Published
AI-Native 团队研发脚手架 - Node.js 版本
Maintainers
Readme
team-cli
AI-Native 团队研发脚手架 CLI 工具
一个统一团队工程初始化标准、利用 Claude Code 能力自动化生成代码的命令行工具。
功能概述
team-cli 是一个功能完善的 AI-Native 团队研发脚手架工具,提供从项目初始化到代码开发的全流程支持。
核心功能
| 命令 | 功能描述 |
|------|---------|
| init | 初始化标准化项目结构 |
| split-prd | 将 PRD 文档拆分为多个功能规格 |
| breakdown | 将 spec 拆分为 milestones 和 todos |
| dev | 选择并执行开发任务 |
| dev:wt | Worktree Orchestrator - 多角色并行开发 |
| add-feature | 添加新功能 |
| bugfix | 创建 Bugfix 记录 |
| hotfix | 紧急修复 |
| detect-deps | 检测依赖关系 |
| sync-memory | 同步 AI_MEMORY.md |
| check-api | API 检查(冲突/变更/Registry) |
| status | 查看项目状态 |
| lint | 前后端代码质量检查 |
| logs | 查看 AI 开发会话历史 |
开发时间线
以下记录了 team-cli 的开发进展,按时间倒序排列。
2026-02-03 - PRD → Spec 工作流重构
v2.5.0 - 新增 PRD → Spec 两阶段工作流
- 重构:
add-feature命令现在生成 PRD 到docs/prd-docs/目录 - 新增:
split-prd支持单文件模式,将单个 PRD 转换为 Spec - 移动:
updateAiMemory从add-feature移到split-prd,Spec 生成后更新功能清单 - 工作流:
add-feature→split-prd→breakdown
v2.5.1 - 修复目录创建 bug
- 修复:
FileUtils.write现在自动创建父目录,解决docs/prd-docs/不存在时的写入失败问题
v2.5.2 - init 命令新增 prd-docs 目录
- 新增:
team-cli init现在默认创建docs/prd-docs/目录供存放 PRD 需求文档
v2.5.3 - 优化 breakdown 命令合并逻辑
- 改进:
breakdown现在仅请求生成里程碑部分,并精确合并到原 Spec 文件 - 修复: 解决了
breakdown命令可能会覆盖原文件技术设计内容的问题 (防止 Claude 的内容截断)
v2.5.4 - 修复 dev 模式交互卡死问题
- 修复:
dev命令现在真正进入交互式 Claude Code 会话,解决之前因非交互模式导致的长时间无反馈和卡死问题 - 改进:
ClaudeAI类新增runTerminal方法支持stdio: 'inherit'交互模式
v2.5.5 - 修复交互式会话初始 Prompt 丢失问题
- 修复: 确保启动交互式 Claude 时正确传递初始任务指令,无需用户手动粘贴指令
v2.5.6 - 优化开发者模式启动体验
- 改进: 调整交互式会话参数顺序,确保任务指令在启动时 100% 被加载
- 清理: 移除控制台冗余的 Prompt 打印信息,实现更清爽的界面切换
v2.5.7 - 修复 Claude CLI 可能重复启动的问题
- 修复: 优化内部检查逻辑,使用更轻量的
which进行环境检查,避免因--version检查逻辑导致的潜在多次触发 - 优化: 简化
runTerminal传参逻辑,移除冗余参数,确保单次稳定启动交互式会话
v2.5.8 - Milestone 选择样式优化
- 新增:
team-cli dev选择里程碑时,现在会直观显示已完成、进行中和未开始的状态图标及进度 (如[4/7]) - 改进: 增强了 Spec 文件的解析逻辑,能够更准确地识别已标记为
[x]的任务项
v2.5.9 - Spec 状态同步与动态检测
- 改进:
dev模式列表现在基于 Milestone 实际完成百分比动态显示 Spec 状态(即使文件头部状态未及时手动更新) - 修复: 在通过
dev命令完成任务时,系统现在会自动同步并更新 Spec 文件头部的“状态”标识,确保文档与进度一致
v2.6.0 - 统一状态解析逻辑与多维同步
- 重构: 将核心 Spec 解析逻辑沉淀至
SpecUtils共享工具类,实现全系统逻辑收口 - 改进:
status命令与sync-memory命令现在统一接入动态进度推导引擎,解决状态显示落后的问题 - 优化: 全面统一了各命令中状态图标(✓, ⟳, ◉, ○)的定义,提供一致的视觉交互体验
- 增强:
sync-memory现在能更准确地根据任务勾选情况自动更新AI_MEMORY.md中的完成日期及状态列
v2.6.2 - 增强 Lint 命令稳定性
- 改进:
lint命令改为非阻塞式运行 TypeScript 类型检查。当检测到复杂的环境配置或老旧依赖导致的tsc报错时,系统将输出警告而非判定整体执行失败 - 新增: 为
lint命令增加--no-type-check选项,允许完全跳过类型检查环节,专注于代码规范校验 - 修复: 统一了全系统的 Lint 扫描范围判定,减少了由于目录嵌套导致的误报现象
v2.4.10 - 修复 Claude 返回权限确认而非实际内容问题
- 修复: 添加
--dangerously-skip-permissions参数跳过权限确认 - 问题: v2.4.9 中 Claude CLI 在新目录首次运行时返回权限确认提示而非 spec 内容
v2.4.9 - 修复 Claude 调用卡住问题
- 修复:
claude.ts中使用input选项通过 stdin 传递 prompt - 问题: v2.4.8 将整个 prompt 作为命令行参数传递,导致大型 prompt 处理异常
v2.4.8 - 修复 add-feature 命令 Listr 进度显示和 AI_MEMORY 更新问题
- 修复:
claude.ts中prompt和chat方法使用-p参数以 print 模式运行 - 修复: stdio 从
inherit改为pipe,正确捕获 Claude 输出 - 修复: 添加 5 分钟超时和 10MB buffer 限制
- 影响: 解决了 Listr 任务进度卡在"调用 Claude 生成 spec"的问题
v2.4.7 - 修复 AI_MEMORY 功能清单更新
- 修复:
add-feature.ts中updateAiMemory函数逻辑重写 - 修复: 使用精确的段落定位在"功能清单"表格中插入新行
- 修复: 添加功能名称格式化(
sso_pre_test→Sso Pre Test) - 修复: Shell 脚本
team-cli使用 awk 替代 sed 解决 macOS 兼容性问题
v2.4.4 - 修复 breakdown 命令日志变量未正确插值
- 提交:
c873ea5 - 修复:
breakdown.ts中ctx.selectedFile变量未正确插值 - npm 发布:
[email protected]
v2.4.3 - 修复 breakdown 命令 Listr 任务上下文传递
- 提交:
bed4981 - 修复:
ctx.specs和ctx.selectedFile未赋值问题 - 修复:
ctx.breakdownResult未赋值问题 - 修复:
breakdown.ts任务返回类型不匹配 - npm 发布:
[email protected]
v2.4.2 - 修复 add-feature 命令上下文传递
- 提交:
8cd6c85 - 修复: PRD 模式
ctx.generatedSpec未赋值 - 修复: 简单描述模式
ctx.generatedSpec未赋值 - npm 发布:
[email protected]
v2.4.1 - 修复 breakdown 命令上下文传递
- 提交:
e674879 - 修复:
ctx.breakdownResult未赋值导致文件写入失败 - npm 发布:
[email protected]
v2.4.0 - SSO 模块集成
- 提交:
d17a8be - 新增: SSO 单点登录模块 (
yungu-sso) - 功能: CAS 集成、Token 验证、会话管理、UserContext
- 新增文件:
src/templates/modules/yungu-sso/ - 新增依赖:
org.yungu:login-client - npm 发布:
[email protected]
2026-01-27 - GitLab 版本管理与 Dev 模式增强
Phase 4: GitLab 版本管理
- 提交:
npm_feature分支 - 新增命令:
config,diff - 功能:
- GitLab Access Token 管理(加密存储)
- 模板版本检查和更新
- 版本对比功能(支持 tag/branch)
- 模板版本信息记录到 AI_MEMORY.md
- 新增文件:
src/lib/user-config.ts- 用户配置管理src/lib/gitlab-api.ts- GitLab API 客户端src/commands/config.ts- 配置管理命令src/commands/diff.ts- 版本对比命令
- npm 发布:
[email protected]
Phase 3: Dev 模式增强
- 功能:
- 任务完成后自动更新 spec 文件状态
- 支持单个 todo 或整个 milestone 批量更新
- 交互优化:
- 添加用户指引提示
- 移除超时限制,允许长时间开发
Phase 2: 迭代开发与自动化
Phase 3: API 管理功能
- 提交:
6a69bc5 - 新增命令:
check-api - 功能:
- 自动扫描后端 Controller 生成 API 文档
- 维护 API 定义、版本和变更历史
- API 冲突检测(防止重复定义)
- API 变更检测(基于 Git diff)
- 新增文件:
docs/api-registry.md - 代码量: +360 行
Phase 2: 自动化功能
- 提交:
a06c74f - 新增命令:
sync-memory,detect-deps - 功能:
- AI_MEMORY 自动同步(功能清单、API 列表、数据模型)
- 依赖关系自动检测(API 调用、实体关联、服务引用)
- 自动匹配 spec 文件
- 代码量: +620 行
Phase 1: 迭代开发支持
- 提交:
54685ab - 新增命令:
add-feature,bugfix,hotfix,status - 功能:
- 添加新功能(交互式选择依赖)
- Bugfix 规范化管理
- Hotfix 紧急修复(规范化 commit log)
- 项目状态查看
- 代码量: +724 行
2026-01-26 - 模板仓库与 README
模板仓库配置
- 提交:
95c134a - 变更: 更新后端模板仓库地址
- 新地址:
[email protected]:yungu-app/java-scaffold-template.git
README 文档
- 提交:
f3b70e7 - 新增: 完整的 README.md 文档
- 内容: 功能介绍、使用指南、设计理念
2026-01-23 - 基础设施与初始化
Session Log 优化
- 提交:
1825501 - 修复: 移除 session log 问题
Gradle 支持
- 提交:
5265aca - 新增: Gradle 构建支持
项目初始化
- 提交:
a2ca717 - 初始提交: 项目首次初始化
技术栈
后端
- Java 17 (LTS)
- Spring Boot 3.x
- MyBatis Plus 3.5+
- MySQL 8.0
- Gradle 8.x
前端
- Next.js 14 (App Router)
- TypeScript 5.x
- Tailwind CSS 3.x
- Shadcn/UI
测试与质量
- 后端: JUnit 5, Checkstyle, SpotBugs
- 前端: Jest/Vitest, ESLint
安装
通过 npm 安装(推荐)
# 全局安装
npm install -g yg-team-cli
# 验证安装
team-cli --version方式一:Git 仓库分发
# 克隆仓库
git clone https://gitlab.yungu-inc.org/yungu-app/claude-dev-cli.git
cd claude-dev-cli
# 安装依赖
npm install
# 构建项目
npm run build
# 全局链接
npm link使用指南
1. 初始化项目
创建一个新的标准化项目:
team-cli init my-project指定版本初始化:
# 使用指定 tag 初始化
team-cli init my-project --backend-tag v1.2.0
# 使用指定分支初始化
team-cli init my-project --frontend-branch develop
# 前后端指定不同版本
team-cli init my-project --backend-tag v1.2.0 --frontend-branch develop执行内容:
- 环境检查(Claude Code CLI)
- 交互式输入项目名称
- 创建标准目录结构
- 生成"宪法"文件(TECH_STACK.md, CONVENTIONS.md, AI_MEMORY.md)
- 从模板仓库克隆前后端代码
- 记录模板版本信息到
.team-cli/template.json和 AI_MEMORY.md - 初始化 Git 仓库
- 配置 pre-commit hook
生成的目录结构:
my-project/
├── TECH_STACK.md # 技术栈定义
├── CONVENTIONS.md # 开发规范
├── AI_MEMORY.md # 项目状态记录
├── backend/ # Spring Boot 后端
├── frontend/ # Next.js 前端
├── docs/
│ ├── specs/ # 需求规格文档
│ ├── api/ # API 文档
│ └── sessions/ # AI 会话日志
└── .git/hooks/pre-commit # Git 预提交钩子2. 拆分 PRD
将产品需求文档拆分为多个独立的功能规格:
# 准备 PRD 文档
mkdir -p docs/prd-docs/{screenshots,demo-repo}
# 将 prd.md 放入 docs/prd-docs/
# 执行拆分
team-cli split-prd docs/prd-docsPRD 文档结构:
docs/prd-docs/
├── prd.md # PRD 描述文档(必需)
├── screenshots/ # 功能截图(可选)
└── demo-repo/ # Demo 代码仓库(可选)输出: 在 docs/specs/ 目录生成多个 kebab-case 命名的 markdown 文件。
3. 拆分 Spec
将功能规格拆分为可执行的 milestones 和 todos:
team-cli breakdown docs/specs/user-authentication.md输出的 Milestone 格式:
## 里程碑
### Milestone 1: 数据模型设计
**目标**: 设计用户认证相关的数据库表结构
**状态**: 待开始
**预估**: 1 天
**Todo List**:
- [ ] 设计 User 实体和表结构
- [ ] 定义 Role 和 Permission 枚举
- [ ] 创建 MyBatis Mapper 接口4. 开发功能
选择并执行开发任务:
team-cli dev开发流程:
步骤 1/3 - 选择 spec 文件:
- 自动解析依赖关系
- 拓扑排序推荐开发顺序
- 显示状态图标:
- ✓ 已完成
- ⟳ 进行中
- ◉ 已拆分
- ○ 未开始
步骤 2/3 - 选择 milestone:
- 列出所有 milestones
- 可选择实现整个 spec
步骤 3/3 - 选择 todo:
- 列出选中 milestone 的 todos
- 可选择实现整个 milestone
执行开发任务:
- 构建 prompt 发送给 Claude
- Claude 按照 TDD 方式开发
- API 定义 → 测试 → 后端实现 → 前端集成
- 记录会话日志到
docs/sessions/
5. 代码检查
运行前后端代码质量检查:
team-cli lint检查内容:
前端:
- ESLint 语法检查
- TypeScript 类型检查
后端:
- Checkstyle 代码规范检查
- SpotBugs 潜在 Bug 检查
- Gradle 编译检查
退出码:
0- 检查通过1- 检查失败
6. 查看日志
查看 AI 开发会话历史:
# 查看今日日志
team-cli logs
# 查看指定日期日志
team-cli logs 2026-01-26
# 查看所有日志
team-cli logs --all日志存储位置: docs/sessions/YYYY-MM-DD/HH-MM_SS_<spec-name>.md
日志内容:
- 时间戳
- 执行的 spec 文件
- Milestone/Todo 信息
- 耗时统计
- 用户 Prompt
- 变更文件列表
新增功能使用样例 (2026-01-27)
以下命令是在今天开发迭代中新增的,用于支持项目的持续开发和维护。
7. 添加新功能
在已有项目中添加新功能,自动处理依赖关系:
cd my-project
team-cli add-feature payment-system交互流程:
═══════════════════════════════════════════════════════
添加新功能: payment-system
═══════════════════════════════════════════════════════
▸ 扫描已有功能...
✓ 找到 2 个已有 specs
已有功能列表:
[1] user-authentication ✓
[2] user-profile ✓
➜ 选择此功能依赖的已有功能(已完成的功能):
依赖 user-authentication? (y/n): y
依赖 user-profile? (y/n): y
✓ 选择了 2 个依赖
▸ 创建 spec 文件...
✓ 创建 spec 文件: docs/specs/payment-system.md
▸ 更新 AI_MEMORY.md...
✓ AI_MEMORY.md 已更新
═══════════════════════════════════════════════════════
功能添加完成!
═══════════════════════════════════════════════════════
下一步:
1. 编辑 spec 文件完善需求:
vim docs/specs/payment-system.md
2. 拆分为 milestones 和 todos:
team-cli breakdown docs/specs/payment-system.md
3. 开始开发:
team-cli dev生成的 spec 文件自动包含依赖关系:
## 依赖关系
**前置依赖**:
- [x] user-authentication.md
- [x] user-profile.md
**被依赖于**:
- (自动生成,表示哪些 spec 依赖本功能)8. 创建 Bugfix 记录
为发现的 bug 创建规范的修复记录:
team-cli bugfix交互流程:
═══════════════════════════════════════════════════════
创建 Bugfix 记录
═══════════════════════════════════════════════════════
Bug 描述: 用户登录时特殊字符报错
关联 spec (可选,直接回车跳过): user-authentication
严重程度 (高/中/低,默认: 中): 高
✓ 创建 Bugfix 记录: docs/bugfixes/2026-01-27-login-special-char.md
✓ AI_MEMORY.md 已更新
═══════════════════════════════════════════════════════
Bugfix 记录创建完成!
═══════════════════════════════════════════════════════
下一步:
1. 完善 bugfix 文档:
vim docs/bugfixes/2026-01-27-login-special-char.md
2. 运行开发模式开始修复:
team-cli dev
3. 修复完成后更新 bugfix 状态生成的 Bugfix 文件结构:
# Bugfix: 用户登录时特殊字符报错
## Bug 信息
- **ID**: BUG-20260127-000
- **关联 Spec**: user-authentication
- **严重程度**: 高
- **状态**: 待修复
## 问题描述
用户登录时特殊字符报错
## 复现步骤
1. 输入用户名
2. 输入包含特殊字符的密码
3. 点击登录
## 根本原因
待分析
## 修复方案
- [ ] 分析根本原因
- [ ] 设计修复方案
- [ ] 编写测试用例
- [ ] 实现修复
- [ ] 验证修复9. 紧急修复
对于需要立即修复的线上问题:
team-cli hotfix交互流程:
═══════════════════════════════════════════════════════
创建 Hotfix
═══════════════════════════════════════════════════════
问题描述: 支付接口超时导致订单失败
影响范围: 所有使用支付宝的用户,约20%订单失败
严重程度 (高/中/低,默认: 高): 高
模块 (如: payment, user, order): payment
根本原因: 支付宝SDK超时时间设置过短
临时方案: 增加超时时间到15s
后续计划 (可选): 优化支付流程使用异步回调
▸ 创建 hotfix 分支: hotfix/HOTFIX-20260127-000
✓ 分支创建成功
✓ Commit message 模板已生成
✓ Hotfix 记录已添加到: docs/hotfixes.md
✓ AI_MEMORY.md 已更新
═══════════════════════════════════════════════════════
Hotfix 准备完成!
═══════════════════════════════════════════════════════
当前分支: hotfix/HOTFIX-20260127-000
下一步:
1. 进行代码修复
2. 添加修改的文件:
git add <files>
3. 使用预设的 commit message 提交:
git commit -F .git/HOTFIX_COMMIT_MSG
4. 推送到远程并创建 MR/PR:
git push -u origin hotfix/HOTFIX-20260127-000
5. 合并到 main 分支
提示: Hotfix 合并后,建议创建规范 Bugfix 进行彻底修复生成的 Commit Message 格式:
hotfix(payment): 支付接口超时导致订单失败
HOTFIX-20260127-000
Severity: 高
Impact: 所有使用支付宝的用户,约20%订单失败
Root-Cause: 支付宝SDK超时时间设置过短
Temporary-Solution: 增加超时时间到15s
Permanent-Plan: 优化支付流程使用异步回调10. 查看项目状态
快速查看项目整体状态:
team-cli status输出示例:
═══════════════════════════════════════════════════════
项目状态
═══════════════════════════════════════════════════════
功能清单:
No. 功能 状态 进度
─────────────────────────────────────────────────────────
[01] User Authentication ✅ 已完成 3/3
[02] User Profile ✅ 已完成 3/3
[03] Order Management ⟳ 进行中 2/3
[04] Payment System ○ 未开始 0/3
Bugfix 记录:
共 1 个 bugfix 记录
最新: 2026-01-27-login-special-char (待修复)
Git 状态:
当前分支: hotfix/HOTFIX-20260127-000
工作区: 有未提交的更改
- 未暂存: 2 个文件
- 已暂存: 1 个文件11. 依赖关系自动检测
自动检测代码中的依赖关系:
# 检测单个 spec 的依赖
team-cli detect-deps docs/specs/payment-system.md
# 检测所有 specs 的依赖
team-cli detect-deps输出示例:
═══════════════════════════════════════════════════════
检测依赖关系
═══════════════════════════════════════════════════════
▸ 自动检测依赖关系...
- 扫描后端 API 调用...
- 扫描后端实体关联...
- 扫描后端服务引用...
- 扫描前端 API 调用...
✓ 检测到 2 个潜在依赖:
- user-authentication.md
- order-management.md
是否自动更新依赖关系到 spec 文件? (y/n): y
✓ 依赖关系已更新到 docs/specs/payment-system.md
═══════════════════════════════════════════════════════
依赖检测完成
═══════════════════════════════════════════════════════检测维度:
- 后端 API 调用
- 实体关联(@ManyToOne, @OneToMany 等)
- 服务引用(Service 注入)
- 前端 API 调用(fetch, axios)
15. 同步 AI_MEMORY
自动同步 AI_MEMORY.md,保持项目状态最新:
team-cli sync-memory输出示例:
═══════════════════════════════════════════════════════
同步 AI_MEMORY.md
═══════════════════════════════════════════════════════
▸ 同步 AI_MEMORY.md...
- 扫描 specs 更新功能清单...
- 扫描 Controller 更新 API 列表...
- 扫描 Entity 更新数据模型...
- 同步模板版本信息...
- 更新最后同步时间...
✓ AI_MEMORY.md 已同步同步内容:
- 功能清单(状态、进度、完成日期)
- API 列表(扫描 Controller 生成)
- 数据模型(表名、字段数、关联关系)
- 模板版本信息(前后端模板版本、commit、更新时间)
16. Dev 模式增强
开发任务完成后自动更新 Spec 文件状态:
team-cli dev
# → 选择 spec → milestone → todo
# → 在 Claude 中完成开发
# → 退出 Claude 后自动询问是否更新 spec 文件交互流程:
开发任务完成!
✓ 会话日志已保存
? 任务是否已完成?是否更新 spec 文件中的 todo 状态? (Y/n)选择 Y 后自动:
- 找到对应的 todo 项
- 将
- [ ]改为- [x] - 更新 spec 文件
- 下次运行
team-cli dev时会显示为已完成
17. Worktree Orchestrator - 多角色并行开发
利用 Git Worktree 实现多角色并行开发的编排工具:
# 启动编排器
team-cli dev:wt
# 创建新的并行开发会话
team-cli dev:wt --new --ticket USER-123 --goal "用户登录功能"
# 列出所有 worktree
team-cli dev:wt --list
# 查看会话状态
team-cli dev:wt --status
# 运行指定阶段
team-cli dev:wt --run-phase 1 --ticket USER-123
# 验证交接物
team-cli dev:wt --verify --ticket USER-123架构设计:
project/
├── ../wt/ # Worktree 根目录(与项目同级)
│ └── USER-123/ # TICKET 目录
│ ├── planner/ # Planner worktree
│ ├── architect/ # Architect worktree
│ ├── backend/ # Backend worktree
│ ├── frontend/ # Frontend worktree
│ ├── qa/ # QA worktree
│ └── reviewer/ # Reviewer worktree
└── .handoff/ # 交接物目录
└── USER-123/ # TICKET 交接物
├── planner/ # Planner 产出物
├── architect/ # Architect 产出物
├── backend/ # Backend 产出物
├── frontend/ # Frontend 产出物
├── qa/ # QA 产出物
├── reviewer/ # Reviewer 产出物
├── MANIFEST.json # 交接物清单
└── reports/ # 执行报告六个研发阶段:
| 阶段 | 名称 | 主要角色 | 并行策略 | |------|------|---------|---------| | 1 | 需求与 BDD 设计 | Planner | 独立工作 | | 2 | 架构与契约 | Architect | 独立工作 | | 3 | OpenAPI + Mock | Backend | 独立工作 | | 4 | 并行实现 | Backend + Frontend | 并行开发 | | 5 | BDD 验收 | QA | 独立工作 | | 6 | 集成与发布 | Reviewer | 独立工作 |
交互流程:
═══════════════════════════════════════════════════════
Worktree Orchestrator
═══════════════════════════════════════════════════════
选择操作:
1. 📋 新建并行开发会话
2. 📂 列出所有 Worktree
3. 📊 查看会话状态
4. ▶️ 运行阶段
5. ✅ 验证交接物
6. 🚪 退出新建会话示例:
▸ 输入 TICKET ID (例如 USER-123): USER-123
▸ 输入任务目标: 实现用户登录功能
▸ 选择参与角色:
✓ Planner (需求与 BDD)
✓ Architect (架构)
✓ Backend (后端)
✓ Frontend (前端)
✓ QA (BDD 验收)
✓ Reviewer (审查)
✓ 会话创建成功!
Worktree 目录:
- ../wt/USER-123/planner
- ../wt/USER-123/architect
- ../wt/USER-123/backend
- ../wt/USER-123/frontend
- ../wt/USER-123/qa
- ../wt/USER-123/reviewer
交接物目录:
.handoff/USER-123/
是否立即开始运行 Phase 1? (y/N)Gate 门禁检查:
═══════════════════════════════════════════════════════
🚪 Gate 1 检查: 需求与 BDD 设计
═══════════════════════════════════════════════════════
✓ 前置阶段已全部完成
📋 Gate 检查清单:
[ ] SPEC.md 包含目标/非目标/范围
[ ] TASKS.md 任务拆分到可独立合并
[ ] BDD 场景 Given/When/Then 完整
[ ] 验收标准与 BDD 场景一一对应
────────────────────────────────────────────────────────
是否确认通过此 Gate? (y/N):交接物清单:
| 角色 | 文件 | 类型 | 说明 | |------|------|------|------| | Planner | SPEC.md | spec | 功能规格文档 | | Planner | TASKS.md | tasks | 任务拆分 | | Planner | BDD_FEATURES/.feature | feature | BDD 场景 | | Architect | ADR.md | adr | 架构决策记录 | | Architect | API_RULES.md | api | API 设计规则 | | Backend | API_OPENAPI.yaml | openapi | OpenAPI 规范 | | Backend | API_EXAMPLES.md | api | API 示例 | | Backend | TESTING_.md | testing | 测试报告 | | QA | BDD_REPORT.md | report | BDD 验收报告 | | Reviewer | REVIEW.md | review | 审查报告 | | Reviewer | RELEASE.md | release | 发布方案 | | Reviewer | ROLLBACK.md | rollback | 回滚方案 |
环境变量配置
13. API 检查
检查 API 的冲突和变更:
team-cli check-api交互式菜单:
═══════════════════════════════════════════════════════
API 检查
═══════════════════════════════════════════════════════
选择检查类型:
1) 检测 API 冲突
2) 检测 API 变更
3) 生成 API Registry
4) 全部执行
请选择 (1-4): 1选项 1: 检测 API 冲突
▸ 检测 API 冲突...
✓ 未检测到 API 冲突选项 2: 检测 API 变更
▸ 检测 API 变更...
✓ 检测到 API 变更:
- PaymentController.java
新增: 2 个 API
删除: 0 个 API
是否更新 API Registry? (y/n): y
✓ API Registry 已生成: docs/api-registry.md选项 3: 生成 API Registry
▸ 扫描并生成 API Registry...
✓ API Registry 已生成: docs/api-registry.md生成的 API Registry 格式:
# API Registry
## Payment 模块
### POST /api/payment/create
**版本**: v1.0
**说明**: 创建支付订单
**请求**:
```json
{
"orderId": "string",
"amount": 0
}变更历史: | 日期 | 版本 | 变更类型 | 变更说明 | 作者 | |------|------|---------|---------|------| | 2026-01-27 | v1.0 | 新增 | 初始版本 | team-cli |
### 14. GitLab 版本管理
管理 GitLab 模板版本配置和更新:
```bash
# 配置 GitLab Token(首次使用必须)
team-cli config set-token
# 显示当前配置
team-cli config show
# 验证 Token
team-cli config validate更新模板到最新版本:
# 检查并更新到最新版本
team-cli update
# 只更新后端模板
team-cli update --backend
# 更新到指定 tag
team-cli update --backend --tag v1.3.0
# 预览更新(不实际执行)
team-cli update --backend --tag v1.3.0 --dry-run版本对比:
# 对比所有模板
team-cli diff
# 只对比后端模板
team-cli diff --backend
# 对比指定版本
team-cli diff --backend --tag v1.3.0
# 以 diff 格式输出
team-cli diff --backend --output diff输出示例:
═══════════════════════════════════════════════════════
模板版本对比
═══════════════════════════════════════════════════════
▸ 后端模板:
本地版本: v1.2.0 (abc123)
远程版本: v1.3.0 (def456)
状态: ⚠️ 有更新
新增提交 (2):
✓ abc123 添加用户导出功能
✓ def456 修复分页查询 bug环境变量配置
后端规范
分层架构:
Controller → Service → Mapper → EntityDTO 模式:
- 所有 API 使用 DTO,禁止暴露 Entity
- Request DTO:
CreateXxxRequest - Response DTO:
XxxResponse
命名规范:
- Entity:
User,Order - DTO:
UserDTO,CreateUserRequest,UserResponse - Service:
UserService,UserServiceImpl - Mapper:
UserMapper
前端规范
- 函数式组件 + Hooks
- PascalCase 命名组件文件
- camelCase 命名工具文件
- 所有 props/state 必须有类型
开发流程
- TDD 优先 - 先写测试
- API First - 先定义 API 契约
- 小步提交 - 每个 commit 只做一件事
Git 提交规范
<type>(<scope>): <subject>
feat: 新功能
fix: 修复
docs: 文档
style: 格式
refactor: 重构
test: 测试
chore: 构建/工具完整工作流程
# 1. 初始化项目
team-cli init my-project
cd my-project
# 2. 准备并拆分 PRD
# 将 PRD 文档放入 docs/prd-docs/
team-cli split-prd docs/prd-docs
# 3. 拆分功能规格
team-cli breakdown docs/specs/feature-name.md
# 4. 开发功能
team-cli dev
# → 选择 spec → milestone → todo
# 5. 代码检查
team-cli lint
# 6. 查看开发日志
team-cli logs核心特性
1. 依赖关系管理
- 自动解析 spec 之间的依赖关系
- 拓扑排序确定推荐开发顺序
- 防止循环依赖
- 视觉化显示依赖信息
2. 状态管理
每个 spec 维护状态:
- 未开始 → 已拆分 → 进行中 → 已完成
3. 模板降级机制
网络不可达时自动降级:
- 尝试远程 Git 仓库(超时检测)
- 降级到本地模板路径
- 创建最小化目录结构
4. Git 集成
- 自动初始化 Git 仓库
- pre-commit hook 自动运行 lint
- 记录文件变更历史
5. 彩色输出
使用 ANSI 颜色代码:
- 绿色 - 成功信息
- 黄色 - 进行中/警告
- 红色 - 错误信息
- 蓝色 - 标题
- 青色 - 步骤提示
设计理念
核心思想
团队-cli 的设计理念是"标准化 + 自动化 + 可追溯",通过三个维度解决团队研发中的协作效率问题:
1. 标准化(Standardization)
问题: 团队成员技术栈选择、代码风格、项目结构不统一,导致协作成本高。
解决方案:
- 宪法文件: TECH_STACK.md 定义技术栈,CONVENTIONS.md 定义开发规范
- 脚手架模板: 统一的前后端项目结构,开箱即用
- 代码规范: 集成 Checkstyle、ESLint 等工具,强制执行规范
- Git Hook: pre-commit 自动检查,防止不符合规范的代码提交
2. 自动化(Automation)
问题: 重复性的初始化工作、代码生成工作浪费开发时间。
解决方案:
- 一键初始化:
team-cli init自动生成完整项目结构 - AI 辅助开发: 集成 Claude Code,自动生成增删改查代码
- 智能拆分: 自动将 PRD 拆分为 specs,再拆分为 milestones 和 todos
- 依赖分析: 自动解析 spec 依赖关系,推荐开发顺序
3. 可追溯(Traceability)
问题: 需求变更频繁,开发过程缺乏记录,难以回溯决策原因。
解决方案:
- AI_MEMORY.md: 记录项目状态、技术决策、已完成功能
- 会话日志: 每次 AI 开发对话都记录到
docs/sessions/ - Git 历史: 结合 Git commit,可追溯每个功能的实现时间
- Spec 模板: 标准化的需求文档格式,便于查阅
设计原则
- 约定优于配置 - 硬编码最佳实践,减少选择困难
- 渐进式开发 - 支持 PRD → Spec → Milestone → Todo 的渐进式拆解
- 失败友好 - 模板降级机制,网络不可达时仍可工作
- AI-Native - 深度集成 Claude Code,最大化 AI 辅助能力
- 单文件分发 - 所有逻辑封装在一个 Shell 脚本,方便分发
技术决策
| 决策点 | 选择 | 理由 | |-------|------|------| | 实现语言 | Shell 脚本 | 单文件分发,无依赖,适合 Mac/Linux | | 构建工具 | Gradle | 比 Maven 更灵活,配置更简洁 | | 前端框架 | Next.js 14 (App Router) | React 最新特性,服务端渲染 | | ORM | MyBatis Plus | 比 JPA 更灵活,SQL 可控 | | AI 集成 | Claude Code | Anthropic 官方 CLI,支持代码操作 |
项目状态
当前版本基于以下 Git 提交:
614c10d- 添加 Docker 支持1825501- 移除 session log 问题5265aca- 更新到 Gradlea2ca717- 首次初始化
贡献指南
欢迎提交 Issue 和 Pull Request!
许可证
MIT License
