@haaaiawd/anws 1.2.4 → 2.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/README.md +208 -173
- package/bin/cli.js +22 -9
- package/lib/adapters/index.js +157 -0
- package/lib/agents.js +185 -0
- package/lib/changelog.js +187 -0
- package/lib/copy.js +72 -1
- package/lib/diff.js +270 -0
- package/lib/init.js +238 -174
- package/lib/install-state.js +195 -0
- package/lib/manifest.js +184 -42
- package/lib/output.js +185 -13
- package/lib/prompt.js +284 -0
- package/lib/resources/index.js +27 -0
- package/lib/update.js +355 -149
- package/package.json +10 -6
- package/templates/.agents/skills/concept-modeler/SKILL.md +176 -0
- package/templates/{.agent → .agents}/skills/design-reviewer/SKILL.md +6 -6
- package/templates/.agents/skills/nexus-mapper/SKILL.md +306 -0
- package/templates/.agents/skills/nexus-mapper/references/language-customization.md +164 -0
- package/templates/.agents/skills/nexus-mapper/references/output-schema.md +298 -0
- package/templates/.agents/skills/nexus-mapper/references/probe-protocol.md +246 -0
- package/templates/.agents/skills/nexus-mapper/scripts/extract_ast.py +706 -0
- package/templates/.agents/skills/nexus-mapper/scripts/git_detective.py +194 -0
- package/templates/.agents/skills/nexus-mapper/scripts/languages.json +127 -0
- package/templates/.agents/skills/nexus-mapper/scripts/query_graph.py +556 -0
- package/templates/.agents/skills/nexus-mapper/scripts/requirements.txt +6 -0
- package/templates/{.agent → .agents}/skills/report-template/SKILL.md +11 -14
- package/templates/.agents/skills/report-template/references/REPORT_TEMPLATE.md +100 -0
- package/templates/{.agent → .agents}/skills/runtime-inspector/SKILL.md +1 -1
- package/templates/.agents/skills/sequential-thinking/SKILL.md +166 -0
- package/templates/.agents/skills/spec-writer/SKILL.md +108 -0
- package/templates/{.agent → .agents}/skills/spec-writer/references/prd_template.md +1 -1
- package/templates/{.agent → .agents}/skills/system-architect/SKILL.md +3 -3
- package/templates/.agents/skills/system-architect/references/rfc_template.md +59 -0
- package/templates/{.agent → .agents}/skills/system-designer/SKILL.md +6 -6
- package/templates/{.agent → .agents}/skills/system-designer/references/system-design-template.md +75 -25
- package/templates/{.agent → .agents}/skills/task-planner/SKILL.md +1 -1
- package/templates/.agents/skills/task-planner/references/TASK_TEMPLATE.md +144 -0
- package/templates/{.agent → .agents}/skills/task-reviewer/SKILL.md +4 -3
- package/templates/{.agent → .agents}/skills/tech-evaluator/SKILL.md +2 -2
- package/templates/{.agent → .agents}/skills/tech-evaluator/references/ADR_TEMPLATE.md +10 -0
- package/templates/{.agent → .agents}/workflows/blueprint.md +38 -33
- package/templates/{.agent → .agents}/workflows/challenge.md +21 -15
- package/templates/{.agent → .agents}/workflows/change.md +24 -15
- package/templates/{.agent → .agents}/workflows/craft.md +9 -20
- package/templates/{.agent → .agents}/workflows/design-system.md +83 -56
- package/templates/{.agent → .agents}/workflows/explore.md +6 -19
- package/templates/{.agent → .agents}/workflows/forge.md +36 -38
- package/templates/{.agent → .agents}/workflows/genesis.md +76 -64
- package/templates/.agents/workflows/probe.md +168 -0
- package/templates/{.agent → .agents}/workflows/quickstart.md +7 -12
- package/templates/.agents/workflows/upgrade.md +192 -0
- package/templates/AGENTS.md +134 -113
- package/templates/.agent/skills/build-inspector/SKILL.md +0 -83
- package/templates/.agent/skills/complexity-guard/SKILL.md +0 -71
- package/templates/.agent/skills/complexity-guard/references/anti_patterns.md +0 -21
- package/templates/.agent/skills/concept-modeler/SKILL.md +0 -112
- package/templates/.agent/skills/concept-modeler/prompts/GLOSSARY_PROMPT.md +0 -40
- package/templates/.agent/skills/concept-modeler/references/ENTITY_EXTRACTION_PROMPT.md +0 -299
- package/templates/.agent/skills/concept-modeler/scripts/glossary_gen.py +0 -66
- package/templates/.agent/skills/git-forensics/SKILL.md +0 -74
- package/templates/.agent/skills/git-forensics/references/ANALYSIS_METHODOLOGY.md +0 -193
- package/templates/.agent/skills/git-forensics/scripts/__pycache__/git_forensics.cpython-313.pyc +0 -0
- package/templates/.agent/skills/git-forensics/scripts/git_forensics.py +0 -615
- package/templates/.agent/skills/git-forensics/scripts/git_hotspots.py +0 -118
- package/templates/.agent/skills/report-template/references/REPORT_TEMPLATE.md +0 -100
- package/templates/.agent/skills/spec-writer/SKILL.md +0 -108
- package/templates/.agent/skills/system-architect/references/rfc_template.md +0 -59
- package/templates/.agent/skills/task-planner/references/TASK_TEMPLATE.md +0 -144
- package/templates/.agent/workflows/scout.md +0 -139
- /package/templates/{.agent → .agents}/skills/system-designer/references/system-design-detail-template.md +0 -0
|
@@ -1,193 +0,0 @@
|
|
|
1
|
-
# Git Forensics 分析方法论
|
|
2
|
-
|
|
3
|
-
## 概述
|
|
4
|
-
|
|
5
|
-
Git Forensics 的核心价值不仅是数据抓取,更重要的是**分析**和**可操作建议**。本文档定义了分析的方法论和决策规则。
|
|
6
|
-
|
|
7
|
-
## 核心指标
|
|
8
|
-
|
|
9
|
-
### 1. 共改频率 (Co-change Frequency)
|
|
10
|
-
|
|
11
|
-
**定义**:
|
|
12
|
-
```
|
|
13
|
-
frequency = 共改次数 / 目标文件总提交次数
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
**风险等级判定**:
|
|
17
|
-
|
|
18
|
-
| 频率范围 | 风险等级 | 标记 | 解读 |
|
|
19
|
-
|---|---|---|---|
|
|
20
|
-
| ≥ 0.70 | 🔴 HIGH | `HIGH_COUPLING` | 强逻辑耦合,修改一个必须考虑另一个 |
|
|
21
|
-
| 0.40 - 0.69 | 🟡 MEDIUM | `MEDIUM_COUPLING` | 中等耦合,建议关注 |
|
|
22
|
-
| < 0.40 | 🟢 LOW | (无标记) | 偶发性共改,可能是巧合 |
|
|
23
|
-
|
|
24
|
-
### 2. 文件类型分类
|
|
25
|
-
|
|
26
|
-
不同类型的文件有不同的耦合性质:
|
|
27
|
-
|
|
28
|
-
| 类型 | 匹配模式 | 耦合性质 | 处理方式 |
|
|
29
|
-
|---|---|---|---|
|
|
30
|
-
| 测试文件 | `*test*`, `*spec*`, `__tests__/` | ✅ 合理耦合 | 正常,测试应跟随代码变化 |
|
|
31
|
-
| 配置文件 | `*config*`, `.env*`, `*.yaml`, `*.json` | ⚠️ 需警惕 | 可能存在硬编码或配置管理问题 |
|
|
32
|
-
| 文档文件 | `*.md`, `README*`, `CHANGELOG*` | ✅ 合理耦合 | 正常,文档应随代码更新 |
|
|
33
|
-
| 生产代码 | 其他 | ❓ 需深入分析 | 高频率 + 无物理依赖 = 隐性耦合 |
|
|
34
|
-
|
|
35
|
-
### 3. 时间衰减因素
|
|
36
|
-
|
|
37
|
-
近期的共改比远期的更有参考价值:
|
|
38
|
-
|
|
39
|
-
| 时间范围 | 权重建议 | 说明 |
|
|
40
|
-
|---|---|---|
|
|
41
|
-
| 最近 30 天 | 1.5x | 最近的修改模式更能反映当前状态 |
|
|
42
|
-
| 30-90 天 | 1.0x | 标准权重 |
|
|
43
|
-
| 90-180 天 | 0.7x | 历史参考,权重降低 |
|
|
44
|
-
| > 180 天 | 0.5x | 仅作参考 |
|
|
45
|
-
|
|
46
|
-
**注意**:当前脚本实现尚未包含时间衰减,作为后续优化项。
|
|
47
|
-
|
|
48
|
-
---
|
|
49
|
-
|
|
50
|
-
## 分析建议生成规则
|
|
51
|
-
|
|
52
|
-
### 规则 1:高频生产代码耦合
|
|
53
|
-
|
|
54
|
-
**条件**:
|
|
55
|
-
- 两个生产代码文件
|
|
56
|
-
- 共改频率 ≥ 0.70
|
|
57
|
-
- 无物理依赖(即 A 不 import B)
|
|
58
|
-
|
|
59
|
-
**建议**:
|
|
60
|
-
- "考虑将 A 和 B 合并为同一模块"
|
|
61
|
-
- "或者提取公共接口,明确依赖关系"
|
|
62
|
-
- "检查是否存在隐性的数据依赖"
|
|
63
|
-
|
|
64
|
-
### 规则 2:跨模块高频耦合
|
|
65
|
-
|
|
66
|
-
**条件**:
|
|
67
|
-
- 两个文件属于不同目录/模块
|
|
68
|
-
- 共改频率 ≥ 0.50
|
|
69
|
-
|
|
70
|
-
**建议**:
|
|
71
|
-
- "可能需要重新划分模块边界"
|
|
72
|
-
- "考虑使用事件/消息解耦"
|
|
73
|
-
- "评估是否应该合并为同一模块"
|
|
74
|
-
|
|
75
|
-
### 规则 3:配置文件高频耦合
|
|
76
|
-
|
|
77
|
-
**条件**:
|
|
78
|
-
- 生产代码与配置文件共改频率 ≥ 0.30
|
|
79
|
-
|
|
80
|
-
**建议**:
|
|
81
|
-
- "检查是否存在硬编码的配置值"
|
|
82
|
-
- "考虑使用环境变量或配置中心"
|
|
83
|
-
- "评估配置管理策略"
|
|
84
|
-
|
|
85
|
-
### 规则 4:测试覆盖率信号
|
|
86
|
-
|
|
87
|
-
**条件**:
|
|
88
|
-
- 生产代码没有对应的测试文件共改
|
|
89
|
-
- 或测试文件共改频率 < 0.30
|
|
90
|
-
|
|
91
|
-
**建议**:
|
|
92
|
-
- "该文件可能缺少测试覆盖"
|
|
93
|
-
- "修改时未同步更新测试可能有风险"
|
|
94
|
-
|
|
95
|
-
### 规则 5:单点责任人风险
|
|
96
|
-
|
|
97
|
-
**条件**:
|
|
98
|
-
- 某个文件 80% 以上的修改来自同一作者
|
|
99
|
-
|
|
100
|
-
**建议**:
|
|
101
|
-
- "存在知识单点风险"
|
|
102
|
-
- "建议进行知识转移或代码评审"
|
|
103
|
-
|
|
104
|
-
---
|
|
105
|
-
|
|
106
|
-
## 输出结构
|
|
107
|
-
|
|
108
|
-
### 标准输出字段
|
|
109
|
-
|
|
110
|
-
```json
|
|
111
|
-
{
|
|
112
|
-
"target_file": "分析的目标文件",
|
|
113
|
-
"analysis_period_days": 180,
|
|
114
|
-
"total_commits_modifying_target": 25,
|
|
115
|
-
"co_changed_files": [
|
|
116
|
-
{
|
|
117
|
-
"file": "共改文件路径",
|
|
118
|
-
"co_change_count": 20,
|
|
119
|
-
"frequency": 0.80,
|
|
120
|
-
"warning": "HIGH_COUPLING|MEDIUM_COUPLING",
|
|
121
|
-
"category": "PRODUCTION|TEST_FILE|CONFIG_FILE|DOC_FILE"
|
|
122
|
-
}
|
|
123
|
-
],
|
|
124
|
-
"last_modified_date": "2024-12-20",
|
|
125
|
-
"primary_authors": ["Alice", "Bob"],
|
|
126
|
-
"analysis": {
|
|
127
|
-
"high_risk_files": ["高风险文件列表"],
|
|
128
|
-
"recommendations": ["可操作的建议列表"]
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
### 建议的格式
|
|
134
|
-
|
|
135
|
-
建议应该是**可操作的**,而不是泛泛的描述:
|
|
136
|
-
|
|
137
|
-
✅ **好的建议**:
|
|
138
|
-
- "考虑将 `login.ts` 和 `session.ts` 合并,因为它们在 80% 的提交中一起修改"
|
|
139
|
-
- "文件 `config.ts` 与多个生产代码共改,检查是否应该使用环境变量"
|
|
140
|
-
|
|
141
|
-
❌ **差的建议**:
|
|
142
|
-
- "存在耦合"(太模糊)
|
|
143
|
-
- "需要注意"(没有行动指导)
|
|
144
|
-
|
|
145
|
-
---
|
|
146
|
-
|
|
147
|
-
## 边界情况处理
|
|
148
|
-
|
|
149
|
-
### 大规模重构 Commit
|
|
150
|
-
|
|
151
|
-
**问题**:一次重构可能修改几十个文件,干扰分析。
|
|
152
|
-
|
|
153
|
-
**解决方案**:
|
|
154
|
-
- 识别修改文件数 > 20 的 commit
|
|
155
|
-
- 可选择忽略这类 commit
|
|
156
|
-
- 或降低其权重
|
|
157
|
-
|
|
158
|
-
**当前实现**:未处理,作为后续优化项。
|
|
159
|
-
|
|
160
|
-
### 新文件
|
|
161
|
-
|
|
162
|
-
**问题**:新创建的文件历史太短。
|
|
163
|
-
|
|
164
|
-
**解决方案**:
|
|
165
|
-
- 如果文件存在时间 < 30 天,标记分析结果为"数据不足"
|
|
166
|
-
- 建议等待更多历史数据
|
|
167
|
-
|
|
168
|
-
### 删除的文件
|
|
169
|
-
|
|
170
|
-
**问题**:历史中引用了已删除的文件。
|
|
171
|
-
|
|
172
|
-
**解决方案**:
|
|
173
|
-
- 在输出中标记 `[DELETED]`
|
|
174
|
-
- 仍然报告历史耦合关系
|
|
175
|
-
|
|
176
|
-
---
|
|
177
|
-
|
|
178
|
-
## 与其他 Skills 的配合
|
|
179
|
-
|
|
180
|
-
1. **与 `build-inspector` 对比**:
|
|
181
|
-
- build-inspector 提供构建边界和版本漂移风险
|
|
182
|
-
- git-forensics 提供逻辑耦合
|
|
183
|
-
- 两者交叉 = 跨构建根的耦合(最高风险)
|
|
184
|
-
|
|
185
|
-
2. **与 `runtime-inspector` 结合**:
|
|
186
|
-
- 在高耦合文件中检查 IPC 相关代码
|
|
187
|
-
- 这些文件的协议漂移风险更高
|
|
188
|
-
|
|
189
|
-
3. **输出给 Scout 功能冲突分析**:
|
|
190
|
-
- 高风险文件列表
|
|
191
|
-
- 生成的建议
|
|
192
|
-
- 耦合关系图数据
|
|
193
|
-
|