ethan-skill 1.6.0 → 1.8.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.
Files changed (87) hide show
  1. package/README.md +83 -24
  2. package/dist/cli/index.js +21 -21
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/loader/custom-pipeline-loader.d.ts +15 -0
  5. package/dist/loader/custom-pipeline-loader.d.ts.map +1 -0
  6. package/dist/loader/custom-pipeline-loader.js +131 -0
  7. package/dist/loader/custom-pipeline-loader.js.map +1 -0
  8. package/dist/skills/11-api-design.d.ts +3 -0
  9. package/dist/skills/11-api-design.d.ts.map +1 -0
  10. package/dist/skills/11-api-design.js +214 -0
  11. package/dist/skills/11-api-design.js.map +1 -0
  12. package/dist/skills/12-security-review.d.ts +3 -0
  13. package/dist/skills/12-security-review.d.ts.map +1 -0
  14. package/dist/skills/12-security-review.js +194 -0
  15. package/dist/skills/12-security-review.js.map +1 -0
  16. package/dist/skills/13-deployment.d.ts +3 -0
  17. package/dist/skills/13-deployment.d.ts.map +1 -0
  18. package/dist/skills/13-deployment.js +189 -0
  19. package/dist/skills/13-deployment.js.map +1 -0
  20. package/dist/skills/14-prd.d.ts +3 -0
  21. package/dist/skills/14-prd.d.ts.map +1 -0
  22. package/dist/skills/14-prd.js +214 -0
  23. package/dist/skills/14-prd.js.map +1 -0
  24. package/dist/skills/15-git-workflow.d.ts +3 -0
  25. package/dist/skills/15-git-workflow.d.ts.map +1 -0
  26. package/dist/skills/15-git-workflow.js +288 -0
  27. package/dist/skills/15-git-workflow.js.map +1 -0
  28. package/dist/skills/16-unit-testing.d.ts +3 -0
  29. package/dist/skills/16-unit-testing.d.ts.map +1 -0
  30. package/dist/skills/16-unit-testing.js +298 -0
  31. package/dist/skills/16-unit-testing.js.map +1 -0
  32. package/dist/skills/17-system-design.d.ts +3 -0
  33. package/dist/skills/17-system-design.d.ts.map +1 -0
  34. package/dist/skills/17-system-design.js +294 -0
  35. package/dist/skills/17-system-design.js.map +1 -0
  36. package/dist/skills/18-database-optimize.d.ts +3 -0
  37. package/dist/skills/18-database-optimize.d.ts.map +1 -0
  38. package/dist/skills/18-database-optimize.js +294 -0
  39. package/dist/skills/18-database-optimize.js.map +1 -0
  40. package/dist/skills/19-docker.d.ts +3 -0
  41. package/dist/skills/19-docker.d.ts.map +1 -0
  42. package/dist/skills/19-docker.js +360 -0
  43. package/dist/skills/19-docker.js.map +1 -0
  44. package/dist/skills/20-cicd.d.ts +3 -0
  45. package/dist/skills/20-cicd.d.ts.map +1 -0
  46. package/dist/skills/20-cicd.js +364 -0
  47. package/dist/skills/20-cicd.js.map +1 -0
  48. package/dist/skills/21-performance.d.ts +3 -0
  49. package/dist/skills/21-performance.d.ts.map +1 -0
  50. package/dist/skills/21-performance.js +139 -0
  51. package/dist/skills/21-performance.js.map +1 -0
  52. package/dist/skills/22-refactoring.d.ts +3 -0
  53. package/dist/skills/22-refactoring.d.ts.map +1 -0
  54. package/dist/skills/22-refactoring.js +235 -0
  55. package/dist/skills/22-refactoring.js.map +1 -0
  56. package/dist/skills/23-observability.d.ts +3 -0
  57. package/dist/skills/23-observability.d.ts.map +1 -0
  58. package/dist/skills/23-observability.js +266 -0
  59. package/dist/skills/23-observability.js.map +1 -0
  60. package/dist/skills/24-design-patterns.d.ts +3 -0
  61. package/dist/skills/24-design-patterns.d.ts.map +1 -0
  62. package/dist/skills/24-design-patterns.js +258 -0
  63. package/dist/skills/24-design-patterns.js.map +1 -0
  64. package/dist/skills/index.d.ts +14 -0
  65. package/dist/skills/index.d.ts.map +1 -1
  66. package/dist/skills/index.js +57 -1
  67. package/dist/skills/index.js.map +1 -1
  68. package/dist/skills/pipeline.d.ts +2 -1
  69. package/dist/skills/pipeline.d.ts.map +1 -1
  70. package/dist/skills/pipeline.js +41 -3
  71. package/dist/skills/pipeline.js.map +1 -1
  72. package/dist/skills/skills.test.js +3 -3
  73. package/dist/skills/skills.test.js.map +1 -1
  74. package/dist/templates/templates.test.js +2 -3
  75. package/dist/templates/templates.test.js.map +1 -1
  76. package/package.json +1 -1
  77. package/rules/claude-code/CLAUDE.md +3048 -3
  78. package/rules/cline/.clinerules +2838 -2
  79. package/rules/codebuddy/CODEBUDDY.md +2977 -2
  80. package/rules/continue/.continuerules +2838 -2
  81. package/rules/copilot/copilot-instructions.md +2935 -2
  82. package/rules/cursor/.cursorrules +3033 -2
  83. package/rules/cursor/smart-flow.mdc +3033 -2
  84. package/rules/jetbrains/smart-flow.md +2935 -2
  85. package/rules/lingma/smart-flow.md +2964 -3
  86. package/rules/windsurf/.windsurf/rules/smart-flow.md +2936 -3
  87. package/rules/zed/smart-flow.rules +2823 -1
package/README.md CHANGED
@@ -14,18 +14,20 @@
14
14
 
15
15
  | 模块 | 内容 |
16
16
  |------|------|
17
- | **10 个 Skill** | 标准化工作流节点,覆盖需求→设计→实现→跟踪→输出→质量 |
17
+ | **24 个 Skill** | 标准化工作流节点,覆盖需求→接口设计→安全→部署→PRD→Git→测试→系统设计→数据库→Docker→CI/CD→性能→重构→可观测性→设计模式 |
18
18
  | **11 个平台** | Cursor / Copilot / Cline / Windsurf / Zed / JetBrains / Continue / Claude Code 等 |
19
- | **3 个 Pipeline** | 链式工作流(开发 / 汇报 / 质量),有状态持久化推进 |
20
- | **17 个 MCP 工具** | AI 编辑器原生调用 Skill、Pipeline、Git、记忆库、估算 |
19
+ | **6 个 Pipeline** | 链式工作流(开发 / 汇报 / 质量 / 完整周期 / 故障响应 / 新功能),有状态持久化推进 |
20
+ | **23 个 MCP 工具** | AI 编辑器原生调用 Skill、Pipeline、Git、记忆库、估算 |
21
21
  | **40+ CLI 命令** | Git 集成、开发工具、记忆库、估算、插件 OS 全覆盖 |
22
+ | **自定义 Skill** | `.ethan/skills/*.yaml/.md`,YAML frontmatter + Markdown body |
23
+ | **自定义 Pipeline** | `.ethan/pipelines/*.yaml`,引用内置或自定义 Skill 自由组合 |
22
24
  | **浏览器扩展** | Chrome/Edge MV3,GitHub PR 一键 Review + 右键菜单 |
23
- | **VS Code 扩展** | 侧边栏树、20 个命令、17 个 @ethan 斜杠命令 |
25
+ | **VS Code 扩展** | 侧边栏树、20 个命令、23 个 @ethan 斜杠命令 |
24
26
  | **插件 OS** | 发布/搜索/安装社区 Skill 插件,支持私有注册表 |
25
27
 
26
28
  ---
27
29
 
28
- ## 10 个 Skill
30
+ ## 24 个 Skill
29
31
 
30
32
  | # | Skill | 分类 | 触发词(示例) | 说明 |
31
33
  |---|-------|------|--------------|------|
@@ -39,16 +41,33 @@
39
41
  | 8 | 代码审查 | 质量侧 | `代码审查`、`code review`、`CR` | 系统性审查,分级输出 Blocker/Major/Minor |
40
42
  | 9 | 故障排查 | 质量侧 | `故障排查`、`debug`、`线上故障` | 假设验证 + 5 Why 根因分析,三层解决方案 |
41
43
  | 10 | 技术调研 | 需求侧 | `技术调研`、`技术选型`、`POC` | 加权评分矩阵 + POC 验证,输出有据可查的结论 |
44
+ | 11 | 接口设计 | 执行侧 | `接口设计`、`API 设计`、`RESTful` | RESTful/GraphQL 接口规范,OpenAPI 3.0 风格输出 |
45
+ | 12 | 安全审查 | 质量侧 | `安全审查`、`OWASP`、`security review` | OWASP Top 10 逐项扫描,四级风险清单(Critical→Low) |
46
+ | 13 | 部署上线 | 执行侧 | `部署上线`、`上线`、`deploy` | Pre-flight 预检 + 灰度/蓝绿策略 + 回滚方案全流程 |
47
+ | 14 | PRD 编写 | 需求侧 | `PRD`、`产品需求`、`写 PRD` | 用户故事 + 验收标准 AC + 非功能性需求 + 埋点方案 |
48
+ | 15 | **Git 工作流** | 执行侧 | `Git 工作流`、`分支策略`、`commit 规范` | GitFlow/Trunk-Based 选型、Conventional Commits、Rebase vs Merge 决策 |
49
+ | 16 | **单元测试** | 质量侧 | `单元测试`、`unit test`、`测试覆盖率` | AAA 模式、Mock 策略、Vitest/Jest 配置,建立测试文化 |
50
+ | 17 | **系统设计** | 执行侧 | `系统设计`、`架构设计`、`system design` | 需求拆解→容量估算→架构选型→核心组件→数据模型 |
51
+ | 18 | **数据库优化** | 质量侧 | `数据库优化`、`慢查询`、`索引优化` | 慢查询诊断、索引策略、查询优化、分库分表与缓存 |
52
+ | 19 | **Docker** | 执行侧 | `Docker`、`容器化`、`Dockerfile` | 多阶段构建、Compose 编排、安全加固与镜像精简 |
53
+ | 20 | **CI/CD** | 执行侧 | `CI/CD`、`流水线`、`GitHub Actions` | GitHub Actions 全流程、并行构建、多环境部署策略 |
54
+ | 21 | **性能优化** | 质量侧 | `性能优化`、`Core Web Vitals`、`performance` | 基线建立、前端懒加载/代码分割、后端缓存/并发优化 |
55
+ | 22 | **代码重构** | 质量侧 | `代码重构`、`refactoring`、`技术债` | 识别坏味道、提炼函数/多态等重构手法、测试先行 |
56
+ | 23 | **可观测性** | 质量侧 | `可观测性`、`监控`、`链路追踪` | 日志/指标/链路三支柱、OTel、Prometheus+Grafana、SLO |
57
+ | 24 | **设计模式** | 执行侧 | `设计模式`、`design pattern`、`GoF` | 23 种 GoF 模式速查、TypeScript 实现、场景→模式选型指南 |
42
58
 
43
59
  ---
44
60
 
45
- ## 3 个 Pipeline(链式工作流)
61
+ ## 6 个 Pipeline(链式工作流)
46
62
 
47
63
  | Pipeline ID | Skills | 适用场景 |
48
64
  |-------------|--------|---------|
49
- | `dev-workflow` | 需求理解 → 任务拆解 → 方案设计 → 执行实现 | 完整功能开发 |
65
+ | `dev-workflow` | 需求理解 → 任务拆解 → 方案设计 → 执行实现 | 常规功能开发 |
50
66
  | `reporting` | 进度跟踪 → 任务报告 → 周报生成 | 项目汇报 |
51
67
  | `quality-workflow` | 代码审查 → 故障排查 | 质量保障 |
68
+ | `full-dev-cycle` | 需求理解 → **接口设计** → 方案设计 → 执行实现 → 代码审查 → **部署上线** | 完整功能交付 |
69
+ | `incident-response` | 故障排查 → 技术调研 → 任务报告 | 线上故障处理 |
70
+ | `new-feature` | **PRD** → 技术调研 → **接口设计** → 任务拆解 → 执行实现 | 新功能从 0 到 1 |
52
71
 
53
72
  自定义 Pipeline:在 `.ethan/pipelines/` 目录创建 YAML 文件,`ethan pipeline-init` 生成模板。
54
73
 
@@ -85,7 +104,7 @@ npx ethan-skill install --platform cursor --lang en
85
104
  }
86
105
  ```
87
106
 
88
- 重启 AI 编辑器后,可使用全部 **17 个 MCP 工具**(详见下方 MCP 工具列表)。
107
+ 重启 AI 编辑器后,可使用全部 **23 个 MCP 工具**(详见下方 MCP 工具列表)。
89
108
 
90
109
  ### 方式三:全局安装
91
110
 
@@ -120,7 +139,7 @@ ethan install --platform cursor
120
139
 
121
140
  ```bash
122
141
  ethan install [--platform <platform>] [--lang en] # 安装规则文件
123
- ethan list [--json] # 列出所有 Skill
142
+ ethan list [--json] # 列出所有 Skill(含自定义)
124
143
  ethan run # 交互式 Skill 执行向导
125
144
  ethan init # 生成 .ethanrc.json 配置文件
126
145
  ethan validate # 校验 rules/ 与源码是否同步
@@ -208,6 +227,35 @@ ethan pipeline run <id> [-c "上下文"] # 运行 Pipeline
208
227
  ethan pipeline-init [--name my-pipeline] # 生成自定义 YAML Pipeline 模板
209
228
  ```
210
229
 
230
+ ### 自定义 Skill
231
+
232
+ ```bash
233
+ ethan skill new [name] [--format yaml|md] # 生成自定义 Skill 模板(默认 yaml)
234
+ ethan skill list # 列出 .ethan/skills/ 中的自定义 Skill
235
+ ```
236
+
237
+ 自定义 Skill 文件放置在 `.ethan/skills/` 目录,支持 `.yaml`、`.json`、`.md` 格式:
238
+
239
+ ```markdown
240
+ ---
241
+ id: my-skill
242
+ name: 自定义技能
243
+ nameEn: my_skill
244
+ description: 一句话描述
245
+ triggers:
246
+ - 触发词
247
+ outputFormat: Markdown 文档
248
+ ---
249
+
250
+ ## 1. 第一步
251
+
252
+ 步骤说明...
253
+
254
+ ## 2. 第二步
255
+
256
+ 步骤说明...
257
+ ```
258
+
211
259
  ### 插件 OS(Phase 6)
212
260
 
213
261
  ```bash
@@ -220,7 +268,7 @@ ethan plugin search <keyword> [-n <limit>] # 搜索社区插件(eth
220
268
 
221
269
  ---
222
270
 
223
- ## 17 个 MCP 工具
271
+ ## 23 个 MCP 工具
224
272
 
225
273
  配置 MCP Server 后,AI 编辑器(Cursor / Cline / Continue 等)可直接调用:
226
274
 
@@ -236,13 +284,19 @@ ethan plugin search <keyword> [-n <limit>] # 搜索社区插件(eth
236
284
  | `code_review` | 代码审查 Skill |
237
285
  | `debug` | 故障排查 Skill |
238
286
  | `tech_research` | 技术调研 Skill |
287
+ | `api_design` | 接口设计 Skill(v1.7.0 新增)|
288
+ | `security_review` | 安全审查 Skill(v1.7.0 新增)|
289
+ | `deployment` | 部署上线 Skill(v1.7.0 新增)|
290
+ | `prd` | PRD 编写 Skill(v1.7.0 新增)|
239
291
  | `ethan_pipeline` | 串联执行完整 Pipeline |
240
- | `ethan_workflow_next` | 推进工作流到下一步(传入摘要,返回下一步提示词) |
292
+ | `ethan_workflow_next` | 推进工作流到下一步(传入摘要,返回下一步提示词)|
241
293
  | `ethan_workflow_status` | 查询工作流进度与当前步骤 |
242
- | `ethan_memory_search` | 搜索 Skill 记忆库(项目级 + 全局) |
243
- | `ethan_estimate` | 生成三点估算提示词(支持小时/故事点/人天) |
294
+ | `ethan_memory_search` | 搜索 Skill 记忆库(项目级 + 全局)|
295
+ | `ethan_estimate` | 生成三点估算提示词(支持小时/故事点/人天)|
244
296
  | `ethan_git_commit` | 读取 staged diff → Conventional Commit 提示词 |
245
297
  | `ethan_git_review` | 读取分支 diff → Blocker/Major/Minor Review 提示词 |
298
+ | `ethan_autopilot` | 生成 Pipeline 超级 prompt(自动链式执行)|
299
+ | `ethan_context_snapshot` | 采集项目快照(技术栈/git/目录树,TTL 30min 缓存)|
246
300
 
247
301
  ---
248
302
 
@@ -271,9 +325,9 @@ Chrome/Edge Manifest V3 扩展,将 Ethan 带入任意网页。
271
325
  2. VS Code → Extensions → `...` → Install from VSIX
272
326
 
273
327
  **功能:**
274
- - **Skill 侧边栏树**:按分类分组展示 10 个 Skill,点击直接运行
275
- - **Pipeline 侧边栏树**:展示 3 条 Pipeline,点击查看详情
276
- - **17 个 @ethan 斜杠命令**:在 Copilot Chat 中使用 `@ethan /需求理解`、`@ethan /commit` 等
328
+ - **Skill 侧边栏树**:按分类分组展示 14 个 Skill,点击直接运行
329
+ - **Pipeline 侧边栏树**:展示 6 条 Pipeline,点击查看详情
330
+ - **23 个 @ethan 斜杠命令**:在 Copilot Chat 中使用 `@ethan /需求理解`、`@ethan /commit` 等
277
331
  - **20 个命令面板命令**:包含 Git、开发工具、记忆、估算、复盘等全系列
278
332
  - **状态栏快捷按钮**:底部状态栏 `⚡ Ethan`,单击打开 Skill 选择器
279
333
 
@@ -318,11 +372,11 @@ src/skills/*.ts ──→ [build-rules.ts] ──→ rules/cursor/smart-flow
318
372
  ```
319
373
  ethan-skill/
320
374
  ├── src/
321
- │ ├── skills/ # 单一数据源(10 Skill + pipeline 定义)
375
+ │ ├── skills/ # 单一数据源(24 Skill + pipeline 定义)
322
376
  │ │ ├── types.ts # SkillDefinition、Platform、PipelineDefinition
323
377
  │ │ ├── index.ts # ALL_SKILLS 导出
324
- │ │ ├── pipeline.ts # PIPELINES + resolvePipeline()
325
- │ │ └── 01~10-*.ts # 各 Skill 定义(含 category、nextSkill)
378
+ │ │ ├── pipeline.ts # PIPELINES(6条)+ resolvePipeline()
379
+ │ │ └── 01~24-*.ts # 各 Skill 定义(含 category、nextSkill)
326
380
  │ ├── cli/ # 40+ CLI 命令入口
327
381
  │ │ ├── index.ts # Commander.js 主程序
328
382
  │ │ └── config.ts # .ethanrc.json 读写
@@ -330,20 +384,22 @@ ethan-skill/
330
384
  │ │ └── utils.ts # getStagedDiff / getBranchDiff / truncateDiff 等
331
385
  │ ├── workflow/ # 有状态工作流引擎
332
386
  │ │ └── state.ts # 会话持久化、Named Sessions、步骤推进
333
- │ ├── mcp/ # MCP Server(17 个工具)
387
+ │ ├── mcp/ # MCP Server(23 个工具)
334
388
  │ │ └── server.ts
335
389
  │ ├── router/ # 触发词路由
336
390
  │ ├── templates/ # 各平台渲染模板(11 个 case,强制穷举)
337
391
  │ ├── context/ # 项目技术栈自动检测
338
- │ ├── loader/ # 自定义 Skill YAML 加载器
392
+ │ ├── loader/ # 自定义 Skill/Pipeline 加载器
393
+ │ │ ├── custom-skill-loader.ts # .ethan/skills/*.yaml/.md
394
+ │ │ └── custom-pipeline-loader.ts # .ethan/pipelines/*.yaml
339
395
  │ ├── server/ # Web UI Dashboard
340
396
  │ └── vscode/ # VS Code 扩展
341
397
  ├── browser-extension/ # Chrome/Edge MV3 扩展
342
- ├── vscode-extension/ # VS Code 扩展 manifest(20 命令、17 斜杠命令)
398
+ ├── vscode-extension/ # VS Code 扩展 manifest(20 命令、23 斜杠命令)
343
399
  ├── rules/ # 构建产物,11 个平台(提交到仓库)
344
400
  ├── docs/ # 官网(GitHub Pages)
345
401
  ├── scripts/build/ # 构建脚本(build-rules.ts / build-vscode.ts)
346
- └── .ethan/ # 项目级运行时数据(workflow.json、memory/、pipelines/)
402
+ └── .ethan/ # 项目级运行时数据(workflow.json、memory/、skills/、pipelines/)
347
403
  ```
348
404
 
349
405
  ---
@@ -399,7 +455,10 @@ npm run test:coverage # 覆盖率报告
399
455
 
400
456
  | 版本 | 主要变更 |
401
457
  |------|---------|
402
- | **v1.5.0** | MCP 新增 4 工具(git commit/review/memory search/estimate);VS Code 扩展 17 斜杠命令;插件 OS(publish/registry/search);浏览器扩展;自定义 YAML Pipeline;Stats 排行榜;记忆库;估算复盘 |
458
+ | **v1.8.0** | 新增 10 Skill(Git 工作流/单元测试/系统设计/数据库优化/Docker/CI/CD/性能优化/代码重构/可观测性/设计模式);Skills 14 24;docs ReactBits 风格重设计 |
459
+ | **v1.7.0** | 新增 4 个 Skill(接口设计/安全审查/部署上线/PRD 编写);新增 3 条 Pipeline(full-dev-cycle/incident-response/new-feature);自定义 Pipeline 加载(`.ethan/pipelines/`);MCP 工具 19 → 23 |
460
+ | **v1.6.0** | 自定义 Skill 支持 `.md` 格式(YAML frontmatter + Markdown body);`ethan skill new --format md`;新增 MCP `ethan_autopilot` 和 `ethan_context_snapshot` 工具 |
461
+ | **v1.5.0** | MCP 新增 4 工具(git commit/review/memory search/estimate);VS Code 扩展 17 斜杠命令;插件 OS;浏览器扩展;Context 引擎;Stats 排行榜;记忆库;估算复盘 |
403
462
  | **v1.3.0** | Git 集成(commit/review/pr/standup/changelog);开发工具(scan/explain/test-case/naming/readme/roast);On-call、定时任务、Git Hooks |
404
463
  | **v1.2.0** | 新增代码审查、故障排查、技术调研 3 个 Skill;新增 Windsurf/Zed/JetBrains/Continue/Claude Code 5 个平台;validate/pipeline/doctor/stats 命令 |
405
464
  | **v1.1.0** | 有状态工作流(workflow start/done/status);MCP Server;Web UI Dashboard;自动上下文检测 |
package/dist/cli/index.js CHANGED
@@ -641,31 +641,37 @@ const pipelineCmd = program
641
641
  .description('Pipeline 链式执行管理');
642
642
  pipelineCmd
643
643
  .command('list')
644
- .description('列出所有可用 Pipeline')
644
+ .description('列出所有可用 Pipeline(内置 + 自定义)')
645
645
  .action(async () => {
646
646
  const { PIPELINES } = await Promise.resolve().then(() => __importStar(require('../skills/pipeline')));
647
+ const customPipelines = loadCustomPipelines(process.cwd());
648
+ const all = [...PIPELINES, ...customPipelines];
647
649
  console.log('\nEthan Pipelines\n');
648
650
  console.log('─'.repeat(60));
649
- for (const p of PIPELINES) {
650
- console.log(`\n${p.id}`);
651
+ for (const p of all) {
652
+ const isCustom = !PIPELINES.find((bp) => bp.id === p.id);
653
+ const tag = isCustom ? ' 🔧 自定义' : '';
654
+ console.log(`\n${p.id}${tag}`);
651
655
  console.log(` 名称:${p.name}`);
652
656
  console.log(` 描述:${p.description}`);
653
657
  console.log(` Skills:${p.skillIds.join(' → ')}`);
654
658
  }
655
659
  console.log('\n' + '─'.repeat(60));
656
- console.log(`Total: ${PIPELINES.length} pipelines`);
660
+ console.log(`Total: ${PIPELINES.length} 内置 + ${customPipelines.length} 自定义 = ${all.length} pipelines`);
657
661
  });
658
662
  pipelineCmd
659
663
  .command('run <name>')
660
664
  .description('按 Pipeline 顺序执行各 Skill 提示')
661
665
  .option('-c, --context <context>', '输入上下文', '')
662
666
  .action(async (name, options) => {
663
- const { resolvePipeline } = await Promise.resolve().then(() => __importStar(require('../skills/pipeline')));
664
- const resolved = resolvePipeline(name);
667
+ const { resolvePipeline, PIPELINES } = await Promise.resolve().then(() => __importStar(require('../skills/pipeline')));
668
+ const customPipelines = loadCustomPipelines(process.cwd());
669
+ const activeSkills = await getActiveSkills();
670
+ const resolved = resolvePipeline(name, customPipelines, activeSkills);
665
671
  if (!resolved) {
666
- const { PIPELINES } = await Promise.resolve().then(() => __importStar(require('../skills/pipeline')));
672
+ const allIds = [...PIPELINES.map((p) => p.id), ...customPipelines.map((p) => p.id)];
667
673
  console.error(`Unknown pipeline: ${name}`);
668
- console.error(`Available: ${PIPELINES.map((p) => p.id).join(' | ')}`);
674
+ console.error(`Available: ${allIds.join(' | ')}`);
669
675
  process.exit(1);
670
676
  }
671
677
  const { pipeline, skills } = resolved;
@@ -3134,23 +3140,17 @@ name: 自定义工作流名称
3134
3140
  description: 这个 Pipeline 的描述
3135
3141
 
3136
3142
  # 引用的 Skill ID 列表(按执行顺序)
3137
- # 可用 Skill ID:requirement-understanding | task-breakdown | solution-design
3138
- # implementation | progress-tracking | task-report | weekly-report
3139
- # code-review | debug | tech-research
3143
+ # 内置 Skill ID:
3144
+ # 需求侧: requirement-understanding, prd
3145
+ # 执行侧: task-breakdown, solution-design, api-design, implementation, deployment
3146
+ # 跟踪侧: progress-tracking
3147
+ # 输出侧: task-report, weekly-report
3148
+ # 质量侧: code-review, debug, tech-research, security-review
3149
+ # 也可以引用 .ethan/skills/ 中的自定义 Skill ID
3140
3150
  skillIds:
3141
3151
  - requirement-understanding
3142
3152
  - solution-design
3143
3153
  - implementation
3144
-
3145
- # (可选)输出结构定义:每个字段对应 AI 需要输出的内容
3146
- # outputSchema:
3147
- # featureSpec:
3148
- # type: string
3149
- # description: 需求规格说明书
3150
- # required: true
3151
- # designDoc:
3152
- # type: string
3153
- # description: 技术方案设计文档
3154
3154
  `;
3155
3155
  fs.writeFileSync(filePath, template, 'utf-8');
3156
3156
  console.log(`\n✅ 自定义 Pipeline 模板已生成:${filePath}`);