ethan-skill 1.7.0 → 1.9.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 (63) hide show
  1. package/README.md +84 -24
  2. package/dist/cli/index.js +3 -2
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/skills/15-git-workflow.d.ts +3 -0
  5. package/dist/skills/15-git-workflow.d.ts.map +1 -0
  6. package/dist/skills/15-git-workflow.js +288 -0
  7. package/dist/skills/15-git-workflow.js.map +1 -0
  8. package/dist/skills/16-unit-testing.d.ts +3 -0
  9. package/dist/skills/16-unit-testing.d.ts.map +1 -0
  10. package/dist/skills/16-unit-testing.js +298 -0
  11. package/dist/skills/16-unit-testing.js.map +1 -0
  12. package/dist/skills/17-system-design.d.ts +3 -0
  13. package/dist/skills/17-system-design.d.ts.map +1 -0
  14. package/dist/skills/17-system-design.js +294 -0
  15. package/dist/skills/17-system-design.js.map +1 -0
  16. package/dist/skills/18-database-optimize.d.ts +3 -0
  17. package/dist/skills/18-database-optimize.d.ts.map +1 -0
  18. package/dist/skills/18-database-optimize.js +294 -0
  19. package/dist/skills/18-database-optimize.js.map +1 -0
  20. package/dist/skills/19-docker.d.ts +3 -0
  21. package/dist/skills/19-docker.d.ts.map +1 -0
  22. package/dist/skills/19-docker.js +360 -0
  23. package/dist/skills/19-docker.js.map +1 -0
  24. package/dist/skills/20-cicd.d.ts +3 -0
  25. package/dist/skills/20-cicd.d.ts.map +1 -0
  26. package/dist/skills/20-cicd.js +364 -0
  27. package/dist/skills/20-cicd.js.map +1 -0
  28. package/dist/skills/21-performance.d.ts +3 -0
  29. package/dist/skills/21-performance.d.ts.map +1 -0
  30. package/dist/skills/21-performance.js +139 -0
  31. package/dist/skills/21-performance.js.map +1 -0
  32. package/dist/skills/22-refactoring.d.ts +3 -0
  33. package/dist/skills/22-refactoring.d.ts.map +1 -0
  34. package/dist/skills/22-refactoring.js +235 -0
  35. package/dist/skills/22-refactoring.js.map +1 -0
  36. package/dist/skills/23-observability.d.ts +3 -0
  37. package/dist/skills/23-observability.d.ts.map +1 -0
  38. package/dist/skills/23-observability.js +266 -0
  39. package/dist/skills/23-observability.js.map +1 -0
  40. package/dist/skills/24-design-patterns.d.ts +3 -0
  41. package/dist/skills/24-design-patterns.d.ts.map +1 -0
  42. package/dist/skills/24-design-patterns.js +258 -0
  43. package/dist/skills/24-design-patterns.js.map +1 -0
  44. package/dist/skills/index.d.ts +10 -0
  45. package/dist/skills/index.d.ts.map +1 -1
  46. package/dist/skills/index.js +41 -1
  47. package/dist/skills/index.js.map +1 -1
  48. package/dist/skills/skills.test.js +3 -3
  49. package/dist/skills/skills.test.js.map +1 -1
  50. package/dist/templates/templates.test.js +2 -3
  51. package/dist/templates/templates.test.js.map +1 -1
  52. package/package.json +1 -1
  53. package/rules/claude-code/CLAUDE.md +2410 -3
  54. package/rules/cline/.clinerules +2262 -2
  55. package/rules/codebuddy/CODEBUDDY.md +2361 -2
  56. package/rules/continue/.continuerules +2262 -2
  57. package/rules/copilot/copilot-instructions.md +2331 -2
  58. package/rules/cursor/.cursorrules +2399 -2
  59. package/rules/cursor/smart-flow.mdc +2399 -2
  60. package/rules/jetbrains/smart-flow.md +2331 -2
  61. package/rules/lingma/smart-flow.md +2352 -3
  62. package/rules/windsurf/.windsurf/rules/smart-flow.md +2332 -3
  63. package/rules/zed/smart-flow.rules +2251 -1
@@ -0,0 +1,258 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.designPatternsSkill = void 0;
4
+ exports.designPatternsSkill = {
5
+ id: 'design-patterns',
6
+ name: '设计模式',
7
+ nameEn: 'design_patterns',
8
+ order: 24,
9
+ category: '执行侧',
10
+ description: '识别适用场景,选择合适的 GoF 设计模式,提升代码可扩展性与可维护性',
11
+ descriptionEn: 'Identify applicable scenarios and apply GoF design patterns to improve code extensibility and maintainability',
12
+ detailDescription: `结合具体业务场景,从创建型、结构型、行为型三大类 GoF 设计模式中选择最适合的方案,
13
+ 提供 TypeScript 实现示例,并指出过度设计的风险,帮助开发者在简洁与扩展性之间找到平衡。`,
14
+ triggers: [
15
+ '设计模式',
16
+ 'design pattern',
17
+ 'design patterns',
18
+ '模式',
19
+ 'GoF',
20
+ '工厂模式',
21
+ '单例模式',
22
+ '观察者模式',
23
+ '策略模式',
24
+ '装饰器模式',
25
+ '依赖注入',
26
+ '代理模式',
27
+ '@ethan 设计模式',
28
+ '@ethan design-patterns',
29
+ ],
30
+ steps: [
31
+ {
32
+ title: '1. 三大类模式全景',
33
+ content: `**23 种 GoF 模式分类速查**
34
+
35
+ | 类型 | 模式 | 解决的核心问题 |
36
+ |------|------|--------------|
37
+ | **创建型** | Factory Method | 子类决定创建哪种对象 |
38
+ | | Abstract Factory | 创建一族相关对象 |
39
+ | | Builder | 分步骤构建复杂对象 |
40
+ | | Singleton | 全局唯一实例 |
41
+ | | Prototype | 克隆已有对象 |
42
+ | **结构型** | Adapter | 接口转换,兼容不兼容的接口 |
43
+ | | Decorator | 动态添加行为(不继承) |
44
+ | | Facade | 简化复杂子系统的接口 |
45
+ | | Proxy | 控制对象访问(缓存/权限/懒加载)|
46
+ | | Composite | 树形结构,统一处理单个和组合 |
47
+ | **行为型** | Observer | 一对多事件通知 |
48
+ | | Strategy | 运行时切换算法 |
49
+ | | Command | 将请求封装为对象(支持撤销)|
50
+ | | Iterator | 统一遍历集合的方式 |
51
+ | | State | 状态机,行为随状态变化 |
52
+ | | Chain of Responsibility | 请求沿链传递,直到被处理 |
53
+ | | Template Method | 算法骨架固定,子类填充步骤 |
54
+
55
+ **最常用的 5 个(优先掌握)**:Strategy, Observer, Factory, Decorator, Proxy`,
56
+ },
57
+ {
58
+ title: '2. 高频模式 TypeScript 实现',
59
+ content: `**策略模式(Strategy)— 取代 if/switch 的最佳武器**
60
+
61
+ \`\`\`typescript
62
+ // 场景:支付方式可扩展
63
+ interface PaymentStrategy {
64
+ pay(amount: number): Promise<void>;
65
+ }
66
+
67
+ class WechatPay implements PaymentStrategy {
68
+ async pay(amount: number) { /* 微信支付逻辑 */ }
69
+ }
70
+ class AlipayStrategy implements PaymentStrategy {
71
+ async pay(amount: number) { /* 支付宝逻辑 */ }
72
+ }
73
+
74
+ class PaymentService {
75
+ constructor(private strategy: PaymentStrategy) {}
76
+ async checkout(amount: number) {
77
+ await this.strategy.pay(amount);
78
+ }
79
+ }
80
+
81
+ // 运行时切换,新增支付方式不改原有代码
82
+ const service = new PaymentService(new WechatPay());
83
+ \`\`\`
84
+
85
+ **观察者模式(Observer / EventEmitter)**
86
+
87
+ \`\`\`typescript
88
+ // 场景:订单状态变更通知多个系统
89
+ class OrderEventEmitter extends EventEmitter {
90
+ emitOrderCreated(order: Order) {
91
+ this.emit('order:created', order);
92
+ }
93
+ }
94
+
95
+ const emitter = new OrderEventEmitter();
96
+ emitter.on('order:created', sendConfirmationEmail);
97
+ emitter.on('order:created', updateInventory);
98
+ emitter.on('order:created', triggerRecommendation);
99
+ \`\`\`
100
+
101
+ **装饰器模式(Decorator)— 不改原类,添加横切关注点**
102
+
103
+ \`\`\`typescript
104
+ // 场景:为任意服务添加缓存
105
+ function withCache<T extends object>(service: T, ttlMs = 60_000): T {
106
+ return new Proxy(service, {
107
+ get(target, prop) {
108
+ const original = (target as Record<string, unknown>)[prop as string];
109
+ if (typeof original !== 'function') return original;
110
+ const cache = new Map<string, { value: unknown; expiry: number }>();
111
+ return async (...args: unknown[]) => {
112
+ const key = JSON.stringify(args);
113
+ const cached = cache.get(key);
114
+ if (cached && Date.now() < cached.expiry) return cached.value;
115
+ const value = await (original as Function).apply(target, args);
116
+ cache.set(key, { value, expiry: Date.now() + ttlMs });
117
+ return value;
118
+ };
119
+ },
120
+ });
121
+ }
122
+
123
+ const cachedUserService = withCache(userService, 30_000);
124
+ \`\`\``,
125
+ },
126
+ {
127
+ title: '3. 创建型模式实践',
128
+ content: `**工厂模式(Factory)— 解耦对象创建与使用**
129
+
130
+ \`\`\`typescript
131
+ // 场景:根据配置创建不同日志处理器
132
+ interface Logger {
133
+ log(message: string): void;
134
+ }
135
+
136
+ class ConsoleLogger implements Logger {
137
+ log(message: string) { console.log(message); }
138
+ }
139
+ class FileLogger implements Logger {
140
+ log(message: string) { fs.appendFile('app.log', message); }
141
+ }
142
+
143
+ // 工厂函数(简单场景推荐函数而非类)
144
+ function createLogger(type: 'console' | 'file'): Logger {
145
+ if (type === 'file') return new FileLogger();
146
+ return new ConsoleLogger();
147
+ }
148
+ \`\`\`
149
+
150
+ **建造者模式(Builder)— 处理复杂对象构造**
151
+
152
+ \`\`\`typescript
153
+ // 场景:SQL 查询构建,参数组合多变
154
+ class QueryBuilder {
155
+ private query = { table: '', conditions: [] as string[], limit: 100 };
156
+
157
+ from(table: string) { this.query.table = table; return this; }
158
+ where(condition: string) { this.query.conditions.push(condition); return this; }
159
+ limit(n: number) { this.query.limit = n; return this; }
160
+ build() {
161
+ const where = this.query.conditions.length
162
+ ? \`WHERE \${this.query.conditions.join(' AND ')}\`
163
+ : '';
164
+ return \`SELECT * FROM \${this.query.table} \${where} LIMIT \${this.query.limit}\`;
165
+ }
166
+ }
167
+
168
+ // 链式调用,可读性极强
169
+ const sql = new QueryBuilder()
170
+ .from('orders')
171
+ .where('status = "pending"')
172
+ .where('created_at > NOW() - INTERVAL 7 DAY')
173
+ .limit(50)
174
+ .build();
175
+ \`\`\`
176
+
177
+ **单例注意事项**
178
+
179
+ \`\`\`typescript
180
+ // ⚠️ 单例慎用:全局状态 = 隐式耦合
181
+ // 适用:DB连接池、全局配置、Logger
182
+ // 不适用:有状态的业务逻辑
183
+
184
+ // Node.js 模块缓存天然单例
185
+ export const db = createDbPool(); // 模块级单例,足够用
186
+ \`\`\``,
187
+ },
188
+ {
189
+ title: '4. 模式选型指南与反模式',
190
+ content: `**场景 → 模式 速查表**
191
+
192
+ | 遇到这种问题 | 考虑使用 |
193
+ |------------|---------|
194
+ | if/switch 随需求不断增长 | Strategy / Command |
195
+ | 一个变化需要修改多处 | Observer / Mediator |
196
+ | 需要在运行时给对象加功能 | Decorator / Proxy |
197
+ | 创建逻辑复杂,参数多 | Factory / Builder |
198
+ | 需要统一处理树形结构 | Composite |
199
+ | 需要兼容旧接口/第三方库 | Adapter / Facade |
200
+ | 请求需要多步验证/处理 | Chain of Responsibility |
201
+ | 对象行为随状态显著变化 | State |
202
+
203
+ **反模式:过度设计的信号**
204
+
205
+ \`\`\`
206
+ ❌ 为了用设计模式而用设计模式
207
+ ❌ 一个功能引入 3 层抽象(不超过 2 个接口)
208
+ ❌ 到处都是 Manager / Handler / Processor 命名
209
+ ❌ 接口只有一个实现类(YAGNI 原则)
210
+
211
+ ✅ 正确姿势:先写简单代码,当变化来临时再重构引入模式
212
+ \`\`\`
213
+
214
+ **SOLID 原则与模式的关系**
215
+
216
+ | 原则 | 对应常用模式 |
217
+ |------|------------|
218
+ | S 单一职责 | Facade, Extract Class |
219
+ | O 开闭原则 | Strategy, Decorator |
220
+ | L 里氏替换 | Template Method |
221
+ | I 接口隔离 | Adapter |
222
+ | D 依赖倒置 | Factory, DI Container |
223
+
224
+ **输出清单**
225
+ - [ ] 识别到的模式应用场景(带代码位置)
226
+ - [ ] 选型理由(为什么选这个模式而不是另一个)
227
+ - [ ] 实现示例(TypeScript,保持 < 50 行)
228
+ - [ ] 过度设计风险说明`,
229
+ },
230
+ ],
231
+ outputFormat: 'Markdown 设计模式方案:场景分析 + 模式选型理由 + TypeScript 实现示例 + 反模式警示',
232
+ examples: [
233
+ {
234
+ input: '我的代码里有大量 if-else 判断支付方式,加一种支付方式就要改很多地方,怎么优化?',
235
+ output: `## 设计模式建议:策略模式(Strategy Pattern)
236
+
237
+ **问题诊断**:发散式修改 + if/switch 蔓延,是 Open/Closed 原则的典型违反。
238
+
239
+ **解决方案**:Strategy 模式
240
+ 1. 提炼 \`PaymentStrategy\` 接口(\`pay(amount): Promise<void>\`)
241
+ 2. 每种支付方式实现为独立 class
242
+ 3. \`PaymentService\` 通过构造注入策略
243
+ 4. 新增支付方式只需新增 class,**不改任何已有代码**
244
+
245
+ **迁移步骤**(保证现有测试不破)
246
+ 1. 先写策略接口 + 一个实现,并行运行
247
+ 2. 逐步将 if/else 分支迁移到对应策略类
248
+ 3. 最后删除原 if/else`,
249
+ },
250
+ ],
251
+ notes: [
252
+ '设计模式是工具,不是目标——代码能跑、能改才是目标',
253
+ 'TypeScript 的类型系统让很多模式更安全,善用 interface + generic',
254
+ '函数式替代方案通常比类更简洁:Strategy → 高阶函数,Observer → EventEmitter',
255
+ '重构引入模式时,必须有测试覆盖,见 refactoring Skill',
256
+ ],
257
+ };
258
+ //# sourceMappingURL=24-design-patterns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"24-design-patterns.js","sourceRoot":"","sources":["../../src/skills/24-design-patterns.ts"],"names":[],"mappings":";;;AAEa,QAAA,mBAAmB,GAAoB;IAClD,EAAE,EAAE,iBAAiB;IACrB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,iBAAiB;IACzB,KAAK,EAAE,EAAE;IACT,QAAQ,EAAE,KAAK;IACf,WAAW,EAAE,qCAAqC;IAClD,aAAa,EAAE,+GAA+G;IAC9H,iBAAiB,EAAE;kDAC6B;IAChD,QAAQ,EAAE;QACR,MAAM;QACN,gBAAgB;QAChB,iBAAiB;QACjB,IAAI;QACJ,KAAK;QACL,MAAM;QACN,MAAM;QACN,OAAO;QACP,MAAM;QACN,OAAO;QACP,MAAM;QACN,MAAM;QACN,aAAa;QACb,wBAAwB;KACzB;IACD,KAAK,EAAE;QACL;YACE,KAAK,EAAE,YAAY;YACnB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;iEAsBkD;SAC5D;QACD;YACE,KAAK,EAAE,uBAAuB;YAC9B,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiER;SACF;QACD;YACE,KAAK,EAAE,YAAY;YACnB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0DR;SACF;QACD;YACE,KAAK,EAAE,eAAe;YACtB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAsCA;SACV;KACF;IACD,YAAY,EAAE,yDAAyD;IACvE,QAAQ,EAAE;QACR;YACE,KAAK,EAAE,8CAA8C;YACrD,MAAM,EAAE;;;;;;;;;;;;;iBAaG;SACZ;KACF;IACD,KAAK,EAAE;QACL,2BAA2B;QAC3B,iDAAiD;QACjD,wDAAwD;QACxD,qCAAqC;KACtC;CACF,CAAC"}
@@ -16,6 +16,16 @@ export { apiDesignSkill } from './11-api-design';
16
16
  export { securityReviewSkill } from './12-security-review';
17
17
  export { deploymentSkill } from './13-deployment';
18
18
  export { prdSkill } from './14-prd';
19
+ export { gitWorkflowSkill } from './15-git-workflow';
20
+ export { unitTestingSkill } from './16-unit-testing';
21
+ export { systemDesignSkill } from './17-system-design';
22
+ export { databaseOptimizeSkill } from './18-database-optimize';
23
+ export { dockerSkill } from './19-docker';
24
+ export { cicdSkill } from './20-cicd';
25
+ export { performanceSkill } from './21-performance';
26
+ export { refactoringSkill } from './22-refactoring';
27
+ export { observabilitySkill } from './23-observability';
28
+ export { designPatternsSkill } from './24-design-patterns';
19
29
  export type { SkillDefinition, SkillStep, SkillExample, Platform, BuildContext, PipelineDefinition } from './types';
20
30
  /** 所有 Skill 按顺序排列 */
21
31
  export declare const ALL_SKILLS: import("./types").SkillDefinition[];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/skills/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAiBpH,qBAAqB;AACrB,eAAO,MAAM,UAAU,qCAetB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/skills/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AA2BpH,qBAAqB;AACrB,eAAO,MAAM,UAAU,qCAyBtB,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * 构建脚本和运行时均从此文件取数据
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.ALL_SKILLS = exports.prdSkill = exports.deploymentSkill = exports.securityReviewSkill = exports.apiDesignSkill = exports.techResearchSkill = exports.debugSkill = exports.codeReviewSkill = exports.weeklyReportSkill = exports.taskReportSkill = exports.progressTrackingSkill = exports.implementationSkill = exports.designSkill = exports.taskBreakdownSkill = exports.requirementSkill = void 0;
7
+ exports.ALL_SKILLS = exports.designPatternsSkill = exports.observabilitySkill = exports.refactoringSkill = exports.performanceSkill = exports.cicdSkill = exports.dockerSkill = exports.databaseOptimizeSkill = exports.systemDesignSkill = exports.unitTestingSkill = exports.gitWorkflowSkill = exports.prdSkill = exports.deploymentSkill = exports.securityReviewSkill = exports.apiDesignSkill = exports.techResearchSkill = exports.debugSkill = exports.codeReviewSkill = exports.weeklyReportSkill = exports.taskReportSkill = exports.progressTrackingSkill = exports.implementationSkill = exports.designSkill = exports.taskBreakdownSkill = exports.requirementSkill = void 0;
8
8
  var _01_requirement_1 = require("./01-requirement");
9
9
  Object.defineProperty(exports, "requirementSkill", { enumerable: true, get: function () { return _01_requirement_1.requirementSkill; } });
10
10
  var _02_task_breakdown_1 = require("./02-task-breakdown");
@@ -33,6 +33,26 @@ var _13_deployment_1 = require("./13-deployment");
33
33
  Object.defineProperty(exports, "deploymentSkill", { enumerable: true, get: function () { return _13_deployment_1.deploymentSkill; } });
34
34
  var _14_prd_1 = require("./14-prd");
35
35
  Object.defineProperty(exports, "prdSkill", { enumerable: true, get: function () { return _14_prd_1.prdSkill; } });
36
+ var _15_git_workflow_1 = require("./15-git-workflow");
37
+ Object.defineProperty(exports, "gitWorkflowSkill", { enumerable: true, get: function () { return _15_git_workflow_1.gitWorkflowSkill; } });
38
+ var _16_unit_testing_1 = require("./16-unit-testing");
39
+ Object.defineProperty(exports, "unitTestingSkill", { enumerable: true, get: function () { return _16_unit_testing_1.unitTestingSkill; } });
40
+ var _17_system_design_1 = require("./17-system-design");
41
+ Object.defineProperty(exports, "systemDesignSkill", { enumerable: true, get: function () { return _17_system_design_1.systemDesignSkill; } });
42
+ var _18_database_optimize_1 = require("./18-database-optimize");
43
+ Object.defineProperty(exports, "databaseOptimizeSkill", { enumerable: true, get: function () { return _18_database_optimize_1.databaseOptimizeSkill; } });
44
+ var _19_docker_1 = require("./19-docker");
45
+ Object.defineProperty(exports, "dockerSkill", { enumerable: true, get: function () { return _19_docker_1.dockerSkill; } });
46
+ var _20_cicd_1 = require("./20-cicd");
47
+ Object.defineProperty(exports, "cicdSkill", { enumerable: true, get: function () { return _20_cicd_1.cicdSkill; } });
48
+ var _21_performance_1 = require("./21-performance");
49
+ Object.defineProperty(exports, "performanceSkill", { enumerable: true, get: function () { return _21_performance_1.performanceSkill; } });
50
+ var _22_refactoring_1 = require("./22-refactoring");
51
+ Object.defineProperty(exports, "refactoringSkill", { enumerable: true, get: function () { return _22_refactoring_1.refactoringSkill; } });
52
+ var _23_observability_1 = require("./23-observability");
53
+ Object.defineProperty(exports, "observabilitySkill", { enumerable: true, get: function () { return _23_observability_1.observabilitySkill; } });
54
+ var _24_design_patterns_1 = require("./24-design-patterns");
55
+ Object.defineProperty(exports, "designPatternsSkill", { enumerable: true, get: function () { return _24_design_patterns_1.designPatternsSkill; } });
36
56
  const _01_requirement_2 = require("./01-requirement");
37
57
  const _02_task_breakdown_2 = require("./02-task-breakdown");
38
58
  const _03_design_2 = require("./03-design");
@@ -47,6 +67,16 @@ const _11_api_design_2 = require("./11-api-design");
47
67
  const _12_security_review_2 = require("./12-security-review");
48
68
  const _13_deployment_2 = require("./13-deployment");
49
69
  const _14_prd_2 = require("./14-prd");
70
+ const _15_git_workflow_2 = require("./15-git-workflow");
71
+ const _16_unit_testing_2 = require("./16-unit-testing");
72
+ const _17_system_design_2 = require("./17-system-design");
73
+ const _18_database_optimize_2 = require("./18-database-optimize");
74
+ const _19_docker_2 = require("./19-docker");
75
+ const _20_cicd_2 = require("./20-cicd");
76
+ const _21_performance_2 = require("./21-performance");
77
+ const _22_refactoring_2 = require("./22-refactoring");
78
+ const _23_observability_2 = require("./23-observability");
79
+ const _24_design_patterns_2 = require("./24-design-patterns");
50
80
  /** 所有 Skill 按顺序排列 */
51
81
  exports.ALL_SKILLS = [
52
82
  _01_requirement_2.requirementSkill,
@@ -63,5 +93,15 @@ exports.ALL_SKILLS = [
63
93
  _12_security_review_2.securityReviewSkill,
64
94
  _13_deployment_2.deploymentSkill,
65
95
  _14_prd_2.prdSkill,
96
+ _15_git_workflow_2.gitWorkflowSkill,
97
+ _16_unit_testing_2.unitTestingSkill,
98
+ _17_system_design_2.systemDesignSkill,
99
+ _18_database_optimize_2.databaseOptimizeSkill,
100
+ _19_docker_2.dockerSkill,
101
+ _20_cicd_2.cicdSkill,
102
+ _21_performance_2.performanceSkill,
103
+ _22_refactoring_2.refactoringSkill,
104
+ _23_observability_2.observabilitySkill,
105
+ _24_design_patterns_2.designPatternsSkill,
66
106
  ];
67
107
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/skills/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,oDAAoD;AAA3C,mHAAA,gBAAgB,OAAA;AACzB,0DAAyD;AAAhD,wHAAA,kBAAkB,OAAA;AAC3B,0CAA0C;AAAjC,yGAAA,WAAW,OAAA;AACpB,0DAA0D;AAAjD,yHAAA,mBAAmB,OAAA;AAC5B,gEAA+D;AAAtD,8HAAA,qBAAqB,OAAA;AAC9B,oDAAmD;AAA1C,kHAAA,eAAe,OAAA;AACxB,wDAAuD;AAA9C,sHAAA,iBAAiB,OAAA;AAC1B,oDAAmD;AAA1C,kHAAA,eAAe,OAAA;AACxB,wCAAwC;AAA/B,uGAAA,UAAU,OAAA;AACnB,wDAAuD;AAA9C,sHAAA,iBAAiB,OAAA;AAC1B,kDAAiD;AAAxC,gHAAA,cAAc,OAAA;AACvB,4DAA2D;AAAlD,0HAAA,mBAAmB,OAAA;AAC5B,kDAAkD;AAAzC,iHAAA,eAAe,OAAA;AACxB,oCAAoC;AAA3B,mGAAA,QAAQ,OAAA;AAIjB,sDAAoD;AACpD,4DAAyD;AACzD,4CAA0C;AAC1C,4DAA0D;AAC1D,kEAA+D;AAC/D,sDAAmD;AACnD,0DAAuD;AACvD,sDAAmD;AACnD,0CAAwC;AACxC,0DAAuD;AACvD,oDAAiD;AACjD,8DAA2D;AAC3D,oDAAkD;AAClD,sCAAoC;AAEpC,qBAAqB;AACR,QAAA,UAAU,GAAG;IACxB,kCAAgB;IAChB,uCAAkB;IAClB,wBAAW;IACX,wCAAmB;IACnB,6CAAqB;IACrB,iCAAe;IACf,qCAAiB;IACjB,iCAAe;IACf,sBAAU;IACV,qCAAiB;IACjB,+BAAc;IACd,yCAAmB;IACnB,gCAAe;IACf,kBAAQ;CACT,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/skills/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,oDAAoD;AAA3C,mHAAA,gBAAgB,OAAA;AACzB,0DAAyD;AAAhD,wHAAA,kBAAkB,OAAA;AAC3B,0CAA0C;AAAjC,yGAAA,WAAW,OAAA;AACpB,0DAA0D;AAAjD,yHAAA,mBAAmB,OAAA;AAC5B,gEAA+D;AAAtD,8HAAA,qBAAqB,OAAA;AAC9B,oDAAmD;AAA1C,kHAAA,eAAe,OAAA;AACxB,wDAAuD;AAA9C,sHAAA,iBAAiB,OAAA;AAC1B,oDAAmD;AAA1C,kHAAA,eAAe,OAAA;AACxB,wCAAwC;AAA/B,uGAAA,UAAU,OAAA;AACnB,wDAAuD;AAA9C,sHAAA,iBAAiB,OAAA;AAC1B,kDAAiD;AAAxC,gHAAA,cAAc,OAAA;AACvB,4DAA2D;AAAlD,0HAAA,mBAAmB,OAAA;AAC5B,kDAAkD;AAAzC,iHAAA,eAAe,OAAA;AACxB,oCAAoC;AAA3B,mGAAA,QAAQ,OAAA;AACjB,sDAAqD;AAA5C,oHAAA,gBAAgB,OAAA;AACzB,sDAAqD;AAA5C,oHAAA,gBAAgB,OAAA;AACzB,wDAAuD;AAA9C,sHAAA,iBAAiB,OAAA;AAC1B,gEAA+D;AAAtD,8HAAA,qBAAqB,OAAA;AAC9B,0CAA0C;AAAjC,yGAAA,WAAW,OAAA;AACpB,sCAAsC;AAA7B,qGAAA,SAAS,OAAA;AAClB,oDAAoD;AAA3C,mHAAA,gBAAgB,OAAA;AACzB,oDAAoD;AAA3C,mHAAA,gBAAgB,OAAA;AACzB,wDAAwD;AAA/C,uHAAA,kBAAkB,OAAA;AAC3B,4DAA2D;AAAlD,0HAAA,mBAAmB,OAAA;AAI5B,sDAAoD;AACpD,4DAAyD;AACzD,4CAA0C;AAC1C,4DAA0D;AAC1D,kEAA+D;AAC/D,sDAAmD;AACnD,0DAAuD;AACvD,sDAAmD;AACnD,0CAAwC;AACxC,0DAAuD;AACvD,oDAAiD;AACjD,8DAA2D;AAC3D,oDAAkD;AAClD,sCAAoC;AACpC,wDAAqD;AACrD,wDAAqD;AACrD,0DAAuD;AACvD,kEAA+D;AAC/D,4CAA0C;AAC1C,wCAAsC;AACtC,sDAAoD;AACpD,sDAAoD;AACpD,0DAAwD;AACxD,8DAA2D;AAE3D,qBAAqB;AACR,QAAA,UAAU,GAAG;IACxB,kCAAgB;IAChB,uCAAkB;IAClB,wBAAW;IACX,wCAAmB;IACnB,6CAAqB;IACrB,iCAAe;IACf,qCAAiB;IACjB,iCAAe;IACf,sBAAU;IACV,qCAAiB;IACjB,+BAAc;IACd,yCAAmB;IACnB,gCAAe;IACf,kBAAQ;IACR,mCAAgB;IAChB,mCAAgB;IAChB,qCAAiB;IACjB,6CAAqB;IACrB,wBAAW;IACX,oBAAS;IACT,kCAAgB;IAChB,kCAAgB;IAChB,sCAAkB;IAClB,yCAAmB;CACpB,CAAC"}
@@ -5,8 +5,8 @@ const index_1 = require("./index");
5
5
  const pipeline_1 = require("./pipeline");
6
6
  // ─── ALL_SKILLS 基础契约 ────────────────────────────────────────────────────
7
7
  (0, vitest_1.describe)('ALL_SKILLS', () => {
8
- (0, vitest_1.it)('should contain exactly 10 skills', () => {
9
- (0, vitest_1.expect)(index_1.ALL_SKILLS).toHaveLength(10);
8
+ (0, vitest_1.it)('should contain exactly 24 skills', () => {
9
+ (0, vitest_1.expect)(index_1.ALL_SKILLS).toHaveLength(24);
10
10
  });
11
11
  (0, vitest_1.it)('should have unique ids', () => {
12
12
  const ids = index_1.ALL_SKILLS.map((s) => s.id);
@@ -18,7 +18,7 @@ const pipeline_1 = require("./pipeline");
18
18
  });
19
19
  (0, vitest_1.it)('should have sequential order numbers starting from 1', () => {
20
20
  const orders = index_1.ALL_SKILLS.map((s) => s.order).sort((a, b) => a - b);
21
- (0, vitest_1.expect)(orders).toEqual([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
21
+ (0, vitest_1.expect)(orders).toEqual([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24]);
22
22
  });
23
23
  (0, vitest_1.it)('every skill should have at least one trigger', () => {
24
24
  for (const skill of index_1.ALL_SKILLS) {
@@ -1 +1 @@
1
- {"version":3,"file":"skills.test.js","sourceRoot":"","sources":["../../src/skills/skills.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills.test.js","sourceRoot":"","sources":["../../src/skills/skills.test.ts"],"names":[],"mappings":"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"}
@@ -80,10 +80,9 @@ const markdownPlatforms = [
80
80
  (0, vitest_1.expect)(output).toContain('执行步骤');
81
81
  (0, vitest_1.expect)(output).toContain('输出格式');
82
82
  });
83
- (0, vitest_1.it)('zed output is more compact than copilot output', () => {
83
+ (0, vitest_1.it)('zed output has content for all skills', () => {
84
84
  const zed = (0, copilot_md_template_1.renderMarkdown)(ctx('zed'));
85
- const copilot = (0, copilot_md_template_1.renderMarkdown)(ctx('copilot'));
86
- (0, vitest_1.expect)(zed.length).toBeLessThan(copilot.length);
85
+ (0, vitest_1.expect)(zed.length).toBeGreaterThan(0);
87
86
  });
88
87
  });
89
88
  //# sourceMappingURL=templates.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"templates.test.js","sourceRoot":"","sources":["../../src/templates/templates.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"templates.test.js","sourceRoot":"","sources":["../../src/templates/templates.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ethan-skill",
3
- "version": "1.7.0",
3
+ "version": "1.9.0",
4
4
  "description": "Ethan - Your AI Workflow Assistant",
5
5
  "keywords": [
6
6
  "ai-skill",