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.
- package/dist/cli/index.js +1019 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +206 -1
- package/dist/mcp/server.js.map +1 -1
- package/dist/skills/27-tech-debt.d.ts +3 -0
- package/dist/skills/27-tech-debt.d.ts.map +1 -0
- package/dist/skills/27-tech-debt.js +149 -0
- package/dist/skills/27-tech-debt.js.map +1 -0
- package/dist/skills/28-api-mock.d.ts +3 -0
- package/dist/skills/28-api-mock.d.ts.map +1 -0
- package/dist/skills/28-api-mock.js +272 -0
- package/dist/skills/28-api-mock.js.map +1 -0
- package/dist/skills/29-data-migration.d.ts +3 -0
- package/dist/skills/29-data-migration.d.ts.map +1 -0
- package/dist/skills/29-data-migration.js +331 -0
- package/dist/skills/29-data-migration.js.map +1 -0
- package/dist/skills/30-llm-feature.d.ts +3 -0
- package/dist/skills/30-llm-feature.d.ts.map +1 -0
- package/dist/skills/30-llm-feature.js +328 -0
- package/dist/skills/30-llm-feature.js.map +1 -0
- package/dist/skills/31-threat-model.d.ts +3 -0
- package/dist/skills/31-threat-model.d.ts.map +1 -0
- package/dist/skills/31-threat-model.js +240 -0
- package/dist/skills/31-threat-model.js.map +1 -0
- package/dist/skills/32-green-code.d.ts +3 -0
- package/dist/skills/32-green-code.d.ts.map +1 -0
- package/dist/skills/32-green-code.js +346 -0
- package/dist/skills/32-green-code.js.map +1 -0
- package/dist/skills/33-service-catalog.d.ts +3 -0
- package/dist/skills/33-service-catalog.d.ts.map +1 -0
- package/dist/skills/33-service-catalog.js +334 -0
- package/dist/skills/33-service-catalog.js.map +1 -0
- package/dist/skills/34-mobile-review.d.ts +3 -0
- package/dist/skills/34-mobile-review.d.ts.map +1 -0
- package/dist/skills/34-mobile-review.js +390 -0
- package/dist/skills/34-mobile-review.js.map +1 -0
- package/dist/skills/35-data-pipeline.d.ts +3 -0
- package/dist/skills/35-data-pipeline.d.ts.map +1 -0
- package/dist/skills/35-data-pipeline.js +392 -0
- package/dist/skills/35-data-pipeline.js.map +1 -0
- package/dist/skills/36-ml-experiment.d.ts +3 -0
- package/dist/skills/36-ml-experiment.d.ts.map +1 -0
- package/dist/skills/36-ml-experiment.js +415 -0
- package/dist/skills/36-ml-experiment.js.map +1 -0
- package/dist/skills/index.d.ts +10 -0
- package/dist/skills/index.d.ts.map +1 -1
- package/dist/skills/index.js +41 -1
- package/dist/skills/index.js.map +1 -1
- package/dist/skills/pipeline.d.ts.map +1 -1
- package/dist/skills/pipeline.js +35 -0
- package/dist/skills/pipeline.js.map +1 -1
- package/dist/skills/skills.test.js +3 -3
- package/dist/skills/skills.test.js.map +1 -1
- package/package.json +1 -1
- package/rules/claude-code/CLAUDE.md +2963 -3
- package/rules/cline/.clinerules +2805 -2
- package/rules/codebuddy/CODEBUDDY.md +2913 -2
- package/rules/continue/.continuerules +2805 -2
- package/rules/copilot/copilot-instructions.md +2883 -2
- package/rules/cursor/.cursorrules +2952 -2
- package/rules/cursor/smart-flow.mdc +2952 -2
- package/rules/jetbrains/smart-flow.md +2883 -2
- package/rules/lingma/smart-flow.md +2904 -3
- package/rules/windsurf/.windsurf/rules/smart-flow.md +2884 -3
- package/rules/zed/smart-flow.rules +2794 -1
package/dist/mcp/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
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"}
|
package/dist/mcp/server.js
CHANGED
|
@@ -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) {
|
package/dist/mcp/server.js.map
CHANGED
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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"}
|