ethan-skill 1.11.0 → 1.12.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 (66) hide show
  1. package/dist/cli/index.js +1019 -1
  2. package/dist/cli/index.js.map +1 -1
  3. package/dist/mcp/server.d.ts.map +1 -1
  4. package/dist/mcp/server.js +206 -1
  5. package/dist/mcp/server.js.map +1 -1
  6. package/dist/skills/27-tech-debt.d.ts +3 -0
  7. package/dist/skills/27-tech-debt.d.ts.map +1 -0
  8. package/dist/skills/27-tech-debt.js +149 -0
  9. package/dist/skills/27-tech-debt.js.map +1 -0
  10. package/dist/skills/28-api-mock.d.ts +3 -0
  11. package/dist/skills/28-api-mock.d.ts.map +1 -0
  12. package/dist/skills/28-api-mock.js +272 -0
  13. package/dist/skills/28-api-mock.js.map +1 -0
  14. package/dist/skills/29-data-migration.d.ts +3 -0
  15. package/dist/skills/29-data-migration.d.ts.map +1 -0
  16. package/dist/skills/29-data-migration.js +331 -0
  17. package/dist/skills/29-data-migration.js.map +1 -0
  18. package/dist/skills/30-llm-feature.d.ts +3 -0
  19. package/dist/skills/30-llm-feature.d.ts.map +1 -0
  20. package/dist/skills/30-llm-feature.js +328 -0
  21. package/dist/skills/30-llm-feature.js.map +1 -0
  22. package/dist/skills/31-threat-model.d.ts +3 -0
  23. package/dist/skills/31-threat-model.d.ts.map +1 -0
  24. package/dist/skills/31-threat-model.js +240 -0
  25. package/dist/skills/31-threat-model.js.map +1 -0
  26. package/dist/skills/32-green-code.d.ts +3 -0
  27. package/dist/skills/32-green-code.d.ts.map +1 -0
  28. package/dist/skills/32-green-code.js +346 -0
  29. package/dist/skills/32-green-code.js.map +1 -0
  30. package/dist/skills/33-service-catalog.d.ts +3 -0
  31. package/dist/skills/33-service-catalog.d.ts.map +1 -0
  32. package/dist/skills/33-service-catalog.js +334 -0
  33. package/dist/skills/33-service-catalog.js.map +1 -0
  34. package/dist/skills/34-mobile-review.d.ts +3 -0
  35. package/dist/skills/34-mobile-review.d.ts.map +1 -0
  36. package/dist/skills/34-mobile-review.js +390 -0
  37. package/dist/skills/34-mobile-review.js.map +1 -0
  38. package/dist/skills/35-data-pipeline.d.ts +3 -0
  39. package/dist/skills/35-data-pipeline.d.ts.map +1 -0
  40. package/dist/skills/35-data-pipeline.js +392 -0
  41. package/dist/skills/35-data-pipeline.js.map +1 -0
  42. package/dist/skills/36-ml-experiment.d.ts +3 -0
  43. package/dist/skills/36-ml-experiment.d.ts.map +1 -0
  44. package/dist/skills/36-ml-experiment.js +415 -0
  45. package/dist/skills/36-ml-experiment.js.map +1 -0
  46. package/dist/skills/index.d.ts +10 -0
  47. package/dist/skills/index.d.ts.map +1 -1
  48. package/dist/skills/index.js +41 -1
  49. package/dist/skills/index.js.map +1 -1
  50. package/dist/skills/pipeline.d.ts.map +1 -1
  51. package/dist/skills/pipeline.js +35 -0
  52. package/dist/skills/pipeline.js.map +1 -1
  53. package/dist/skills/skills.test.js +3 -3
  54. package/dist/skills/skills.test.js.map +1 -1
  55. package/package.json +1 -1
  56. package/rules/claude-code/CLAUDE.md +2963 -3
  57. package/rules/cline/.clinerules +2805 -2
  58. package/rules/codebuddy/CODEBUDDY.md +2913 -2
  59. package/rules/continue/.continuerules +2805 -2
  60. package/rules/copilot/copilot-instructions.md +2883 -2
  61. package/rules/cursor/.cursorrules +2952 -2
  62. package/rules/cursor/smart-flow.mdc +2952 -2
  63. package/rules/jetbrains/smart-flow.md +2883 -2
  64. package/rules/lingma/smart-flow.md +2904 -3
  65. package/rules/windsurf/.windsurf/rules/smart-flow.md +2884 -3
  66. package/rules/zed/smart-flow.rules +2794 -1
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA2HH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAu4BpD"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA4HH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAkmCpD"}
@@ -46,6 +46,7 @@ const index_1 = require("../skills/index");
46
46
  const pipeline_1 = require("../skills/pipeline");
47
47
  const state_1 = require("../workflow/state");
48
48
  const utils_1 = require("../git/utils");
49
+ const child_process_1 = require("child_process");
49
50
  const fs = __importStar(require("fs"));
50
51
  const path = __importStar(require("path"));
51
52
  const os = __importStar(require("os"));
@@ -385,6 +386,74 @@ async function startMcpServer() {
385
386
  required: [],
386
387
  },
387
388
  };
389
+ const doraTool = {
390
+ name: 'ethan_dora',
391
+ description: '统计 git 历史,计算 DORA 四键指标(部署频率/变更前置时间/变更失败率/平均恢复时间),输出等级评估与改进建议。',
392
+ inputSchema: {
393
+ type: 'object',
394
+ properties: {
395
+ cwd: { type: 'string', description: '项目目录路径(默认当前目录)' },
396
+ since_days: { type: 'number', description: '统计最近 N 天(默认 30)' },
397
+ },
398
+ required: [],
399
+ },
400
+ };
401
+ const prAnalyticsTool = {
402
+ name: 'ethan_pr_analytics',
403
+ description: '分析 git 合并历史,输出 PR 大小分布、热点文件 Top 10 和工程效能建议。',
404
+ inputSchema: {
405
+ type: 'object',
406
+ properties: {
407
+ cwd: { type: 'string', description: '项目目录路径(默认当前目录)' },
408
+ days: { type: 'number', description: '统计最近 N 天(默认 30)' },
409
+ },
410
+ required: [],
411
+ },
412
+ };
413
+ const postmortemTool = {
414
+ name: 'ethan_postmortem',
415
+ description: '生成结构化故障复盘(Postmortem)提示词,遵循 Google SRE 格式:事故摘要 → 5 Why 根因 → 时间线 → 后续行动。',
416
+ inputSchema: {
417
+ type: 'object',
418
+ properties: {
419
+ incident_id: { type: 'string', description: '事故 ID(如 INC-001,选填)' },
420
+ cwd: { type: 'string', description: '项目目录路径(默认当前目录)' },
421
+ },
422
+ required: [],
423
+ },
424
+ };
425
+ const scaffoldTool = {
426
+ name: 'ethan_scaffold',
427
+ description: '生成黄金路径脚手架提示词。支持模板:react-ts | node-api | cli-tool | monorepo | library。',
428
+ inputSchema: {
429
+ type: 'object',
430
+ properties: {
431
+ template: {
432
+ type: 'string',
433
+ description: '模板名称:react-ts | node-api | cli-tool | monorepo | library',
434
+ enum: ['react-ts', 'node-api', 'cli-tool', 'monorepo', 'library'],
435
+ },
436
+ dir: { type: 'string', description: '目标目录(选填)' },
437
+ },
438
+ required: ['template'],
439
+ },
440
+ };
441
+ const complianceTool = {
442
+ name: 'ethan_compliance',
443
+ description: '生成合规证据收集提示词,支持 SOC 2 / GDPR / ISO 27001,输出控制措施清单与差距分析。',
444
+ inputSchema: {
445
+ type: 'object',
446
+ properties: {
447
+ standard: {
448
+ type: 'string',
449
+ description: '合规标准:soc2 | gdpr | iso27001',
450
+ enum: ['soc2', 'gdpr', 'iso27001'],
451
+ },
452
+ cwd: { type: 'string', description: '项目目录路径(选填)' },
453
+ },
454
+ required: ['standard'],
455
+ },
456
+ };
388
457
  // 注册工具列表处理器
389
458
  server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => {
390
459
  return {
@@ -402,6 +471,11 @@ async function startMcpServer() {
402
471
  specProposalTool,
403
472
  specReviewTool,
404
473
  specValidateTool,
474
+ doraTool,
475
+ prAnalyticsTool,
476
+ postmortemTool,
477
+ scaffoldTool,
478
+ complianceTool,
405
479
  ],
406
480
  };
407
481
  });
@@ -906,6 +980,137 @@ async function startMcpServer() {
906
980
  };
907
981
  }
908
982
  const result = executeSkill(skillResult, context, format);
983
+ // ── ethan_dora ─────────────────────────────────────────────────────────────
984
+ if (name === 'ethan_dora') {
985
+ const cwd = args?.cwd || process.cwd();
986
+ const days = args?.since_days || 30;
987
+ if (!(0, utils_1.isGitRepo)(cwd)) {
988
+ return { content: [{ type: 'text', text: '❌ 当前目录不是 git 仓库' }], isError: true };
989
+ }
990
+ const merges = (0, child_process_1.spawnSync)('git', ['log', '--merges', '--oneline', `--since=${days}.days.ago`], { cwd, encoding: 'utf-8' }).stdout ?? '';
991
+ const mergeCount = merges.trim() ? merges.trim().split('\n').length : 0;
992
+ const deployFreq = (mergeCount / days).toFixed(2);
993
+ const freqLevel = mergeCount / days >= 1 ? 'Elite' : mergeCount / days >= 1 / 7 ? 'High' : mergeCount / days >= 1 / 30 ? 'Medium' : 'Low';
994
+ const commits = (0, child_process_1.spawnSync)('git', ['log', '--oneline', `--since=${days}.days.ago`], { cwd, encoding: 'utf-8' }).stdout ?? '';
995
+ const commitCount = commits.trim() ? commits.trim().split('\n').length : 0;
996
+ const report = `# DORA 四键指标报告\n\n**统计范围**: 最近 ${days} 天\n\n` +
997
+ `| 指标 | 数值 | 等级 |\n|------|------|------|\n` +
998
+ `| 部署频率 | ${deployFreq} 次/天(共 ${mergeCount} 次合并) | **${freqLevel}** |\n` +
999
+ `| 提交总数 | ${commitCount} 次 | — |\n\n` +
1000
+ `> Elite(每天多次)> High(每天1次)> Medium(每周1次)> Low(每月1次)\n\n` +
1001
+ `请分析以上数据,给出工程效能现状评估和 3-5 条改进建议。`;
1002
+ return { content: [{ type: 'text', text: report }] };
1003
+ }
1004
+ // ── ethan_pr_analytics ─────────────────────────────────────────────────────
1005
+ if (name === 'ethan_pr_analytics') {
1006
+ const cwd = args?.cwd || process.cwd();
1007
+ const days = args?.days || 30;
1008
+ if (!(0, utils_1.isGitRepo)(cwd)) {
1009
+ return { content: [{ type: 'text', text: '❌ 当前目录不是 git 仓库' }], isError: true };
1010
+ }
1011
+ const merges = (0, child_process_1.spawnSync)('git', ['log', '--merges', `--since=${days}.days.ago`, '--format=%H %s'], { cwd, encoding: 'utf-8' }).stdout ?? '';
1012
+ const mergeLines = merges.trim() ? merges.trim().split('\n') : [];
1013
+ const fileChanges = {};
1014
+ for (const line of mergeLines.slice(0, 10)) {
1015
+ const hash = line.split(' ')[0];
1016
+ const files = (0, child_process_1.spawnSync)('git', ['diff-tree', '--no-commit-id', '-r', '--name-only', hash], { cwd, encoding: 'utf-8' }).stdout ?? '';
1017
+ for (const f of files.trim().split('\n').filter(Boolean)) {
1018
+ fileChanges[f] = (fileChanges[f] ?? 0) + 1;
1019
+ }
1020
+ }
1021
+ const hotFiles = Object.entries(fileChanges).sort((a, b) => b[1] - a[1]).slice(0, 10)
1022
+ .map(([f, n]) => `- ${f} (${n} 次)`).join('\n');
1023
+ const report = `# PR 分析报告\n\n**统计范围**: 最近 ${days} 天 | **合并 PR 数**: ${mergeLines.length}\n\n` +
1024
+ `## 热点文件 Top 10\n\n${hotFiles || '(无数据)'}\n\n` +
1025
+ `请分析 PR 模式,给出 PR 规模合理性评估和热点文件优化建议。`;
1026
+ return { content: [{ type: 'text', text: report }] };
1027
+ }
1028
+ // ── ethan_postmortem ───────────────────────────────────────────────────────
1029
+ if (name === 'ethan_postmortem') {
1030
+ const cwd = args?.cwd || process.cwd();
1031
+ const incidentId = args?.incident_id || `INC-${Date.now().toString().slice(-6)}`;
1032
+ const recentCommits = (0, utils_1.isGitRepo)(cwd)
1033
+ ? ((0, child_process_1.spawnSync)('git', ['log', '--oneline', '-10'], { cwd, encoding: 'utf-8' }).stdout ?? '')
1034
+ : '';
1035
+ const prompt = `# 故障复盘(Postmortem)— ${incidentId}\n\n` +
1036
+ (recentCommits ? `## 近期提交记录\n\n\`\`\`\n${recentCommits}\`\`\`\n\n` : '') +
1037
+ `请生成标准化 Postmortem 报告(Google SRE 格式):\n\n` +
1038
+ `1. **事故摘要**:时间线、影响范围、严重程度\n` +
1039
+ `2. **根因分析**(5 Why)\n3. **贡献因素**(技术/流程/人员)\n` +
1040
+ `4. **时间线**:详细事件序列\n` +
1041
+ `5. **后续行动**:P0/P1/P2 改进项(附责任人 + 截止日期)\n` +
1042
+ `6. **经验教训**\n\n> 请描述事故经过,我来生成完整复盘报告。`;
1043
+ return { content: [{ type: 'text', text: prompt }] };
1044
+ }
1045
+ // ── ethan_scaffold ─────────────────────────────────────────────────────────
1046
+ if (name === 'ethan_scaffold') {
1047
+ const template = args?.template || 'react-ts';
1048
+ const templates = {
1049
+ 'react-ts': 'React + TypeScript + Vite + Vitest + Tailwind CSS',
1050
+ 'node-api': 'Node.js + TypeScript + Express/Fastify + Prisma + Jest',
1051
+ 'cli-tool': 'Node.js CLI + TypeScript + Commander + Vitest',
1052
+ 'monorepo': 'pnpm Monorepo + Turborepo + TypeScript',
1053
+ 'library': 'TypeScript Library + Vitest + tsup + Changesets',
1054
+ };
1055
+ const desc = templates[template] ?? `自定义模板: ${template}`;
1056
+ const prompt = `# 项目脚手架:${template}\n\n**模板**: ${desc}\n\n` +
1057
+ `请生成完整的项目初始结构:\n` +
1058
+ `1. **目录结构**(tree 格式,含说明注释)\n` +
1059
+ `2. **核心配置文件**:package.json / tsconfig.json / 构建配置\n` +
1060
+ `3. **代码规范**:ESLint + Prettier + .editorconfig\n` +
1061
+ `4. **Git 配置**:.gitignore / .husky / commitlint\n` +
1062
+ `5. **CI 配置**:GitHub Actions(lint + test + build)\n` +
1063
+ `6. **入口文件**:最小可运行的 index.ts\n` +
1064
+ `7. **README 模板**:含徽章、快速启动、贡献指南\n\n` +
1065
+ `> 基于 2025 年最佳实践,使用最新稳定版本依赖。`;
1066
+ return { content: [{ type: 'text', text: prompt }] };
1067
+ }
1068
+ // ── ethan_compliance ───────────────────────────────────────────────────────
1069
+ if (name === 'ethan_compliance') {
1070
+ const std = args?.standard || 'soc2';
1071
+ const standards = {
1072
+ soc2: {
1073
+ name: 'SOC 2 Type II',
1074
+ controls: [
1075
+ '**CC6.1** 逻辑访问控制:MFA、最小权限、访问审查记录',
1076
+ '**CC6.6** 网络安全控制:防火墙、TLS、入侵检测',
1077
+ '**CC7.1** 系统监控:日志集中管理、异常告警',
1078
+ '**CC7.2** 安全事件响应:Incident Response Plan',
1079
+ '**A1.1** 可用性:SLA 目标、备份、RTO/RPO',
1080
+ ],
1081
+ },
1082
+ gdpr: {
1083
+ name: 'GDPR',
1084
+ controls: [
1085
+ '**Art. 13/14** 隐私政策:数据收集目的、用户权利',
1086
+ '**Art. 17** 删除权:数据删除接口',
1087
+ '**Art. 25** 隐私设计:数据最小化',
1088
+ '**Art. 30** 处理活动记录(ROPA)',
1089
+ '**Art. 33** 数据泄露通知:72小时内报告',
1090
+ ],
1091
+ },
1092
+ iso27001: {
1093
+ name: 'ISO 27001:2022',
1094
+ controls: [
1095
+ '**A.5** 信息安全策略:书面安全政策',
1096
+ '**A.8** 资产管理:信息资产清单',
1097
+ '**A.9** 访问控制:权限审查',
1098
+ '**A.12** 运营安全:变更管理、日志监控',
1099
+ '**A.16** 事件管理:事件响应程序',
1100
+ ],
1101
+ },
1102
+ };
1103
+ const s = standards[std] ?? standards.soc2;
1104
+ const controls = s.controls.map((c) => `- ${c}`).join('\n');
1105
+ const prompt = `# 合规证据收集 — ${s.name}\n\n## 控制措施清单\n\n${controls}\n\n` +
1106
+ `## 任务\n\n` +
1107
+ `请为以上每项控制措施:\n` +
1108
+ `1. **识别现有证据**:已有哪些文档/配置可作为证据\n` +
1109
+ `2. **差距分析**:缺少什么证据(❌ 表示缺失)\n` +
1110
+ `3. **证据生成建议**:如何创建缺失证据\n` +
1111
+ `4. **优先级排序**:按审计风险排列`;
1112
+ return { content: [{ type: 'text', text: prompt }] };
1113
+ }
909
1114
  return {
910
1115
  content: [
911
1116
  {
@@ -918,7 +1123,7 @@ async function startMcpServer() {
918
1123
  const transport = new stdio_js_1.StdioServerTransport();
919
1124
  await server.connect(transport);
920
1125
  // MCP server 运行时不输出到 stdout(会破坏协议)
921
- process.stderr.write(`Ethan MCP Server v${pkg.version} running (${index_1.ALL_SKILLS.length} skill tools + ethan_pipeline + ethan_workflow_next + ethan_workflow_status + ethan_memory_search + ethan_estimate + ethan_git_commit + ethan_git_review + ethan_autopilot + ethan_context_snapshot + ethan_spec_proposal + ethan_spec_review + ethan_spec_validate, ${pipeline_1.PIPELINES.length} pipelines)\n`);
1126
+ process.stderr.write(`Ethan MCP Server v${pkg.version} running (${index_1.ALL_SKILLS.length} skill tools + ethan_pipeline + ethan_workflow_next + ethan_workflow_status + ethan_memory_search + ethan_estimate + ethan_git_commit + ethan_git_review + ethan_autopilot + ethan_context_snapshot + ethan_spec_proposal + ethan_spec_review + ethan_spec_validate + ethan_dora + ethan_pr_analytics + ethan_postmortem + ethan_scaffold + ethan_compliance, ${pipeline_1.PIPELINES.length} pipelines)\n`);
922
1127
  }
923
1128
  // 直接运行时启动
924
1129
  if (require.main === module) {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { SkillDefinition } from './types';
2
+ export declare const techDebtSkill: SkillDefinition;
3
+ //# sourceMappingURL=27-tech-debt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"27-tech-debt.d.ts","sourceRoot":"","sources":["../../src/skills/27-tech-debt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,eAAO,MAAM,aAAa,EAAE,eAgJ3B,CAAC"}
@@ -0,0 +1,149 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.techDebtSkill = void 0;
4
+ exports.techDebtSkill = {
5
+ id: 'tech-debt',
6
+ name: '技术债追踪',
7
+ nameEn: 'tech_debt',
8
+ order: 27,
9
+ description: '识别、量化、排序技术债,生成偿还路线图与预防机制',
10
+ descriptionEn: 'Identify, quantify and prioritize technical debt, generate repayment roadmap and prevention mechanisms',
11
+ detailDescription: `技术债如同金融债务,越早偿还利息越低。
12
+ 本 Skill 帮助团队系统化地识别代码库中的技术债(TODO/FIXME 聚集、高圈复杂度、重复代码、高耦合模块),
13
+ 通过"影响 × 修复成本"矩阵量化优先级,生成可落地的 Sprint 偿还计划,
14
+ 并建立长效预防机制,让技术债不再悄悄累积。`,
15
+ triggers: [
16
+ '技术债',
17
+ 'tech debt',
18
+ 'technical debt',
19
+ '技术债追踪',
20
+ '技术债偿还',
21
+ 'code smell',
22
+ '代码腐化',
23
+ '@ethan tech-debt',
24
+ '/tech-debt',
25
+ ],
26
+ steps: [
27
+ {
28
+ title: '1. 技术债识别与分类',
29
+ content: `扫描代码库,从以下维度识别技术债:
30
+
31
+ **四大技术债类型**
32
+
33
+ | 类型 | 检测手段 | 典型表现 |
34
+ |------|---------|---------|
35
+ | **代码债** | TODO/FIXME/HACK 注释统计 | 注释标记超过 50 个/千行 |
36
+ | **设计债** | 圈复杂度 > 10,类长度 > 500 行 | 上帝类、面条代码、深层继承 |
37
+ | **测试债** | 覆盖率 < 60%,测试缺失模块 | 核心模块无测试,回归靠手工 |
38
+ | **依赖债** | 过时依赖、已弃用 API 调用 | 主版本落后 2+ 个版本 |
39
+
40
+ **识别命令参考**
41
+ \`\`\`bash
42
+ # 统计 TODO/FIXME
43
+ grep -rn "TODO\\|FIXME\\|HACK\\|XXX" src/ --include="*.ts" | wc -l
44
+
45
+ # 查找超长文件
46
+ find src -name "*.ts" | xargs wc -l | sort -rn | head -20
47
+
48
+ # 重复代码检测(需安装 jscpd)
49
+ npx jscpd src/ --min-lines 5 --reporters json
50
+ \`\`\`
51
+
52
+ **输出**:技术债清单(分类 + 位置 + 初步评估)`,
53
+ },
54
+ {
55
+ title: '2. 债务量化评估',
56
+ content: `用"影响度 × 修复成本"矩阵评估每项技术债的优先级:
57
+
58
+ **评分维度**
59
+
60
+ | 维度 | 1分(低) | 3分(中) | 5分(高) |
61
+ |------|---------|---------|---------|
62
+ | **业务影响** | 边缘功能 | 常用功能 | 核心链路 |
63
+ | **出错频率** | 极少触发 | 偶尔出现 | 频繁发生 |
64
+ | **修复成本** | < 0.5天 | 0.5~2天 | > 2天 |
65
+ | **扩散风险** | 独立模块 | 少量依赖 | 多处依赖 |
66
+
67
+ **优先级 = 影响度(业务影响 × 出错频率) ÷ 修复成本**
68
+
69
+ **T恤 Size 对照**
70
+ - 🔴 **Critical(>8分)**:阻碍新功能开发,必须本 Sprint 处理
71
+ - 🟠 **High(5-8分)**:影响团队效率,下个 Sprint 安排
72
+ - 🟡 **Medium(3-5分)**:纳入季度技术改进计划
73
+ - 🟢 **Low(<3分)**:有时间再处理,记录即可
74
+
75
+ **输出**:技术债优先级矩阵(标注 T恤 Size)`,
76
+ },
77
+ {
78
+ title: '3. 偿还路线图',
79
+ content: `按"高影响、低成本"优先原则,制定可落地的偿还计划:
80
+
81
+ **Sprint 规划原则**
82
+ - 每个 Sprint 分配 **15-20% 时间**用于技术债偿还(债务预算)
83
+ - Critical 债务:独立 Story,本 Sprint 必须完成
84
+ - High 债务:与新功能并行,2 个 Sprint 内完成
85
+ - Medium 债务:季度 Hackathon 集中处理
86
+
87
+ **路线图模板**
88
+ \`\`\`
89
+ Sprint N(当前)
90
+ 🔴 [Critical] 拆分 UserService 上帝类 → 3个子服务 2天
91
+ 🔴 [Critical] 修复登录模块 XXX 标记的并发 Bug 1天
92
+
93
+ Sprint N+1
94
+ 🟠 [High] 提升 Payment 模块测试覆盖率至 80% 2天
95
+ 🟠 [High] 替换废弃的 axios v0.21 → v1.x 1天
96
+
97
+ Q+1 季度计划
98
+ 🟡 [Medium] 重构订单模块(圈复杂度>15的5个函数) 5天
99
+ 🟡 [Medium] 清理 87 个 TODO 注释并创建对应 Issue 3天
100
+ \`\`\`
101
+
102
+ **输出**:按 Sprint 排期的技术债偿还路线图`,
103
+ },
104
+ {
105
+ title: '4. 预防机制',
106
+ content: `建立长效机制,让技术债不再悄悄累积:
107
+
108
+ **自动化门禁(CI/CD 集成)**
109
+ \`\`\`yaml
110
+ # .github/workflows/debt-check.yml
111
+ - name: 技术债扫描
112
+ run: |
113
+ # TODO 数量检查
114
+ TODO_COUNT=$(grep -rn "TODO\\|FIXME" src/ | wc -l)
115
+ if [ $TODO_COUNT -gt $TODO_THRESHOLD ]; then
116
+ echo "❌ TODO 数量超过阈值: $TODO_COUNT > $TODO_THRESHOLD"
117
+ exit 1
118
+ fi
119
+ # 圈复杂度检查(使用 complexity-report 或 ESLint)
120
+ npx eslint src/ --rule '{"complexity": ["error", 10]}'
121
+ \`\`\`
122
+
123
+ **团队规范**
124
+ - **Boy Scout 原则**:离开时让代码比你来时更干净(每次 PR 消灭 1 个技术债)
125
+ - **TODO 转 Issue**:所有 TODO 必须关联 GitHub Issue,不得孤立存在
126
+ - **债务预算制度**:每个 Sprint 强制预留 15% 时间偿还债务
127
+ - **月度债务评审**:每月 Review 技术债清单,更新优先级
128
+
129
+ **技术债仪表盘指标**
130
+ - TODO/FIXME 总数趋势(目标:每月下降 10%)
131
+ - 平均圈复杂度(目标:< 8)
132
+ - 测试覆盖率(目标:> 80%)
133
+ - 依赖过时率(目标:0 个 Critical 漏洞)
134
+
135
+ **输出**:CI 门禁配置 + 团队规范文档 + 仪表盘指标定义`,
136
+ },
137
+ ],
138
+ outputFormat: '技术债地图(分级清单)+ 优先级矩阵(影响×成本)+ Sprint 偿还路线图 + CI 门禁配置 + 预防规范',
139
+ examples: [],
140
+ notes: [
141
+ '技术债不是"坏代码",是在特定时间压力下做出的有意识权衡,关键是要记录并计划偿还',
142
+ '建议在项目初期就建立债务预算制度(15-20% Sprint 时间),而不是等到债务失控再处理',
143
+ '优先处理"高影响低成本"的债务,避免在低价值债务上耗费资源',
144
+ '技术债清单应纳入项目文档,让所有成员可见,避免只有架构师知道',
145
+ ],
146
+ category: '质量侧',
147
+ nextSkill: 'refactoring',
148
+ };
149
+ //# sourceMappingURL=27-tech-debt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"27-tech-debt.js","sourceRoot":"","sources":["../../src/skills/27-tech-debt.ts"],"names":[],"mappings":";;;AAEa,QAAA,aAAa,GAAoB;IAC5C,EAAE,EAAE,WAAW;IACf,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,WAAW;IACnB,KAAK,EAAE,EAAE;IACT,WAAW,EAAE,0BAA0B;IACvC,aAAa,EAAE,wGAAwG;IACvH,iBAAiB,EAAE;;;sBAGC;IACpB,QAAQ,EAAE;QACR,KAAK;QACL,WAAW;QACX,gBAAgB;QAChB,OAAO;QACP,OAAO;QACP,YAAY;QACZ,MAAM;QACN,kBAAkB;QAClB,YAAY;KACb;IACD,KAAK,EAAE;QACL;YACE,KAAK,EAAE,aAAa;YACpB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;6BAuBc;SACxB;QACD;YACE,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;4BAmBa;SACvB;QACD;YACE,KAAK,EAAE,UAAU;YACjB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;4BAuBa;SACvB;QACD;YACE,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCA6BmB;SAC7B;KACF;IACD,YAAY,EAAE,0DAA0D;IACxE,QAAQ,EAAE,EAAE;IACZ,KAAK,EAAE;QACL,0CAA0C;QAC1C,iDAAiD;QACjD,+BAA+B;QAC/B,gCAAgC;KACjC;IACD,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,aAAa;CACzB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { SkillDefinition } from './types';
2
+ export declare const apiMockSkill: SkillDefinition;
3
+ //# sourceMappingURL=28-api-mock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"28-api-mock.d.ts","sourceRoot":"","sources":["../../src/skills/28-api-mock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,eAAO,MAAM,YAAY,EAAE,eA2Q1B,CAAC"}