@liangjie559567/ultrapower 7.5.2 → 7.6.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 (132) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/README.md +12 -1
  4. package/dist/cli/commands/repair.d.ts +3 -0
  5. package/dist/cli/commands/repair.d.ts.map +1 -0
  6. package/dist/cli/commands/repair.js +130 -0
  7. package/dist/cli/commands/repair.js.map +1 -0
  8. package/dist/features/analytics-dashboard/metrics-collector.d.ts.map +1 -1
  9. package/dist/features/analytics-dashboard/metrics-collector.js +4 -0
  10. package/dist/features/analytics-dashboard/metrics-collector.js.map +1 -1
  11. package/dist/features/analytics-dashboard/storage.d.ts +22 -2
  12. package/dist/features/analytics-dashboard/storage.d.ts.map +1 -1
  13. package/dist/features/analytics-dashboard/storage.js.map +1 -1
  14. package/dist/features/analytics-dashboard/tracker.d.ts.map +1 -1
  15. package/dist/features/analytics-dashboard/tracker.js +14 -2
  16. package/dist/features/analytics-dashboard/tracker.js.map +1 -1
  17. package/dist/features/personalized-recommendation/behavior-tracker.js +1 -1
  18. package/dist/features/personalized-recommendation/behavior-tracker.js.map +1 -1
  19. package/dist/features/personalized-recommendation/recommender.d.ts +1 -1
  20. package/dist/features/personalized-recommendation/recommender.d.ts.map +1 -1
  21. package/dist/features/personalized-recommendation/recommender.js +1 -1
  22. package/dist/features/personalized-recommendation/recommender.js.map +1 -1
  23. package/dist/features/quality-gate/gate-checker.d.ts.map +1 -1
  24. package/dist/features/quality-gate/gate-checker.js +2 -1
  25. package/dist/features/quality-gate/gate-checker.js.map +1 -1
  26. package/dist/hooks/bridge-converter.d.ts +8 -0
  27. package/dist/hooks/bridge-converter.d.ts.map +1 -1
  28. package/dist/hooks/bridge-converter.js +38 -0
  29. package/dist/hooks/bridge-converter.js.map +1 -1
  30. package/dist/hooks/handlers/route-map.js +6 -6
  31. package/dist/hooks/handlers/route-map.js.map +1 -1
  32. package/dist/hooks/handlers/stop-continuation.d.ts.map +1 -1
  33. package/dist/hooks/handlers/stop-continuation.js.map +1 -1
  34. package/dist/hooks/keyword-detector/conflict-resolver.d.ts +16 -0
  35. package/dist/hooks/keyword-detector/conflict-resolver.d.ts.map +1 -0
  36. package/dist/hooks/keyword-detector/conflict-resolver.js +41 -0
  37. package/dist/hooks/keyword-detector/conflict-resolver.js.map +1 -0
  38. package/dist/hooks/persistent-mode/index.js +2 -2
  39. package/dist/hooks/persistent-mode/index.js.map +1 -1
  40. package/dist/hooks/processors/permissionRequest.d.ts.map +1 -1
  41. package/dist/hooks/processors/permissionRequest.js.map +1 -1
  42. package/dist/hooks/ultrawork/index.js +3 -3
  43. package/dist/hooks/ultrawork/index.js.map +1 -1
  44. package/dist/hooks/workflow-gate/index.js +4 -4
  45. package/dist/hooks/workflow-gate/index.js.map +1 -1
  46. package/dist/hud/usage-api.d.ts.map +1 -1
  47. package/dist/hud/usage-api.js +3 -2
  48. package/dist/hud/usage-api.js.map +1 -1
  49. package/dist/index.js +1 -1
  50. package/dist/index.js.map +1 -1
  51. package/dist/installer/index.js +1 -1
  52. package/dist/installer/index.js.map +1 -1
  53. package/dist/lib/atomic-write.d.ts.map +1 -1
  54. package/dist/lib/atomic-write.js +21 -2
  55. package/dist/lib/atomic-write.js.map +1 -1
  56. package/dist/lib/auditLog.d.ts +1 -1
  57. package/dist/lib/auditLog.d.ts.map +1 -1
  58. package/dist/lib/crypto.d.ts +3 -0
  59. package/dist/lib/crypto.d.ts.map +1 -0
  60. package/dist/lib/crypto.js +60 -0
  61. package/dist/lib/crypto.js.map +1 -0
  62. package/dist/lib/deadlock-detector.d.ts +21 -0
  63. package/dist/lib/deadlock-detector.d.ts.map +1 -0
  64. package/dist/lib/deadlock-detector.js +74 -0
  65. package/dist/lib/deadlock-detector.js.map +1 -0
  66. package/dist/lib/fs-utils.d.ts +11 -0
  67. package/dist/lib/fs-utils.d.ts.map +1 -0
  68. package/dist/lib/fs-utils.js +32 -0
  69. package/dist/lib/fs-utils.js.map +1 -0
  70. package/dist/lib/logger.d.ts +7 -1
  71. package/dist/lib/logger.d.ts.map +1 -1
  72. package/dist/lib/logger.js +23 -4
  73. package/dist/lib/logger.js.map +1 -1
  74. package/dist/lib/state-adapter.d.ts +3 -2
  75. package/dist/lib/state-adapter.d.ts.map +1 -1
  76. package/dist/lib/state-adapter.js +12 -3
  77. package/dist/lib/state-adapter.js.map +1 -1
  78. package/dist/security/concurrency-control.d.ts +1 -1
  79. package/dist/security/concurrency-control.d.ts.map +1 -1
  80. package/dist/security/tenant-isolator.js.map +1 -1
  81. package/dist/state/index.d.ts +2 -0
  82. package/dist/state/index.d.ts.map +1 -1
  83. package/dist/state/index.js +8 -6
  84. package/dist/state/index.js.map +1 -1
  85. package/dist/state/migration/integrity.d.ts.map +1 -1
  86. package/dist/state/migration/integrity.js +1 -2
  87. package/dist/state/migration/integrity.js.map +1 -1
  88. package/dist/tools/lsp-tools.js.map +1 -1
  89. package/dist/workers/sqlite-adapter.d.ts.map +1 -1
  90. package/dist/workers/sqlite-adapter.js.map +1 -1
  91. package/docs/CLAUDE.md +1 -1
  92. package/docs/INSTALL.md +2 -2
  93. package/docs/REFERENCE.md +2 -2
  94. package/docs/audit/direct-write-scan.md +88 -0
  95. package/docs/audit/subagent-stop-scan.md +48 -0
  96. package/docs/dev-experience/README.md +226 -0
  97. package/docs/dev-experience/best-practices.md +364 -0
  98. package/docs/dev-experience/quick-reference.md +114 -0
  99. package/docs/dev-experience/troubleshooting-guide.md +280 -0
  100. package/docs/dev-standards/AGENTS.md +68 -68
  101. package/docs/glossary.md +174 -0
  102. package/docs/plans/2026-03-14-mcp-intelligent-orchestration.md +679 -679
  103. package/docs/prd/bugs-pain-points-audit-dag.md +297 -0
  104. package/docs/prd/bugs-pain-points-audit-draft.md +154 -0
  105. package/docs/prd/bugs-pain-points-audit-manifest.md +830 -0
  106. package/docs/prd/bugs-pain-points-audit-rough.md +654 -0
  107. package/docs/research/deadlock-detection-poc.md +275 -0
  108. package/docs/reviews/bugs-pain-points-audit/review_critic.md +213 -0
  109. package/docs/reviews/bugs-pain-points-audit/review_domain.md +247 -0
  110. package/docs/reviews/bugs-pain-points-audit/review_product.md +189 -0
  111. package/docs/reviews/bugs-pain-points-audit/review_tech.md +382 -0
  112. package/docs/reviews/bugs-pain-points-audit/review_ux.md +161 -0
  113. package/docs/reviews/bugs-pain-points-audit/summary.md +129 -0
  114. package/docs/security/command-injection-scan.md +223 -0
  115. package/docs/security/path-traversal-scan-report.md +229 -0
  116. package/docs/security/sensitive-data-inventory.md +170 -0
  117. package/docs/security/sensitive-data-violations.md +388 -0
  118. package/docs/standards/README.md +1 -1
  119. package/docs/standards/cascade-failure.md +324 -0
  120. package/docs/tech-debt/classification.md +190 -0
  121. package/docs/tech-debt/cleanup-report.md +172 -0
  122. package/docs/testing/client-additional-test-fix.md +64 -0
  123. package/docs/testing/concurrent-write-test-fix.md +111 -0
  124. package/docs/testing/coverage-report.md +274 -0
  125. package/docs/testing/phase2-test-coverage-completion.md +223 -0
  126. package/docs/testing/phase2-week3-docs-completion.md +271 -0
  127. package/docs/testing/phase2-week4-observability-completion.md +324 -0
  128. package/docs/testing/phase3-completion.md +324 -0
  129. package/docs/testing/test-fix-progress-2026-03-16.md +75 -0
  130. package/docs/testing/test-fix-summary.md +197 -0
  131. package/docs/testing/timer-buffer-test-fix.md +117 -0
  132. package/package.json +10 -10
@@ -0,0 +1,364 @@
1
+ # 开发最佳实践指南
2
+
3
+ 本指南提供 ultrapower 开发的核心最佳实践,帮助团队提高效率和代码质量。
4
+
5
+ ## 工作流最佳实践
6
+
7
+ ### 1. 任务规划
8
+
9
+ **使用 Team 模式进行复杂任务**
10
+
11
+ ```bash
12
+ # 多 agent 协调执行
13
+ /team "实现用户认证功能"
14
+ ```
15
+
16
+ Team 会自动路由到:
17
+ - `explore` - 代码库探索
18
+ - `planner` - 任务分解
19
+ - `executor` - 代码实现
20
+ - `verifier` - 质量验证
21
+
22
+ **优势**
23
+ - 自动分阶段执行
24
+ - 并行处理独立任务
25
+ - 内置质量检查
26
+
27
+ ### 2. 代码审查
28
+
29
+ **使用专业审查 agent**
30
+
31
+ ```bash
32
+ # 代码质量审查
33
+ /code-review "src/hooks/handlers/post-tool-use.ts"
34
+
35
+ # 安全审查
36
+ /security-review "src/security/concurrency-control.ts"
37
+
38
+ # 性能审查
39
+ Task(subagent_type="ultrapower:performance-reviewer", prompt="...")
40
+ ```
41
+
42
+ **审查清单**
43
+ - [ ] 逻辑正确性
44
+ - [ ] 安全漏洞
45
+ - [ ] 性能瓶颈
46
+ - [ ] 代码风格
47
+ - [ ] 测试覆盖
48
+
49
+ ### 3. 错误处理
50
+
51
+ **统一的错误处理模式**
52
+
53
+ ```typescript
54
+ // ✅ 好的做法
55
+ try {
56
+ const result = await operation();
57
+ return result;
58
+ } catch (error) {
59
+ logger.error('Operation failed', { error, context });
60
+ throw new AppError('OPERATION_FAILED', 'User-friendly message', { cause: error });
61
+ }
62
+
63
+ // ❌ 避免
64
+ try {
65
+ await operation();
66
+ } catch (e) {
67
+ console.log('error'); // 不清晰
68
+ }
69
+ ```
70
+
71
+ **错误分类**
72
+ - `ValidationError` - 输入验证失败
73
+ - `StateError` - 状态管理问题
74
+ - `TimeoutError` - 执行超时
75
+ - `PermissionError` - 权限不足
76
+
77
+ ---
78
+
79
+ ## 状态管理最佳实践
80
+
81
+ ### 1. 状态初始化
82
+
83
+ **检查清单**
84
+
85
+ ```bash
86
+ # 启动前验证状态
87
+ omc repair --validate-state --dry-run
88
+
89
+ # 确保没有污染状态
90
+ ls -la .omc/state/
91
+ ```
92
+
93
+ ### 2. 并发控制
94
+
95
+ **使用独立 worktree**
96
+
97
+ ```bash
98
+ # 为每个并发任务创建独立 worktree
99
+ git worktree add ../work-feature-1 -b feature-1 dev
100
+ git worktree add ../work-feature-2 -b feature-2 dev
101
+
102
+ # 各自独立的 .omc/state/ 目录
103
+ ```
104
+
105
+ **避免状态冲突**
106
+ - 不要在多个 worktree 中共享 `.omc/state/`
107
+ - 使用 `--working-directory` 指定工作目录
108
+ - 定期清理过期状态
109
+
110
+ ### 3. 状态备份
111
+
112
+ ```bash
113
+ # 重要操作前备份
114
+ cp -r .omc/state .omc/state.backup.$(date +%s)
115
+
116
+ # 恢复备份
117
+ cp -r .omc/state.backup.1234567890/* .omc/state/
118
+ ```
119
+
120
+ ---
121
+
122
+ ## Agent 生命周期最佳实践
123
+
124
+ ### 1. 启动 Agent
125
+
126
+ **使用合适的 agent 类型**
127
+
128
+ | 任务类型 | 推荐 Agent | 模型 |
129
+ |---------|-----------|------|
130
+ | 代码库探索 | `explore` | haiku |
131
+ | 需求分析 | `analyst` | opus |
132
+ | 代码实现 | `executor` | sonnet |
133
+ | 质量验证 | `verifier` | sonnet |
134
+ | 架构设计 | `architect` | opus |
135
+
136
+ ### 2. 监控执行
137
+
138
+ ```bash
139
+ # 检查后台任务状态
140
+ check_job_status <job-id>
141
+
142
+ # 等待任务完成(最多 1 小时)
143
+ wait_for_job <job-id>
144
+
145
+ # 列出所有活跃任务
146
+ list_jobs --status_filter=active
147
+ ```
148
+
149
+ ### 3. 正常关闭
150
+
151
+ ```bash
152
+ # ✅ 推荐:使用 cancel 命令
153
+ /ultrapower:cancel
154
+
155
+ # ❌ 避免:直接 Ctrl+C
156
+ # 会导致状态污染和孤儿 agent
157
+ ```
158
+
159
+ ---
160
+
161
+ ## 代码质量最佳实践
162
+
163
+ ### 1. 类型安全
164
+
165
+ ```typescript
166
+ // ✅ 使用严格类型
167
+ interface AgentConfig {
168
+ mode: ExecutionMode;
169
+ timeout: number;
170
+ retries: number;
171
+ }
172
+
173
+ // ❌ 避免 any
174
+ const config: any = { mode: 'autopilot' };
175
+ ```
176
+
177
+ ### 2. 路径安全
178
+
179
+ ```typescript
180
+ // ✅ 验证 mode 参数
181
+ import { assertValidMode } from './lib/validateMode';
182
+ const validMode = assertValidMode(mode);
183
+ const path = `.omc/state/${validMode}-state.json`;
184
+
185
+ // ❌ 直接拼接路径
186
+ const path = `.omc/state/${mode}-state.json`;
187
+ ```
188
+
189
+ ### 3. 输入消毒
190
+
191
+ ```typescript
192
+ // ✅ 使用白名单过滤
193
+ const sanitized = filterByWhitelist(input, ALLOWED_FIELDS);
194
+
195
+ // ❌ 直接使用用户输入
196
+ const config = JSON.parse(userInput);
197
+ ```
198
+
199
+ ---
200
+
201
+ ## 测试最佳实践
202
+
203
+ ### 1. 单元测试
204
+
205
+ ```bash
206
+ # 运行单次测试(不是 watch 模式)
207
+ npm test -- --run
208
+
209
+ # 运行特定文件
210
+ npm test -- src/hooks/__tests__/bridge-routing.test.ts --run
211
+
212
+ # 生成覆盖率报告
213
+ npm test -- --coverage --run
214
+ ```
215
+
216
+ ### 2. 集成测试
217
+
218
+ ```bash
219
+ # 测试 repair 命令
220
+ npm test -- src/cli/commands/repair.test.ts --run
221
+
222
+ # 测试状态管理
223
+ npm test -- src/state/__tests__/ --run
224
+ ```
225
+
226
+ ### 3. 测试覆盖率目标
227
+
228
+ - 核心库:> 90%
229
+ - 工具函数:> 85%
230
+ - 集成代码:> 70%
231
+
232
+ ---
233
+
234
+ ## 性能最佳实践
235
+
236
+ ### 1. 并行化策略
237
+
238
+ ```bash
239
+ # 使用 ultrawork 进行最大并行度
240
+ /ultrawork "并行执行多个独立任务"
241
+
242
+ # 使用 Team 进行阶段并行
243
+ /team "多阶段任务"
244
+ ```
245
+
246
+ ### 2. 资源监控
247
+
248
+ ```bash
249
+ # 检查状态文件大小
250
+ du -sh .omc/state/
251
+
252
+ # 检查 agent 目录大小
253
+ du -sh .omc/agents/
254
+
255
+ # 定期清理
256
+ omc repair --fix-orphan-agents
257
+ ```
258
+
259
+ ### 3. 超时配置
260
+
261
+ ```typescript
262
+ // 根据任务类型设置合理超时
263
+ const TIMEOUTS = {
264
+ quick: 30_000, // 30 秒
265
+ standard: 300_000, // 5 分钟
266
+ long: 1_800_000, // 30 分钟
267
+ };
268
+ ```
269
+
270
+ ---
271
+
272
+ ## 调试最佳实践
273
+
274
+ ### 1. 启用详细日志
275
+
276
+ ```bash
277
+ # 设置日志级别
278
+ export OMC_LOG_LEVEL=debug
279
+
280
+ # 查看日志
281
+ tail -f .omc/logs/*.log
282
+ ```
283
+
284
+ ### 2. 状态检查
285
+
286
+ ```bash
287
+ # 查看当前状态
288
+ cat .omc/state/autopilot-state.json | jq .
289
+
290
+ # 检查活跃 mode
291
+ ls -la .omc/state/
292
+ ```
293
+
294
+ ### 3. 逐步诊断
295
+
296
+ ```bash
297
+ # 1. 验证状态完整性
298
+ omc repair --validate-state
299
+
300
+ # 2. 检查孤儿 agent
301
+ omc repair --fix-orphan-agents --dry-run
302
+
303
+ # 3. 清理污染状态
304
+ omc repair --fix-state-pollution --dry-run
305
+ ```
306
+
307
+ ---
308
+
309
+ ## 提交和发布最佳实践
310
+
311
+ ### 1. 提交规范
312
+
313
+ ```bash
314
+ # 格式:type(scope): description
315
+ git commit -m "feat(repair): add state validation command"
316
+ git commit -m "fix(hooks): handle concurrent state writes"
317
+ git commit -m "docs(guide): add troubleshooting section"
318
+ ```
319
+
320
+ ### 2. PR 检查清单
321
+
322
+ - [ ] 代码通过 linter
323
+ - [ ] 所有测试通过
324
+ - [ ] 类型检查无错误
325
+ - [ ] 代码审查通过
326
+ - [ ] 文档已更新
327
+ - [ ] 向后兼容
328
+
329
+ ### 3. 发布流程
330
+
331
+ ```bash
332
+ # 1. 更新版本
333
+ npm version patch|minor|major
334
+
335
+ # 2. 构建
336
+ npm run build
337
+
338
+ # 3. 测试
339
+ npm test -- --run
340
+
341
+ # 4. 发布
342
+ npm publish
343
+ ```
344
+
345
+ ---
346
+
347
+ ## 常见陷阱和解决方案
348
+
349
+ | 陷阱 | 症状 | 解决方案 |
350
+ |------|------|--------|
351
+ | 状态污染 | "State already exists" | `omc repair --fix-state-pollution` |
352
+ | 孤儿 agent | 资源泄漏 | `omc repair --fix-orphan-agents` |
353
+ | 并发冲突 | 随机失败 | 使用独立 worktree |
354
+ | 超时 | 任务中断 | 增加超时时间或分解任务 |
355
+ | 权限错误 | 无法写入状态 | 检查 `.omc/` 目录权限 |
356
+
357
+ ---
358
+
359
+ ## 参考资源
360
+
361
+ - [故障排除指南](./troubleshooting-guide.md)
362
+ - [开发标准](../dev-standards/dev-standards.md)
363
+ - [Hook 执行顺序](../standards/hook-execution-order.md)
364
+ - [状态机规范](../standards/state-machine.md)
@@ -0,0 +1,114 @@
1
+ # 快速参考卡片
2
+
3
+ 快速查找常用命令和解决方案。
4
+
5
+ ## 命令速查
6
+
7
+ ### omc repair 命令
8
+
9
+ ```bash
10
+ # 交互式向导
11
+ omc repair
12
+
13
+ # 清理状态污染
14
+ omc repair --fix-state-pollution
15
+
16
+ # 清理孤儿 agent
17
+ omc repair --fix-orphan-agents
18
+
19
+ # 验证状态文件
20
+ omc repair --validate-state
21
+
22
+ # 预览修复(不执行)
23
+ omc repair --fix-state-pollution --dry-run
24
+
25
+ # 执行所有修复
26
+ omc repair --fix-state-pollution --fix-orphan-agents --validate-state
27
+ ```
28
+
29
+ ### 状态管理
30
+
31
+ ```bash
32
+ # 查看活跃状态
33
+ ls -la .omc/state/
34
+
35
+ # 查看状态内容
36
+ cat .omc/state/autopilot-state.json | jq .
37
+
38
+ # 备份状态
39
+ cp -r .omc/state .omc/state.backup
40
+
41
+ # 清理特定状态
42
+ rm .omc/state/autopilot-state.json
43
+ ```
44
+
45
+ ### Agent 管理
46
+
47
+ ```bash
48
+ # 列出活跃 agent
49
+ ls -lh .omc/agents/
50
+
51
+ # 检查 agent 大小
52
+ du -sh .omc/agents/
53
+
54
+ # 清理特定 agent
55
+ rm -rf .omc/agents/<agent-id>
56
+
57
+ # 查看后台任务
58
+ list_jobs --status_filter=active
59
+ ```
60
+
61
+ ## 问题速查
62
+
63
+ | 错误信息 | 原因 | 解决方案 |
64
+ |---------|------|--------|
65
+ | State already exists | 状态污染 | `omc repair --fix-state-pollution` |
66
+ | Agent timeout | 执行超时 | 增加超时或分解任务 |
67
+ | Invalid JSON | 状态损坏 | `omc repair --validate-state` |
68
+ | Permission denied | 权限不足 | 检查 `.omc/` 目录权限 |
69
+ | Orphan agent | 孤儿进程 | `omc repair --fix-orphan-agents` |
70
+
71
+ ## 工作流速查
72
+
73
+ ```bash
74
+ # 快速诊断
75
+ omc repair
76
+
77
+ # 预览修复
78
+ omc repair --fix-state-pollution --dry-run
79
+
80
+ # 执行修复
81
+ omc repair --fix-state-pollution
82
+
83
+ # 验证完成
84
+ omc repair --validate-state
85
+ ```
86
+
87
+ ## 日志查看
88
+
89
+ ```bash
90
+ # 查看最新日志
91
+ tail -f .omc/logs/*.log
92
+
93
+ # 查看特定日志
94
+ cat .omc/logs/repair.log
95
+
96
+ # 搜索错误
97
+ grep -r "ERROR" .omc/logs/
98
+ ```
99
+
100
+ ## 紧急恢复
101
+
102
+ ```bash
103
+ # 1. 备份当前状态
104
+ cp -r .omc/state .omc/state.emergency
105
+
106
+ # 2. 清理所有状态
107
+ rm -rf .omc/state/*
108
+
109
+ # 3. 验证恢复
110
+ omc repair --validate-state
111
+
112
+ # 4. 如需回滚
113
+ cp -r .omc/state.emergency/* .omc/state/
114
+ ```