create-vibe-workflow 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +248 -57
- package/dist/adapters/next-only/skills.recommend.json +1 -0
- package/dist/adapters/node-api/skills.recommend.json +1 -0
- package/dist/cli.js +163 -5
- package/dist/cli.js.map +1 -1
- package/dist/generator.d.ts.map +1 -1
- package/dist/generator.js +255 -44
- package/dist/generator.js.map +1 -1
- package/dist/questions.d.ts +11 -1
- package/dist/questions.d.ts.map +1 -1
- package/dist/questions.js +103 -16
- package/dist/questions.js.map +1 -1
- package/dist/templates/claude-md/CLAUDE.zh-CN.md +51 -46
- package/dist/templates/claude-md/next-only/CLAUDE.zh-CN.md +46 -0
- package/dist/templates/claude-md/node-api/CLAUDE.zh-CN.md +47 -0
- package/dist/templates/commands/gstack/cso.md.ejs +213 -0
- package/dist/templates/commands/gstack/office-hours.md.ejs +109 -0
- package/dist/templates/commands/gstack/review.md.ejs +192 -0
- package/dist/templates/commands/gstack/ship.md.ejs +256 -0
- package/dist/templates/commands/opsx/apply.md.ejs +106 -0
- package/dist/templates/commands/opsx/archive.md.ejs +88 -0
- package/dist/templates/commands/opsx/explore.md.ejs +84 -0
- package/dist/templates/commands/opsx/propose.md.ejs +185 -0
- package/dist/templates/commands/superpowers/brainstorm.md.ejs +240 -0
- package/dist/templates/commands/superpowers/tdd.md.ejs +230 -0
- package/dist/templates/commands/superpowers/verify.md.ejs +211 -0
- package/dist/templates/commands/workflow/plan.md.ejs +219 -0
- package/dist/templates/hooks/check-deps.mjs +66 -65
- package/dist/templates/memory/.gitkeep +0 -0
- package/dist/templates/memory/MEMORY.md.ejs +88 -0
- package/dist/templates/memory/dev-notes.md.ejs +61 -0
- package/dist/templates/memory/troubleshooting.md.ejs +30 -0
- package/dist/templates/rules/agents.md +49 -49
- package/dist/templates/rules/coding-style.md +156 -117
- package/dist/templates/rules/development-workflow.md +103 -50
- package/dist/templates/rules/git-workflow.md +103 -47
- package/dist/templates/rules/hooks.md +159 -0
- package/dist/templates/rules/hooks.md.ejs +159 -0
- package/dist/templates/rules/memory.md +106 -0
- package/dist/templates/rules/memory.md.ejs +106 -0
- package/dist/templates/rules/patterns.md +117 -48
- package/dist/templates/rules/performance.md +108 -0
- package/dist/templates/rules/performance.md.ejs +108 -0
- package/dist/templates/rules/security.md +52 -37
- package/dist/templates/rules/testing.md +83 -30
- package/dist/templates/settings/settings.template.json +18 -2
- package/dist/templates/skills/advanced/caveman/SKILL.md.ejs +144 -0
- package/dist/templates/skills/advanced/diagnose/SKILL.md.ejs +159 -0
- package/dist/templates/skills/advanced/grill-with-docs/SKILL.md.ejs +154 -0
- package/dist/templates/skills/advanced/improve-codebase-architecture/SKILL.md.ejs +172 -0
- package/dist/templates/skills/backend/backend-patterns/SKILL.md.ejs +263 -0
- package/dist/templates/skills/database/database-migrations/SKILL.md.ejs +202 -0
- package/dist/templates/skills/database/postgres-patterns/SKILL.md.ejs +235 -0
- package/dist/templates/skills/devops/deployment-patterns/SKILL.md.ejs +228 -0
- package/dist/templates/skills/devops/docker-patterns/SKILL.md.ejs +215 -0
- package/dist/templates/skills/frontend/frontend-patterns/SKILL.md.ejs +195 -0
- package/dist/templates/skills/skill-manifest.json +59 -0
- package/dist/templates/skills/skills-lock.template.json +12 -0
- package/dist/templates/skills/testing/e2e-testing/SKILL.md.ejs +224 -0
- package/dist/templates/skills/workflow/coding-standards/SKILL.md.ejs +143 -0
- package/dist/templates/skills/workflow/search-first/SKILL.md.ejs +103 -0
- package/dist/templates/skills/workflow/security-review/SKILL.md.ejs +146 -0
- package/dist/templates/skills/workflow/strategic-compact/SKILL.md.ejs +108 -0
- package/dist/templates/skills/workflow/tdd-workflow/SKILL.md.ejs +104 -0
- package/dist/templates/skills/workflow/verification-loop/SKILL.md.ejs +144 -0
- package/dist/utils.d.ts +40 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +110 -0
- package/dist/utils.js.map +1 -0
- package/package.json +2 -2
- package/templates/claude-md/CLAUDE.zh-CN.md +51 -46
- package/templates/claude-md/next-only/CLAUDE.zh-CN.md +46 -0
- package/templates/claude-md/node-api/CLAUDE.zh-CN.md +47 -0
- package/templates/commands/gstack/cso.md.ejs +213 -0
- package/templates/commands/gstack/office-hours.md.ejs +109 -0
- package/templates/commands/gstack/review.md.ejs +192 -0
- package/templates/commands/gstack/ship.md.ejs +256 -0
- package/templates/commands/opsx/apply.md.ejs +106 -0
- package/templates/commands/opsx/archive.md.ejs +88 -0
- package/templates/commands/opsx/explore.md.ejs +84 -0
- package/templates/commands/opsx/propose.md.ejs +185 -0
- package/templates/commands/superpowers/brainstorm.md.ejs +240 -0
- package/templates/commands/superpowers/tdd.md.ejs +230 -0
- package/templates/commands/superpowers/verify.md.ejs +211 -0
- package/templates/commands/workflow/plan.md.ejs +219 -0
- package/templates/hooks/check-deps.mjs +66 -65
- package/templates/memory/.gitkeep +0 -0
- package/templates/memory/MEMORY.md.ejs +88 -0
- package/templates/memory/dev-notes.md.ejs +61 -0
- package/templates/memory/troubleshooting.md.ejs +30 -0
- package/templates/rules/agents.md +49 -49
- package/templates/rules/coding-style.md +156 -117
- package/templates/rules/development-workflow.md +103 -50
- package/templates/rules/git-workflow.md +103 -47
- package/templates/rules/hooks.md +159 -0
- package/templates/rules/memory.md +106 -0
- package/templates/rules/patterns.md +117 -48
- package/templates/rules/performance.md +108 -0
- package/templates/rules/security.md +52 -37
- package/templates/rules/testing.md +83 -30
- package/templates/settings/settings.template.json +18 -2
- package/templates/skills/advanced/caveman/SKILL.md.ejs +144 -0
- package/templates/skills/advanced/diagnose/SKILL.md.ejs +159 -0
- package/templates/skills/advanced/grill-with-docs/SKILL.md.ejs +154 -0
- package/templates/skills/advanced/improve-codebase-architecture/SKILL.md.ejs +172 -0
- package/templates/skills/backend/backend-patterns/SKILL.md.ejs +263 -0
- package/templates/skills/database/database-migrations/SKILL.md.ejs +202 -0
- package/templates/skills/database/postgres-patterns/SKILL.md.ejs +235 -0
- package/templates/skills/devops/deployment-patterns/SKILL.md.ejs +228 -0
- package/templates/skills/devops/docker-patterns/SKILL.md.ejs +215 -0
- package/templates/skills/frontend/frontend-patterns/SKILL.md.ejs +195 -0
- package/templates/skills/skill-manifest.json +59 -0
- package/templates/skills/skills-lock.template.json +12 -0
- package/templates/skills/testing/e2e-testing/SKILL.md.ejs +224 -0
- package/templates/skills/workflow/coding-standards/SKILL.md.ejs +143 -0
- package/templates/skills/workflow/search-first/SKILL.md.ejs +103 -0
- package/templates/skills/workflow/security-review/SKILL.md.ejs +146 -0
- package/templates/skills/workflow/strategic-compact/SKILL.md.ejs +108 -0
- package/templates/skills/workflow/tdd-workflow/SKILL.md.ejs +104 -0
- package/templates/skills/workflow/verification-loop/SKILL.md.ejs +144 -0
|
@@ -1,65 +1,66 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
// 依赖检测 — Claude Code PreToolUse hook
|
|
4
|
-
// 检查外部依赖组件是否已安装,缺失时打印中文安装指引
|
|
5
|
-
|
|
6
|
-
import { existsSync } from 'node:fs';
|
|
7
|
-
import { homedir } from 'node:os';
|
|
8
|
-
import { join } from 'node:path';
|
|
9
|
-
|
|
10
|
-
const homeDir = homedir();
|
|
11
|
-
const skillsDir = join(homeDir, '.claude', 'skills');
|
|
12
|
-
|
|
13
|
-
const REQUIRED = [
|
|
14
|
-
{ name: 'gstack', dir: 'gstack', install: '
|
|
15
|
-
{ name: 'superpowers', dir: 'superpowers', install: 'https://github.com/
|
|
16
|
-
];
|
|
17
|
-
|
|
18
|
-
const OPTIONAL = [
|
|
19
|
-
{ name: 'openspec', dir: 'openspec', install: '
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
console.log('
|
|
43
|
-
console.log('
|
|
44
|
-
console.log('
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
console.log('
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
console.log('
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
console.log('
|
|
64
|
-
console.log('
|
|
65
|
-
console.log('');
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
// 依赖检测 — Claude Code PreToolUse hook
|
|
4
|
+
// 检查外部依赖组件是否已安装,缺失时打印中文安装指引
|
|
5
|
+
|
|
6
|
+
import { existsSync } from 'node:fs';
|
|
7
|
+
import { homedir } from 'node:os';
|
|
8
|
+
import { join } from 'node:path';
|
|
9
|
+
|
|
10
|
+
const homeDir = homedir();
|
|
11
|
+
const skillsDir = join(homeDir, '.claude', 'skills');
|
|
12
|
+
|
|
13
|
+
const REQUIRED = [
|
|
14
|
+
{ name: 'gstack', dir: 'gstack', install: 'https://github.com/garrytan/gstack' },
|
|
15
|
+
{ name: 'superpowers', dir: 'superpowers', install: 'https://github.com/obra/superpowers' },
|
|
16
|
+
];
|
|
17
|
+
|
|
18
|
+
const OPTIONAL = [
|
|
19
|
+
{ name: 'openspec', dir: 'openspec', install: 'https://github.com/Fission-AI/OpenSpec' },
|
|
20
|
+
{ name: 'everything-claude-code', dir: 'everything-claude-code', install: 'https://github.com/affaan-m/everything-claude-code' },
|
|
21
|
+
];
|
|
22
|
+
|
|
23
|
+
const missing = [];
|
|
24
|
+
const missingOptional = [];
|
|
25
|
+
|
|
26
|
+
for (const dep of REQUIRED) {
|
|
27
|
+
if (!existsSync(join(skillsDir, dep.dir))) {
|
|
28
|
+
missing.push(dep);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
for (const dep of OPTIONAL) {
|
|
33
|
+
if (!existsSync(join(skillsDir, dep.dir))) {
|
|
34
|
+
missingOptional.push(dep);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
if (missing.length === 0 && missingOptional.length === 0) {
|
|
39
|
+
process.exit(0);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
console.log('');
|
|
43
|
+
console.log('══════════════════════════════════════════');
|
|
44
|
+
console.log(' ⚠️ 工作流依赖检查');
|
|
45
|
+
console.log('══════════════════════════════════════════');
|
|
46
|
+
|
|
47
|
+
if (missing.length > 0) {
|
|
48
|
+
console.log('');
|
|
49
|
+
console.log('❌ 缺少必要组件(工作流核心功能将不可用):');
|
|
50
|
+
for (const dep of missing) {
|
|
51
|
+
console.log(` • ${dep.name} — 安装: ${dep.install}`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
if (missingOptional.length > 0) {
|
|
56
|
+
console.log('');
|
|
57
|
+
console.log('⚠️ 缺少可选组件(部分高级功能不可用):');
|
|
58
|
+
for (const dep of missingOptional) {
|
|
59
|
+
console.log(` • ${dep.name} — 安装: ${dep.install}`);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
console.log('');
|
|
64
|
+
console.log('安装后可重启 Claude Code 以启用完整工作流。');
|
|
65
|
+
console.log('══════════════════════════════════════════');
|
|
66
|
+
console.log('');
|
|
File without changes
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
============================================================
|
|
3
|
+
项目记忆索引文件
|
|
4
|
+
============================================================
|
|
5
|
+
这是索引文件,不是记忆本身。每行指向一条记忆文件。
|
|
6
|
+
AI 会在每次对话开始时读取此文件,快速了解项目状态。
|
|
7
|
+
新增记忆后,记得在这里加一行索引。
|
|
8
|
+
|
|
9
|
+
格式:
|
|
10
|
+
- [Title](file.md) — 一句话钩子(让 AI 快速判断是否需要读这篇)
|
|
11
|
+
|
|
12
|
+
更新规则:
|
|
13
|
+
- 新增记忆后立即更新此文件
|
|
14
|
+
- 记忆已过期?保留索引但标注 (archived)
|
|
15
|
+
- 不要删除索引,保留历史轨迹
|
|
16
|
+
============================================================
|
|
17
|
+
-->
|
|
18
|
+
|
|
19
|
+
# 记忆索引
|
|
20
|
+
|
|
21
|
+
> 最后更新:<%= GENERATED_AT.split('T')[0] %>
|
|
22
|
+
> 总记忆数:N 条(其中活跃 M 条,已归档 K 条)
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 👤 用户 & 团队
|
|
27
|
+
|
|
28
|
+
<!-- 格式示例(使用时取消注释并替换):
|
|
29
|
+
### 当前成员
|
|
30
|
+
- [team-member.md](team-member.md) — 团队角色和分工
|
|
31
|
+
|
|
32
|
+
### 用户偏好
|
|
33
|
+
- [preferences.md](preferences.md) — 编码风格偏好、命名习惯、常用工具
|
|
34
|
+
-->
|
|
35
|
+
|
|
36
|
+
_暂无记录_
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## 💬 反馈 & 经验
|
|
41
|
+
|
|
42
|
+
<!-- 格式示例(使用时取消注释并替换):
|
|
43
|
+
### 用户反馈
|
|
44
|
+
- [feedback-2025-06-01.md](feedback-2025-06-01.md) — 用户对列表页性能不满意,希望优化加载速度
|
|
45
|
+
|
|
46
|
+
### 经验教训
|
|
47
|
+
- [lessons-auth.md](lessons-auth.md) — 认证模块踩坑记录:refresh token 轮换策略选型
|
|
48
|
+
-->
|
|
49
|
+
|
|
50
|
+
_暂无记录_
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## 📋 项目状态
|
|
55
|
+
|
|
56
|
+
<!-- 格式示例(使用时取消注释并替换):
|
|
57
|
+
### 里程碑
|
|
58
|
+
- [milestone-v1.md](milestone-v1.md) — v1.0 发布: 2025-05-15,核心功能完成
|
|
59
|
+
|
|
60
|
+
### 活跃模块
|
|
61
|
+
- [module-auth.md](module-auth.md) — 认证模块:JWT + OAuth2,已稳定运行
|
|
62
|
+
- [module-order.md](module-order.md) — 订单模块:开发中,预计下周完成
|
|
63
|
+
|
|
64
|
+
### TODOs
|
|
65
|
+
- [todo-refactor.md](todo-refactor.md) — 计划重构支付模块,拆分过大的 PaymentService
|
|
66
|
+
|
|
67
|
+
### 技术债务
|
|
68
|
+
- [tech-debt.md](tech-debt.md) — 当前已知的技术债务清单
|
|
69
|
+
-->
|
|
70
|
+
|
|
71
|
+
_暂无记录_
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## 📚 参考 & 外部
|
|
76
|
+
|
|
77
|
+
<!-- 格式示例(使用时取消注释并替换):
|
|
78
|
+
### 技术参考
|
|
79
|
+
- [architecture-decisions.md](architecture-decisions.md) — 关键架构决策记录(ADR)
|
|
80
|
+
|
|
81
|
+
### 外部资源
|
|
82
|
+
- [external-apis.md](external-apis.md) — 集成的外部服务 API 文档和凭据指引
|
|
83
|
+
|
|
84
|
+
### 术语表
|
|
85
|
+
- [glossary.md](glossary.md) — 项目专用术语和缩写解释
|
|
86
|
+
-->
|
|
87
|
+
|
|
88
|
+
_暂无记录_
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
============================================================
|
|
3
|
+
开发笔记
|
|
4
|
+
============================================================
|
|
5
|
+
目的:记录项目开发过程中发现的模式、踩坑记录、好用做法。
|
|
6
|
+
这些是经验性的东西,不是正式文档,但非常有用。
|
|
7
|
+
|
|
8
|
+
说明:
|
|
9
|
+
- 每条记录以日期开头:YYYY-MM-DD 内容描述
|
|
10
|
+
- 按时间倒序排列(最新的在最上面)
|
|
11
|
+
- 保持简洁,每条 1-5 行
|
|
12
|
+
- 如果某条经验后来被证伪,不要删除,追加说明 (deprecated)
|
|
13
|
+
============================================================
|
|
14
|
+
-->
|
|
15
|
+
|
|
16
|
+
# 开发笔记
|
|
17
|
+
|
|
18
|
+
> 项目:<%= PROJECT_NAME %>
|
|
19
|
+
> 最后更新:<%= GENERATED_AT.split('T')[0] %>
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## 模式发现
|
|
24
|
+
|
|
25
|
+
<!-- 记录项目中发现的重复模式和约定 -->
|
|
26
|
+
|
|
27
|
+
<!-- 示例:
|
|
28
|
+
### 2025-06-01 Service 层统一返回 Result 对象
|
|
29
|
+
所有 Service 方法都返回 { success, data, error } 结构,Controller 层不再 try-catch。
|
|
30
|
+
这样可以统一错误处理,前端也方便判断。
|
|
31
|
+
-->
|
|
32
|
+
|
|
33
|
+
_暂无记录_
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## 踩坑记录
|
|
38
|
+
|
|
39
|
+
<!-- 记录解决过的坑,避免重复踩 -->
|
|
40
|
+
|
|
41
|
+
<!-- 示例:
|
|
42
|
+
### 2025-06-01 Drizzle 迁移文件命名冲突
|
|
43
|
+
同时运行两个迁移时,由于文件名按时间戳排序,可能导致外键引用顺序错误。
|
|
44
|
+
解决:手动指定迁移顺序,在文件名前加序号前缀如 001_、002_。
|
|
45
|
+
-->
|
|
46
|
+
|
|
47
|
+
_暂无记录_
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## 好用做法
|
|
52
|
+
|
|
53
|
+
<!-- 记录团队发现的高效做法 -->
|
|
54
|
+
|
|
55
|
+
<!-- 示例:
|
|
56
|
+
### 2025-06-01 使用 Zod 推断类型代替手写接口
|
|
57
|
+
先在 schema.ts 定义 Zod schema,再用 z.infer 推断类型。
|
|
58
|
+
这样 schema 和类型永远一致,不需要手动同步。
|
|
59
|
+
-->
|
|
60
|
+
|
|
61
|
+
_暂无记录_
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
============================================================
|
|
3
|
+
排错日志
|
|
4
|
+
============================================================
|
|
5
|
+
目的:记录开发中遇到的错误、根因和解决方案。
|
|
6
|
+
每次遇到报错并解决后,在这里追加一条记录。
|
|
7
|
+
|
|
8
|
+
说明:
|
|
9
|
+
- 每条记录一行表格式,使用 | 分隔
|
|
10
|
+
- 按日期倒序排列(最新的在最上面)
|
|
11
|
+
- 根因要写到具体的技术原因,不要只写"配置错了"
|
|
12
|
+
- 如果同一个问题反复出现,说明根因没找对
|
|
13
|
+
============================================================
|
|
14
|
+
-->
|
|
15
|
+
|
|
16
|
+
# 排错日志
|
|
17
|
+
|
|
18
|
+
> 项目:<%= PROJECT_NAME %>
|
|
19
|
+
> 最后更新:<%= GENERATED_AT.split('T')[0] %>
|
|
20
|
+
|
|
21
|
+
| 日期 | 现象 | 根因 | 解决 |
|
|
22
|
+
|------|------|------|------|
|
|
23
|
+
<!--
|
|
24
|
+
| 2025-06-01 | `Cannot find module` 构建报错 | tsconfig.json 中 paths 配置与 ts-node 的路径解析不一致 | 在 tsconfig.json 中配置 `tsconfig-paths` 插件,并安装 `tsconfig-paths` 依赖 |
|
|
25
|
+
| 2025-06-02 | 列表页首次加载白屏 3 秒 | 服务端渲染时未使用流式渲染,所有数据加载完才返回 | 改用 `React.lazy` + `Suspense` 实现流式加载 |
|
|
26
|
+
|
|
27
|
+
注意:日期列使用 YYYY-MM-DD 格式,按日期倒序排列。
|
|
28
|
+
-->
|
|
29
|
+
|
|
30
|
+
_暂无记录_
|
|
@@ -1,49 +1,49 @@
|
|
|
1
|
-
# Agent Orchestration
|
|
2
|
-
|
|
3
|
-
##
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
| Agent |
|
|
8
|
-
|
|
9
|
-
| planner |
|
|
10
|
-
| architect |
|
|
11
|
-
| tdd-guide |
|
|
12
|
-
| code-reviewer |
|
|
13
|
-
| security-reviewer |
|
|
14
|
-
| build-error-resolver |
|
|
15
|
-
| e2e-runner | E2E
|
|
16
|
-
| refactor-cleaner |
|
|
17
|
-
| doc-updater |
|
|
18
|
-
|
|
19
|
-
##
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
1.
|
|
23
|
-
2.
|
|
24
|
-
3. Bug
|
|
25
|
-
4.
|
|
26
|
-
|
|
27
|
-
##
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
```markdown
|
|
32
|
-
#
|
|
33
|
-
|
|
34
|
-
1. Agent 1:
|
|
35
|
-
2. Agent 2:
|
|
36
|
-
3. Agent 3:
|
|
37
|
-
|
|
38
|
-
#
|
|
39
|
-
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
##
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
- Factual reviewer
|
|
46
|
-
- Senior engineer
|
|
47
|
-
- Security expert
|
|
48
|
-
- Consistency reviewer
|
|
49
|
-
- Redundancy checker
|
|
1
|
+
# Agent 编排(Agent Orchestration)
|
|
2
|
+
|
|
3
|
+
## 可用 Agent
|
|
4
|
+
|
|
5
|
+
位于 `~/.claude/agents/`:
|
|
6
|
+
|
|
7
|
+
| Agent | 用途 | 使用场景 |
|
|
8
|
+
|-------|------|----------|
|
|
9
|
+
| planner | 实现计划制定 | 复杂功能、重构方案 |
|
|
10
|
+
| architect | 系统设计 | 架构决策、技术选型 |
|
|
11
|
+
| tdd-guide | 测试驱动开发指导 | 新功能、Bug 修复 |
|
|
12
|
+
| code-reviewer | 代码审查 | 写完代码后执行 |
|
|
13
|
+
| security-reviewer | 安全分析 | 提交前检查 |
|
|
14
|
+
| build-error-resolver | 构建错误修复 | 编译/构建失败时 |
|
|
15
|
+
| e2e-runner | E2E 测试 | 关键用户流程验证 |
|
|
16
|
+
| refactor-cleaner | 死代码清理 | 代码维护、优化 |
|
|
17
|
+
| doc-updater | 文档更新 | 同步文档变更 |
|
|
18
|
+
|
|
19
|
+
## 即时使用规则
|
|
20
|
+
|
|
21
|
+
无需用户额外提示,以下场景自动触发:
|
|
22
|
+
1. **复杂功能请求** → 使用 **planner** agent
|
|
23
|
+
2. **代码刚写完/修改后** → 使用 **code-reviewer** agent
|
|
24
|
+
3. **Bug 修复或新功能** → 使用 **tdd-guide** agent
|
|
25
|
+
4. **架构决策** → 使用 **architect** agent
|
|
26
|
+
|
|
27
|
+
## 并行任务执行
|
|
28
|
+
|
|
29
|
+
**始终**对独立操作使用并行 Task 执行:
|
|
30
|
+
|
|
31
|
+
```markdown
|
|
32
|
+
# ✅ 推荐:并行执行
|
|
33
|
+
同时启动 3 个 agent:
|
|
34
|
+
1. Agent 1: 安全审查(auth 模块)
|
|
35
|
+
2. Agent 2: 性能审查(缓存系统)
|
|
36
|
+
3. Agent 3: 类型检查(工具函数)
|
|
37
|
+
|
|
38
|
+
# ❌ 不推荐:不必要的串行
|
|
39
|
+
先等 agent 1,再 agent 2,再 agent 3
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## 多视角分析
|
|
43
|
+
|
|
44
|
+
对于复杂问题,使用分角色子 agent:
|
|
45
|
+
- 事实核查者(Factual reviewer)
|
|
46
|
+
- 高级工程师(Senior engineer)
|
|
47
|
+
- 安全专家(Security expert)
|
|
48
|
+
- 一致性检查员(Consistency reviewer)
|
|
49
|
+
- 冗余检测器(Redundancy checker)
|