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.
- package/CHANGELOG.md +25 -0
- package/README.md +249 -0
- package/dist/cli/index.d.ts +7 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +452 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/mcp/server.d.ts +7 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +199 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/router/trigger-router.d.ts +16 -0
- package/dist/router/trigger-router.d.ts.map +1 -0
- package/dist/router/trigger-router.js +45 -0
- package/dist/router/trigger-router.js.map +1 -0
- package/dist/router/trigger-router.test.d.ts +2 -0
- package/dist/router/trigger-router.test.d.ts.map +1 -0
- package/dist/router/trigger-router.test.js +79 -0
- package/dist/router/trigger-router.test.js.map +1 -0
- package/dist/skills/01-requirement.d.ts +3 -0
- package/dist/skills/01-requirement.d.ts.map +1 -0
- package/dist/skills/01-requirement.js +100 -0
- package/dist/skills/01-requirement.js.map +1 -0
- package/dist/skills/02-task-breakdown.d.ts +3 -0
- package/dist/skills/02-task-breakdown.d.ts.map +1 -0
- package/dist/skills/02-task-breakdown.js +82 -0
- package/dist/skills/02-task-breakdown.js.map +1 -0
- package/dist/skills/03-design.d.ts +3 -0
- package/dist/skills/03-design.d.ts.map +1 -0
- package/dist/skills/03-design.js +80 -0
- package/dist/skills/03-design.js.map +1 -0
- package/dist/skills/04-implementation.d.ts +3 -0
- package/dist/skills/04-implementation.d.ts.map +1 -0
- package/dist/skills/04-implementation.js +77 -0
- package/dist/skills/04-implementation.js.map +1 -0
- package/dist/skills/05-progress-tracking.d.ts +3 -0
- package/dist/skills/05-progress-tracking.d.ts.map +1 -0
- package/dist/skills/05-progress-tracking.js +78 -0
- package/dist/skills/05-progress-tracking.js.map +1 -0
- package/dist/skills/06-task-report.d.ts +3 -0
- package/dist/skills/06-task-report.d.ts.map +1 -0
- package/dist/skills/06-task-report.js +75 -0
- package/dist/skills/06-task-report.js.map +1 -0
- package/dist/skills/07-weekly-report.d.ts +3 -0
- package/dist/skills/07-weekly-report.d.ts.map +1 -0
- package/dist/skills/07-weekly-report.js +101 -0
- package/dist/skills/07-weekly-report.js.map +1 -0
- package/dist/skills/08-code-review.d.ts +3 -0
- package/dist/skills/08-code-review.d.ts.map +1 -0
- package/dist/skills/08-code-review.js +136 -0
- package/dist/skills/08-code-review.js.map +1 -0
- package/dist/skills/09-debug.d.ts +3 -0
- package/dist/skills/09-debug.d.ts.map +1 -0
- package/dist/skills/09-debug.js +151 -0
- package/dist/skills/09-debug.js.map +1 -0
- package/dist/skills/10-tech-research.d.ts +3 -0
- package/dist/skills/10-tech-research.d.ts.map +1 -0
- package/dist/skills/10-tech-research.js +141 -0
- package/dist/skills/10-tech-research.js.map +1 -0
- package/dist/skills/index.d.ts +18 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/skills/index.js +51 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/skills/pipeline.d.ts +15 -0
- package/dist/skills/pipeline.d.ts.map +1 -0
- package/dist/skills/pipeline.js +55 -0
- package/dist/skills/pipeline.js.map +1 -0
- package/dist/skills/skills.test.d.ts +2 -0
- package/dist/skills/skills.test.d.ts.map +1 -0
- package/dist/skills/skills.test.js +101 -0
- package/dist/skills/skills.test.js.map +1 -0
- package/dist/skills/types.d.ts +60 -0
- package/dist/skills/types.d.ts.map +1 -0
- package/dist/skills/types.js +7 -0
- package/dist/skills/types.js.map +1 -0
- package/dist/templates/copilot-md.template.d.ts +7 -0
- package/dist/templates/copilot-md.template.d.ts.map +1 -0
- package/dist/templates/copilot-md.template.js +293 -0
- package/dist/templates/copilot-md.template.js.map +1 -0
- package/dist/templates/cursor-mdc.template.d.ts +10 -0
- package/dist/templates/cursor-mdc.template.d.ts.map +1 -0
- package/dist/templates/cursor-mdc.template.js +86 -0
- package/dist/templates/cursor-mdc.template.js.map +1 -0
- package/dist/templates/templates.test.d.ts +2 -0
- package/dist/templates/templates.test.d.ts.map +1 -0
- package/dist/templates/templates.test.js +89 -0
- package/dist/templates/templates.test.js.map +1 -0
- package/dist/vscode/commands.d.ts +4 -0
- package/dist/vscode/commands.d.ts.map +1 -0
- package/dist/vscode/commands.js +155 -0
- package/dist/vscode/commands.js.map +1 -0
- package/dist/vscode/extension.d.ts +4 -0
- package/dist/vscode/extension.d.ts.map +1 -0
- package/dist/vscode/extension.js +96 -0
- package/dist/vscode/extension.js.map +1 -0
- package/package.json +71 -0
- package/rules/claude-code/CLAUDE.md +767 -0
- package/rules/cline/.clinerules +622 -0
- package/rules/codebuddy/CODEBUDDY.md +70 -0
- package/rules/continue/.continuerules +622 -0
- package/rules/copilot/copilot-instructions.md +162 -0
- package/rules/cursor/.cursorrules +747 -0
- package/rules/cursor/smart-flow.mdc +763 -0
- package/rules/jetbrains/smart-flow.md +162 -0
- package/rules/lingma/smart-flow.md +133 -0
- package/rules/windsurf/.windsurf/rules/smart-flow.md +162 -0
- 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 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;;GAGG"}
|