ethan-skill 1.0.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 (106) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +249 -0
  3. package/dist/cli/index.d.ts +7 -0
  4. package/dist/cli/index.d.ts.map +1 -0
  5. package/dist/cli/index.js +452 -0
  6. package/dist/cli/index.js.map +1 -0
  7. package/dist/mcp/server.d.ts +7 -0
  8. package/dist/mcp/server.d.ts.map +1 -0
  9. package/dist/mcp/server.js +199 -0
  10. package/dist/mcp/server.js.map +1 -0
  11. package/dist/router/trigger-router.d.ts +16 -0
  12. package/dist/router/trigger-router.d.ts.map +1 -0
  13. package/dist/router/trigger-router.js +45 -0
  14. package/dist/router/trigger-router.js.map +1 -0
  15. package/dist/router/trigger-router.test.d.ts +2 -0
  16. package/dist/router/trigger-router.test.d.ts.map +1 -0
  17. package/dist/router/trigger-router.test.js +79 -0
  18. package/dist/router/trigger-router.test.js.map +1 -0
  19. package/dist/skills/01-requirement.d.ts +3 -0
  20. package/dist/skills/01-requirement.d.ts.map +1 -0
  21. package/dist/skills/01-requirement.js +100 -0
  22. package/dist/skills/01-requirement.js.map +1 -0
  23. package/dist/skills/02-task-breakdown.d.ts +3 -0
  24. package/dist/skills/02-task-breakdown.d.ts.map +1 -0
  25. package/dist/skills/02-task-breakdown.js +82 -0
  26. package/dist/skills/02-task-breakdown.js.map +1 -0
  27. package/dist/skills/03-design.d.ts +3 -0
  28. package/dist/skills/03-design.d.ts.map +1 -0
  29. package/dist/skills/03-design.js +80 -0
  30. package/dist/skills/03-design.js.map +1 -0
  31. package/dist/skills/04-implementation.d.ts +3 -0
  32. package/dist/skills/04-implementation.d.ts.map +1 -0
  33. package/dist/skills/04-implementation.js +77 -0
  34. package/dist/skills/04-implementation.js.map +1 -0
  35. package/dist/skills/05-progress-tracking.d.ts +3 -0
  36. package/dist/skills/05-progress-tracking.d.ts.map +1 -0
  37. package/dist/skills/05-progress-tracking.js +78 -0
  38. package/dist/skills/05-progress-tracking.js.map +1 -0
  39. package/dist/skills/06-task-report.d.ts +3 -0
  40. package/dist/skills/06-task-report.d.ts.map +1 -0
  41. package/dist/skills/06-task-report.js +75 -0
  42. package/dist/skills/06-task-report.js.map +1 -0
  43. package/dist/skills/07-weekly-report.d.ts +3 -0
  44. package/dist/skills/07-weekly-report.d.ts.map +1 -0
  45. package/dist/skills/07-weekly-report.js +101 -0
  46. package/dist/skills/07-weekly-report.js.map +1 -0
  47. package/dist/skills/08-code-review.d.ts +3 -0
  48. package/dist/skills/08-code-review.d.ts.map +1 -0
  49. package/dist/skills/08-code-review.js +136 -0
  50. package/dist/skills/08-code-review.js.map +1 -0
  51. package/dist/skills/09-debug.d.ts +3 -0
  52. package/dist/skills/09-debug.d.ts.map +1 -0
  53. package/dist/skills/09-debug.js +151 -0
  54. package/dist/skills/09-debug.js.map +1 -0
  55. package/dist/skills/10-tech-research.d.ts +3 -0
  56. package/dist/skills/10-tech-research.d.ts.map +1 -0
  57. package/dist/skills/10-tech-research.js +141 -0
  58. package/dist/skills/10-tech-research.js.map +1 -0
  59. package/dist/skills/index.d.ts +18 -0
  60. package/dist/skills/index.d.ts.map +1 -0
  61. package/dist/skills/index.js +51 -0
  62. package/dist/skills/index.js.map +1 -0
  63. package/dist/skills/pipeline.d.ts +15 -0
  64. package/dist/skills/pipeline.d.ts.map +1 -0
  65. package/dist/skills/pipeline.js +55 -0
  66. package/dist/skills/pipeline.js.map +1 -0
  67. package/dist/skills/skills.test.d.ts +2 -0
  68. package/dist/skills/skills.test.d.ts.map +1 -0
  69. package/dist/skills/skills.test.js +101 -0
  70. package/dist/skills/skills.test.js.map +1 -0
  71. package/dist/skills/types.d.ts +60 -0
  72. package/dist/skills/types.d.ts.map +1 -0
  73. package/dist/skills/types.js +7 -0
  74. package/dist/skills/types.js.map +1 -0
  75. package/dist/templates/copilot-md.template.d.ts +7 -0
  76. package/dist/templates/copilot-md.template.d.ts.map +1 -0
  77. package/dist/templates/copilot-md.template.js +293 -0
  78. package/dist/templates/copilot-md.template.js.map +1 -0
  79. package/dist/templates/cursor-mdc.template.d.ts +10 -0
  80. package/dist/templates/cursor-mdc.template.d.ts.map +1 -0
  81. package/dist/templates/cursor-mdc.template.js +86 -0
  82. package/dist/templates/cursor-mdc.template.js.map +1 -0
  83. package/dist/templates/templates.test.d.ts +2 -0
  84. package/dist/templates/templates.test.d.ts.map +1 -0
  85. package/dist/templates/templates.test.js +89 -0
  86. package/dist/templates/templates.test.js.map +1 -0
  87. package/dist/vscode/commands.d.ts +4 -0
  88. package/dist/vscode/commands.d.ts.map +1 -0
  89. package/dist/vscode/commands.js +155 -0
  90. package/dist/vscode/commands.js.map +1 -0
  91. package/dist/vscode/extension.d.ts +4 -0
  92. package/dist/vscode/extension.d.ts.map +1 -0
  93. package/dist/vscode/extension.js +96 -0
  94. package/dist/vscode/extension.js.map +1 -0
  95. package/package.json +71 -0
  96. package/rules/claude-code/CLAUDE.md +767 -0
  97. package/rules/cline/.clinerules +622 -0
  98. package/rules/codebuddy/CODEBUDDY.md +70 -0
  99. package/rules/continue/.continuerules +622 -0
  100. package/rules/copilot/copilot-instructions.md +162 -0
  101. package/rules/cursor/.cursorrules +747 -0
  102. package/rules/cursor/smart-flow.mdc +763 -0
  103. package/rules/jetbrains/smart-flow.md +162 -0
  104. package/rules/lingma/smart-flow.md +133 -0
  105. package/rules/windsurf/.windsurf/rules/smart-flow.md +162 -0
  106. package/rules/zed/smart-flow.rules +45 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,25 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ ## [1.0.0] - 2026-03-21
6
+
7
+ ### Added
8
+
9
+ - Initial release of Ethan cross-platform distribution package
10
+ - 7 standard workflow skills: 需求理解、任务拆解、方案设计、执行实现、进度跟踪、任务报告、周报生成
11
+ - Support for 4 distribution formats:
12
+ - Markdown rule files for AI editors
13
+ - npm package with CLI (`npx ethan`)
14
+ - VS Code extension with `@ethan` chat participant
15
+ - MCP Server with 7 tools (stdio transport)
16
+ - Support for 6 platform targets:
17
+ - Cursor (new `.mdc` format with YAML frontmatter)
18
+ - Cursor (legacy `.cursorrules`)
19
+ - VS Code Copilot (`.github/copilot-instructions.md`)
20
+ - Cline (`.clinerules`)
21
+ - 通义灵码 Lingma (`.lingma/rules/*.md`)
22
+ - 腾讯 CodeBuddy (`CODEBUDDY.md`)
23
+ - Single Source of Truth architecture: all content in `src/skills/*.ts`, built to `rules/`
24
+ - Trigger-based routing system
25
+ - Build scripts: `npm run build:all`, `npm run build:rules`, `npm run build:vscode`
package/README.md ADDED
@@ -0,0 +1,249 @@
1
+ # Ethan
2
+
3
+ **Ethan - Your AI Workflow Assistant**
4
+
5
+ 将 10 个标准化工作流节点打包为可跨平台分发的 AI Skill,支持 11 个主流 AI 编辑器/IDE,让每一步都有据可依。
6
+
7
+ 🌐 **官网**:[aokiz-ek.github.io/smart-flow-skill](https://aokiz-ek.github.io/smart-flow-skill/)
8
+
9
+ ---
10
+
11
+ ## 功能概览
12
+
13
+ ### 10 个 Skill
14
+
15
+ | # | Skill | 分类 | 触发词(示例) | 说明 |
16
+ |---|-------|------|--------------|------|
17
+ | 1 | 需求理解 | 需求侧 | `需求理解`、`分析需求`、`@ethan 需求` | 深度解析需求,消除歧义,输出结构化需求文档 |
18
+ | 2 | 任务拆解 | 需求侧 | `任务拆解`、`拆解任务`、`@ethan 拆解` | 将需求拆解为原子任务,建立依赖关系 |
19
+ | 3 | 方案设计 | 执行侧 | `方案设计`、`技术方案`、`@ethan 设计` | 输出架构设计、接口设计、数据模型 |
20
+ | 4 | 执行实现 | 执行侧 | `执行实现`、`开始实现`、`@ethan 实现` | 按设计方案逐步实现,含代码自检清单 |
21
+ | 5 | 进度跟踪 | 跟踪侧 | `进度跟踪`、`进度更新`、`@ethan 进度` | 实时更新任务状态,识别阻塞风险 |
22
+ | 6 | 任务报告 | 输出侧 | `任务报告`、`生成报告`、`@ethan 报告` | 生成成果报告含问题复盘和经验教训 |
23
+ | 7 | 周报生成 | 输出侧 | `周报`、`生成周报`、`@ethan 周报` | 自动生成结构化周报,突出业务价值 |
24
+ | 8 | 代码审查 | 质量侧 | `代码审查`、`code review`、`CR` | 系统性审查,分级输出 Blocker/Major/Minor |
25
+ | 9 | 故障排查 | 质量侧 | `故障排查`、`debug`、`线上故障` | 假设验证 + 5 Why 根因分析,三层解决方案 |
26
+ | 10 | 技术调研 | 需求侧 | `技术调研`、`技术选型`、`POC` | 加权评分矩阵 + POC 验证,输出有据可查的结论 |
27
+
28
+ ### 3 个 Pipeline(链式工作流)
29
+
30
+ | Pipeline | Skills | 适用场景 |
31
+ |----------|--------|---------|
32
+ | `dev-workflow` | 需求理解 → 任务拆解 → 方案设计 → 执行实现 | 完整功能开发 |
33
+ | `reporting` | 进度跟踪 → 任务报告 → 周报生成 | 项目汇报 |
34
+ | `quality-workflow` | 代码审查 → 故障排查 | 质量保障 |
35
+
36
+ ---
37
+
38
+ ## 安装
39
+
40
+ ### 一键安装(CLI)
41
+
42
+ ```bash
43
+ # 安装到当前项目(所有平台)
44
+ npx ethan-skill install --platform all
45
+
46
+ # 安装到指定平台
47
+ npx ethan-skill install --platform cursor
48
+ npx ethan-skill install --platform copilot
49
+ npx ethan-skill install --platform windsurf
50
+ # ... 其他平台见下表
51
+ ```
52
+
53
+ ### 支持的 11 个平台
54
+
55
+ | 平台 | 参数 | 安装目标文件 |
56
+ |------|------|------------|
57
+ | Cursor(新版) | `cursor` | `.cursor/rules/smart-flow.mdc` |
58
+ | Cursor(旧版) | `cursor` | `.cursorrules` |
59
+ | VS Code Copilot | `copilot` | `.github/copilot-instructions.md` |
60
+ | Cline | `cline` | `.clinerules` |
61
+ | 通义灵码 | `lingma` | `.lingma/rules/smart-flow.md` |
62
+ | 腾讯 CodeBuddy | `codebuddy` | `CODEBUDDY.md` |
63
+ | Windsurf | `windsurf` | `.windsurf/rules/smart-flow.md` |
64
+ | Zed | `zed` | `smart-flow.rules` |
65
+ | JetBrains AI | `jetbrains` | `.github/ai-instructions.md` |
66
+ | Continue | `continue` | `.continuerules` |
67
+ | Claude Code | `claude-code` | `CLAUDE.md` |
68
+
69
+ ### MCP Server
70
+
71
+ 在 MCP 客户端配置文件(如 `~/.cursor/mcp.json`)中添加:
72
+
73
+ ```json
74
+ {
75
+ "mcpServers": {
76
+ "ethan": {
77
+ "command": "npx",
78
+ "args": ["ethan-skill", "mcp"]
79
+ }
80
+ }
81
+ }
82
+ ```
83
+
84
+ 重启 AI 编辑器后,可使用 10 个独立 Skill tool + 1 个 Pipeline tool(`ethan_pipeline`)。
85
+
86
+ ### VS Code 扩展
87
+
88
+ 1. 下载 `dist/ethan-skill-*.vsix`
89
+ 2. VS Code → Extensions → `...` → Install from VSIX
90
+ 3. 在 Copilot Chat 中输入 `@ethan /需求理解 <你的需求>`
91
+
92
+ ---
93
+
94
+ ## CLI 命令
95
+
96
+ ```bash
97
+ # 安装规则文件到当前项目
98
+ npx ethan-skill install --platform all
99
+
100
+ # 列出所有 Skill(带分类信息)
101
+ npx ethan-skill list
102
+ npx ethan-skill list --json
103
+
104
+ # Pipeline 管理
105
+ npx ethan-skill pipeline list
106
+ npx ethan-skill pipeline run dev-workflow -c "开发用户登录功能"
107
+
108
+ # 验证 rules/ 与 src/skills/ 是否同步
109
+ npx ethan-skill validate
110
+
111
+ # 环境与文件健康检查
112
+ npx ethan-skill doctor
113
+
114
+ # 使用频次统计
115
+ npx ethan-skill stats
116
+ npx ethan-skill stats --reset
117
+
118
+ # 启动 MCP Server
119
+ npx ethan-skill mcp
120
+ ```
121
+
122
+ ---
123
+
124
+ ## 开发
125
+
126
+ ### 环境要求
127
+
128
+ - Node.js >= 18
129
+ - npm >= 9
130
+
131
+ ### 安装依赖
132
+
133
+ ```bash
134
+ npm install
135
+ ```
136
+
137
+ ### 构建
138
+
139
+ ```bash
140
+ npm run build # 编译 TypeScript → dist/
141
+ npm run build:rules # 生成 11 个平台规则文件(rules/ 目录)
142
+ npm run build:all # 全量构建(build + build:rules)
143
+ npm run dev # 监视模式编译
144
+ ```
145
+
146
+ ### 代码质量
147
+
148
+ ```bash
149
+ npm run lint # ESLint 检查
150
+ npm run lint:fix # ESLint 自动修复
151
+ npm run format # Prettier 格式化
152
+ npm run format:check # Prettier 格式校验
153
+ ```
154
+
155
+ ### 测试
156
+
157
+ ```bash
158
+ npm test # 运行所有测试(Vitest,66 个测试用例)
159
+ npm run test:watch # 监视模式
160
+ npm run test:coverage # 生成覆盖率报告
161
+ ```
162
+
163
+ 测试覆盖范围:
164
+ - **Skills 契约**:ALL_SKILLS 唯一性、步骤完整性、nextSkill 有效性
165
+ - **Pipeline**:resolvePipeline 正确解析,skillIds 引用合法
166
+ - **触发词路由**:精确/模糊/大小写/空串/trim 场景
167
+ - **模板渲染**:11 个平台 × 输出正确性
168
+
169
+ ### 修改 Skill 内容
170
+
171
+ 1. 编辑 `src/skills/0X-skill-name.ts`
172
+ 2. 运行 `npm run build:rules` 重新生成规则文件
173
+ 3. 运行 `npm test` 确认测试通过
174
+ 4. 提交 `src/` 和 `rules/` 目录变更
175
+
176
+ ### 添加新 Skill
177
+
178
+ 1. 创建 `src/skills/0X-new-skill.ts`,实现 `SkillDefinition` 接口(含 `category`、`nextSkill`)
179
+ 2. 在 `src/skills/index.ts` 的 `ALL_SKILLS` 数组末尾添加
180
+ 3. 运行 `npm run build:rules && npm test`
181
+
182
+ ### 添加新平台
183
+
184
+ 1. 在 `src/skills/types.ts` 的 `Platform` 联合类型中添加新值
185
+ 2. 在 `src/templates/copilot-md.template.ts` 的 `switch` 中添加对应 `case`(无 default,TypeScript 强制穷举)
186
+ 3. 在 `scripts/build/build-rules.ts` 中添加 `writeFile` 调用
187
+ 4. 在 `src/cli/index.ts` 的 `platformMap` 中添加安装路径
188
+
189
+ ---
190
+
191
+ ## 架构设计
192
+
193
+ ### 单一数据源(Single Source of Truth)
194
+
195
+ ```
196
+ src/skills/*.ts → [build-rules.ts] → rules/cursor/smart-flow.mdc
197
+ → rules/cursor/.cursorrules
198
+ → rules/copilot/copilot-instructions.md
199
+ → rules/cline/.clinerules
200
+ → rules/lingma/smart-flow.md
201
+ → rules/codebuddy/CODEBUDDY.md
202
+ → rules/windsurf/.windsurf/rules/smart-flow.md
203
+ → rules/zed/smart-flow.rules
204
+ → rules/jetbrains/smart-flow.md
205
+ → rules/continue/.continuerules
206
+ → rules/claude-code/CLAUDE.md
207
+ ```
208
+
209
+ 所有内容存放在 TypeScript 源文件,构建时生成各平台文件,避免多处同步。`rules/` 目录提交到仓库供直接使用。
210
+
211
+ ### 目录结构
212
+
213
+ ```
214
+ ethan-skill/
215
+ ├── src/
216
+ │ ├── skills/ # 单一数据源(10 个 Skill + pipeline 定义)
217
+ │ │ ├── types.ts # SkillDefinition、Platform、PipelineDefinition 接口
218
+ │ │ ├── index.ts # ALL_SKILLS 导出入口
219
+ │ │ ├── pipeline.ts # PIPELINES + resolvePipeline()
220
+ │ │ └── 01~10-*.ts # 各 Skill 定义
221
+ │ ├── router/ # 触发词路由(routeTrigger)
222
+ │ ├── templates/ # 各平台渲染模板
223
+ │ ├── cli/ # CLI 入口(install/list/validate/pipeline/doctor/stats/mcp)
224
+ │ ├── vscode/ # VS Code 扩展
225
+ │ └── mcp/ # MCP Server(含 ethan_pipeline tool)
226
+ ├── rules/ # 构建产物,11 个平台(提交到仓库)
227
+ ├── docs/ # 官网(GitHub Pages)
228
+ ├── scripts/build/ # 构建脚本
229
+ └── vscode-extension/ # VS Code 扩展 manifest
230
+ ```
231
+
232
+ ---
233
+
234
+ ## 版本管理
235
+
236
+ 使用 [Changesets](https://github.com/changesets/changesets) 管理版本:
237
+
238
+ ```bash
239
+ npx changeset # 添加变更记录
240
+ npx changeset version # 升版本号
241
+ npm run build:all
242
+ npm publish
243
+ ```
244
+
245
+ ---
246
+
247
+ ## License
248
+
249
+ MIT
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * npx ethan CLI
4
+ * 命令:install | list | mcp | validate | pipeline | doctor | stats
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;;GAGG"}