aico-cli 0.3.10 → 0.3.13
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/chunks/simple-config.mjs +1 -13
- package/package.json +1 -1
- package/templates/agents/aico/plan/shell-scripting-expert.md +104 -0
- package/templates/commands/aico/requirement.md +6 -0
- package/templates/commands/base//344/273/243/347/240/201/345/256/241/346/237/245/346/231/272/350/203/275/344/275/223.md +322 -0
- package/templates/hooks/README.md +198 -0
- package/templates/hooks/hooks-config.json +47 -0
- package/templates/hooks/notify.sh +103 -0
- package/templates/hooks/requirement/common-utils.sh +186 -0
- package/templates/hooks/requirement/post-requirement-aligner.sh +61 -0
- package/templates/hooks/requirement/post-requirement-identifier.sh +58 -0
- package/templates/hooks/requirement/post-task-executor-validator.sh +96 -0
- package/templates/hooks/requirement/post-task-executor.sh +78 -0
- package/templates/hooks/requirement/post-task-splitter-validator.sh +73 -0
- package/templates/hooks/requirement/pre-requirement-aligner.sh +70 -0
- package/templates/hooks/requirement/pre-requirement-identifier.sh +61 -0
- package/templates/hooks/requirement/pre-task-executor-validator.sh +81 -0
- package/templates/hooks/requirement/pre-task-executor.sh +91 -0
- package/templates/hooks/requirement/pre-task-splitter-validator.sh +61 -0
- package/templates/hooks/requirement-processor.sh +180 -0
- package/templates/hooks/sounds/complete.wav +0 -0
- package/templates/hooks/sounds/input-needed.wav +0 -0
- package/templates/hooks/subagent-context-injector.sh +65 -0
- package/templates/personality.md +19 -48
- package/templates/settings.json +0 -1
- /package/templates/commands/base/{fix-error.md → bug/344/277/256/345/244/215/346/231/272/350/203/275/344/275/223.md"} +0 -0
- /package/templates/commands/{aico → base}//345/212/237/350/203/275/347/202/271/346/265/213/347/256/227.md" +0 -0
- /package/templates/commands/base/{tech-debt.md → /346/212/200/346/234/257/345/200/272/345/212/241/345/244/204/347/220/206/346/231/272/350/203/275/344/275/223.md"} +0 -0
- /package/templates/commands/base/{ultrathink.md → /347/273/223/346/236/204/345/214/226/346/200/235/347/273/264/346/216/242/350/256/250/346/231/272/350/203/275/344/275/223.md"} +0 -0
|
@@ -13,7 +13,7 @@ import { join as join$1 } from 'node:path';
|
|
|
13
13
|
import { join, dirname, basename } from 'pathe';
|
|
14
14
|
import { fileURLToPath } from 'node:url';
|
|
15
15
|
|
|
16
|
-
const version = "0.3.
|
|
16
|
+
const version = "0.3.13";
|
|
17
17
|
|
|
18
18
|
function displayBanner(subtitle) {
|
|
19
19
|
const defaultSubtitle = "\u4E00\u952E\u914D\u7F6E\u4F60\u7684\u5F00\u53D1\u73AF\u5883";
|
|
@@ -3278,18 +3278,6 @@ const MCP_SERVICES = [
|
|
|
3278
3278
|
env: {}
|
|
3279
3279
|
}
|
|
3280
3280
|
},
|
|
3281
|
-
{
|
|
3282
|
-
id: "Playwright",
|
|
3283
|
-
name: "Playwright \u6D4F\u89C8\u5668\u63A7\u5236",
|
|
3284
|
-
description: "\u76F4\u63A5\u63A7\u5236\u6D4F\u89C8\u5668\u8FDB\u884C\u81EA\u52A8\u5316\u64CD\u4F5C",
|
|
3285
|
-
requiresApiKey: false,
|
|
3286
|
-
config: {
|
|
3287
|
-
type: "stdio",
|
|
3288
|
-
command: "npx",
|
|
3289
|
-
args: ["-y", "@playwright/mcp@latest"],
|
|
3290
|
-
env: {}
|
|
3291
|
-
}
|
|
3292
|
-
},
|
|
3293
3281
|
{
|
|
3294
3282
|
id: "chrome-devtools",
|
|
3295
3283
|
name: "Chrome DevTools",
|
package/package.json
CHANGED
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: shell-scripting-expert
|
|
3
|
+
description: Shell 脚本编程专家,专门处理安装脚本、自动化脚本和 Bash 编程相关问题
|
|
4
|
+
tools: Bash, Read, Write, Edit, Glob, Grep, LS
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Shell 脚本编程专家
|
|
8
|
+
|
|
9
|
+
你是一位资深的 Shell 脚本编程专家,专门负责设计、优化和调试 Bash 脚本,特别是在项目安装、自动化部署和系统配置方面。
|
|
10
|
+
|
|
11
|
+
## 专业领域
|
|
12
|
+
|
|
13
|
+
### 🚀 安装脚本开发
|
|
14
|
+
- **交互式安装**:设计用户友好的交互式安装流程
|
|
15
|
+
- **错误处理**:实现完善的错误检测和处理机制
|
|
16
|
+
- **兼容性检查**:验证系统环境和依赖项
|
|
17
|
+
- **进度显示**:创建清晰的安装进度指示器
|
|
18
|
+
|
|
19
|
+
### 🔧 自动化脚本
|
|
20
|
+
- **部署自动化**:编写自动化部署和配置脚本
|
|
21
|
+
- **批量处理**:处理文件批量操作和系统管理任务
|
|
22
|
+
- **定时任务**:设置和管理 cron 定时任务
|
|
23
|
+
- **监控脚本**:创建系统监控和日志分析脚本
|
|
24
|
+
|
|
25
|
+
### 🛠️ 脚本优化
|
|
26
|
+
- **性能调优**:优化脚本执行效率和资源使用
|
|
27
|
+
- **代码重构**:改进脚本结构和可维护性
|
|
28
|
+
- **安全加固**:增强脚本的安全性和权限控制
|
|
29
|
+
- **跨平台兼容**:确保脚本在不同系统上的兼容性
|
|
30
|
+
|
|
31
|
+
## 核心技能
|
|
32
|
+
|
|
33
|
+
### Bash 编程技巧
|
|
34
|
+
- **变量管理**:环境变量、局部变量和数组处理
|
|
35
|
+
- **流程控制**:条件判断、循环结构和函数定义
|
|
36
|
+
- **文本处理**:使用 sed、awk、grep 等工具进行文本操作
|
|
37
|
+
- **文件操作**:文件读写、权限管理和目录操作
|
|
38
|
+
|
|
39
|
+
### 错误处理机制
|
|
40
|
+
- **退出码处理**:正确处理命令退出状态码
|
|
41
|
+
- **信号捕获**:处理中断信号和清理操作
|
|
42
|
+
- **日志记录**:实现详细的日志记录和错误追踪
|
|
43
|
+
- **恢复机制**:设计失败后的恢复和回滚策略
|
|
44
|
+
|
|
45
|
+
### 用户体验设计
|
|
46
|
+
- **彩色输出**:使用 ANSI 颜色代码增强输出可读性
|
|
47
|
+
- **进度条显示**:创建动态进度条和状态指示器
|
|
48
|
+
- **用户输入**:处理用户输入验证和默认值设置
|
|
49
|
+
- **帮助信息**:提供详细的帮助文档和使用说明
|
|
50
|
+
|
|
51
|
+
## 工作方法
|
|
52
|
+
|
|
53
|
+
### 代码审查要点
|
|
54
|
+
- **可读性**:代码结构清晰,注释充分
|
|
55
|
+
- **可维护性**:模块化设计,易于扩展和修改
|
|
56
|
+
- **健壮性**:充分处理异常情况和边界条件
|
|
57
|
+
- **安全性**:避免常见的安全漏洞和权限问题
|
|
58
|
+
|
|
59
|
+
### 调试策略
|
|
60
|
+
1. **问题重现**:准确重现用户报告的问题
|
|
61
|
+
2. **日志分析**:检查脚本执行日志和错误信息
|
|
62
|
+
3. **逐步测试**:分步验证脚本各部分功能
|
|
63
|
+
4. **环境验证**:确认执行环境和依赖项状态
|
|
64
|
+
|
|
65
|
+
## 最佳实践
|
|
66
|
+
|
|
67
|
+
### 代码规范
|
|
68
|
+
- 使用 `set -euo pipefail` 严格模式
|
|
69
|
+
- 函数命名使用小写字母和下划线
|
|
70
|
+
- 变量命名使用大写字母和下划线
|
|
71
|
+
- 添加适当的注释和文档
|
|
72
|
+
|
|
73
|
+
### 安全考虑
|
|
74
|
+
- 避免使用 eval 命令处理用户输入
|
|
75
|
+
- 正确处理文件路径和特殊字符
|
|
76
|
+
- 设置适当的文件权限和访问控制
|
|
77
|
+
- 验证外部命令和脚本的安全性
|
|
78
|
+
|
|
79
|
+
### 性能优化
|
|
80
|
+
- 减少不必要的子进程创建
|
|
81
|
+
- 使用内置命令代替外部命令
|
|
82
|
+
- 优化循环和条件判断结构
|
|
83
|
+
- 合理使用缓存和临时文件
|
|
84
|
+
|
|
85
|
+
## 常见问题解决
|
|
86
|
+
|
|
87
|
+
### 安装失败
|
|
88
|
+
- 检查系统权限和依赖项
|
|
89
|
+
- 验证网络连接和下载源
|
|
90
|
+
- 分析错误日志和堆栈信息
|
|
91
|
+
- 提供手动安装替代方案
|
|
92
|
+
|
|
93
|
+
### 脚本执行错误
|
|
94
|
+
- 检查脚本语法和逻辑错误
|
|
95
|
+
- 验证变量赋值和引用
|
|
96
|
+
- 确认命令路径和参数正确性
|
|
97
|
+
- 提供调试和测试建议
|
|
98
|
+
|
|
99
|
+
## 沟通风格
|
|
100
|
+
|
|
101
|
+
- **技术深度**:提供深入的技术解释和原理
|
|
102
|
+
- **实用导向**:专注于解决实际问题的方案
|
|
103
|
+
- **教学耐心**:愿意解释复杂概念和技巧
|
|
104
|
+
- **经验分享**:分享实用的开发经验和技巧
|
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
# /code-review
|
|
2
|
+
|
|
3
|
+
*执行专注的多代理代码审查,仅 surfaced 对使用 AI 工具的独立开发者具有关键性、高影响力的发现。*
|
|
4
|
+
|
|
5
|
+
## 核心理念
|
|
6
|
+
|
|
7
|
+
此命令优先考虑**具有变革性的发现**,而非详尽的列表。每个发现必须证明对以下方面具有重大影响:
|
|
8
|
+
- 系统可靠性和稳定性
|
|
9
|
+
- 具有真实利用风险的安全漏洞
|
|
10
|
+
- 影响用户体验的性能瓶颈
|
|
11
|
+
- 阻碍未来可扩展性的架构决策
|
|
12
|
+
- 威胁可维护性的关键技术债务
|
|
13
|
+
|
|
14
|
+
### 🚨 仅限关键发现
|
|
15
|
+
可能在 48 小时内导致生产故障、安全漏洞或严重用户影响的问题。
|
|
16
|
+
|
|
17
|
+
### 🔥 高价值改进
|
|
18
|
+
解锁新功能、移除重要约束或将指标提升 >25% 的变更。
|
|
19
|
+
|
|
20
|
+
### ❌ 报告中排除
|
|
21
|
+
次要风格问题、微优化(<10%)、理论最佳实践、影响 <1% 用户的边缘情况。
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
## 自动加载项目上下文:
|
|
25
|
+
@/CLAUDE.md
|
|
26
|
+
@/docs/ai-context/project-structure.md
|
|
27
|
+
@/docs/ai-context/docs-overview.md
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
## 命令执行
|
|
31
|
+
|
|
32
|
+
用户提供的上下文:"$ARGUMENTS"
|
|
33
|
+
|
|
34
|
+
### 第 1 步:理解用户意图并收集上下文
|
|
35
|
+
|
|
36
|
+
#### 解析请求
|
|
37
|
+
分析自然语言输入以确定:
|
|
38
|
+
1. **审查内容**:解析文件路径、组件名称、功能描述或提交引用
|
|
39
|
+
2. **审查重点**:识别提到的任何特定关注点(安全性、性能等)
|
|
40
|
+
3. **范围推断**:智能确定所需审查的广度
|
|
41
|
+
|
|
42
|
+
意图解析示例:
|
|
43
|
+
- "身份验证流程" → 查找整个代码库中与身份验证相关的所有文件
|
|
44
|
+
- "语音管道实现" → 定位语音处理组件
|
|
45
|
+
- "最近的更改" → 解析相关提交的 git 历史
|
|
46
|
+
- "API 路由" → 识别所有 API 端点文件
|
|
47
|
+
|
|
48
|
+
#### 阅读相关文档
|
|
49
|
+
在分配代理之前,**阅读文档**以了解:
|
|
50
|
+
1. 使用 `/docs/ai-context/docs-overview.md` 识别相关文档
|
|
51
|
+
2. 阅读与被审查代码相关的文档:
|
|
52
|
+
- 子系统理解的架构文档
|
|
53
|
+
- 集成点的 API 文档
|
|
54
|
+
- 敏感区域的安全指南
|
|
55
|
+
- 关键路径的性能考虑
|
|
56
|
+
3. 建立风险、约束和优先级的心智模型
|
|
57
|
+
|
|
58
|
+
此上下文确保基于实际项目知识进行智能代理分配。
|
|
59
|
+
|
|
60
|
+
### 第 2 步:定义强制覆盖区域
|
|
61
|
+
|
|
62
|
+
每个代码审查必须分析这些核心区域,深度由范围决定:
|
|
63
|
+
|
|
64
|
+
#### 🎯 强制覆盖区域:
|
|
65
|
+
|
|
66
|
+
1. **关键路径分析**
|
|
67
|
+
- 可能损坏的用户面向功能
|
|
68
|
+
- 数据完整性和状态管理
|
|
69
|
+
- 错误处理和恢复机制
|
|
70
|
+
|
|
71
|
+
2. **安全表面**
|
|
72
|
+
- 输入验证和清理
|
|
73
|
+
- 身份验证/授权流程
|
|
74
|
+
- 数据暴露和 API 安全
|
|
75
|
+
|
|
76
|
+
3. **性能影响**
|
|
77
|
+
- 实时处理瓶颈
|
|
78
|
+
- 资源消耗(内存、CPU)
|
|
79
|
+
- 可扩展性约束
|
|
80
|
+
|
|
81
|
+
4. **集成点**
|
|
82
|
+
- API 契约和边界
|
|
83
|
+
- 服务依赖
|
|
84
|
+
- 外部系统交互
|
|
85
|
+
|
|
86
|
+
#### 📊 动态代理分配:
|
|
87
|
+
|
|
88
|
+
根据审查范围,按比例分配代理:
|
|
89
|
+
|
|
90
|
+
**小到中等范围(小文件集或小功能)**
|
|
91
|
+
- 2-3 个代理覆盖强制区域
|
|
92
|
+
- 每个代理处理 1-2 个覆盖区域
|
|
93
|
+
- 专注于最高风险方面
|
|
94
|
+
|
|
95
|
+
**大范围(多文件、主要功能或子系统)**
|
|
96
|
+
- 4-6 个具有专业化重点的代理
|
|
97
|
+
- 每个强制区域获得专门覆盖
|
|
98
|
+
- 跨域关注点的额外代理
|
|
99
|
+
|
|
100
|
+
### 第 3 步:动态代理生成
|
|
101
|
+
|
|
102
|
+
基于范围分析和强制覆盖区域,动态创建专业化代理:
|
|
103
|
+
|
|
104
|
+
#### 代理生成策略:
|
|
105
|
+
|
|
106
|
+
**利用您在第 1 步中的文档知识,深入思考**最佳代理分配:
|
|
107
|
+
- 利用您对项目架构和风险的理解
|
|
108
|
+
- 考虑您阅读的关于此子系统的特定文档
|
|
109
|
+
- 应用关键路径和安全考虑的洞察
|
|
110
|
+
- 使用文档化的边界和集成点划分工作
|
|
111
|
+
- 考虑文档中的性能或可扩展性关注
|
|
112
|
+
|
|
113
|
+
使用您对项目的理解直观确定:
|
|
114
|
+
1. **需要多少代理** - 让代码的复杂性和关键性指导您
|
|
115
|
+
2. **如何划分工作** - 遵循自然架构边界
|
|
116
|
+
3. **哪些专业化最重要** - 将代理集中在风险最高的地方
|
|
117
|
+
|
|
118
|
+
**生成专业化代理**
|
|
119
|
+
|
|
120
|
+
对于每个分配的代理,创建专注的角色:
|
|
121
|
+
|
|
122
|
+
**6 个代理分配示例:**
|
|
123
|
+
- 代理 1:Critical_Path_Validator(用户流程 + 错误处理)
|
|
124
|
+
- 代理 2:Security_Scanner(输入验证 + 身份验证)
|
|
125
|
+
- 代理 3:API_Security_Auditor(数据暴露 + 边界)
|
|
126
|
+
- 代理 4:Performance_Profiler(瓶颈 + 资源使用)
|
|
127
|
+
- 代理 5:Scalability_Analyst(约束 + 增长路径)
|
|
128
|
+
- 代理 6:Integration_Verifier(依赖 + 契约)
|
|
129
|
+
|
|
130
|
+
**3 个代理分配示例:**
|
|
131
|
+
- 代理 1:Security_Performance_Analyst(安全 + 性能区域)
|
|
132
|
+
- 代理 2:Critical_Path_Guardian(功能 + 集成)
|
|
133
|
+
- 代理 3:Risk_Quality_Assessor(技术债务 + 代码质量)
|
|
134
|
+
|
|
135
|
+
#### 动态重点区域:
|
|
136
|
+
|
|
137
|
+
每个代理根据以下内容接收专业化指令:
|
|
138
|
+
- **文件特征**:API 端点 → 安全重点
|
|
139
|
+
- **代码模式**:循环/算法 → 性能重点
|
|
140
|
+
- **依赖**:外部服务 → 集成重点
|
|
141
|
+
- **用户触点**:UI/语音 → 关键路径重点
|
|
142
|
+
|
|
143
|
+
### 第 4 步:执行动态多代理审查
|
|
144
|
+
|
|
145
|
+
**在启动代理之前,暂停并深入思考:**
|
|
146
|
+
- 这段代码中的真正风险是什么?
|
|
147
|
+
- 哪些区域如果失败会造成最大损害?
|
|
148
|
+
- 独立开发者在哪些方面最需要帮助?
|
|
149
|
+
|
|
150
|
+
基于您的深思熟虑分析生成和启动代理:
|
|
151
|
+
|
|
152
|
+
```
|
|
153
|
+
对于每个动态生成的代理:
|
|
154
|
+
任务:"作为 [Agent_Role],分析 [target_scope] 中的 [assigned_coverage_areas]。
|
|
155
|
+
|
|
156
|
+
强制覆盖检查清单:
|
|
157
|
+
☐ 关键路径:[分配的方面]
|
|
158
|
+
☐ 安全:[分配的方面]
|
|
159
|
+
☐ 性能:[分配的方面]
|
|
160
|
+
☐ 集成:[分配的方面]
|
|
161
|
+
|
|
162
|
+
高影响力审查授权:
|
|
163
|
+
专注于仅对独立开发者具有变革性的发现。
|
|
164
|
+
|
|
165
|
+
审查工作流:
|
|
166
|
+
1. 审查自动加载的项目上下文(CLAUDE.md、project-structure.md、docs-overview.md)
|
|
167
|
+
2. 深入专注地分析您分配的覆盖区域
|
|
168
|
+
3. 对于复杂问题,使用:
|
|
169
|
+
- mcp__gemini__consult_gemini 进行架构分析
|
|
170
|
+
- mcp__context7__get-library-docs 获取框架最佳实践
|
|
171
|
+
4. 与其他覆盖区域交叉引用系统性问题
|
|
172
|
+
5. 仅记录高影响力发现:
|
|
173
|
+
|
|
174
|
+
## [Coverage_Area] 由 [Agent_Role] 的分析
|
|
175
|
+
|
|
176
|
+
### 🚨 关键问题(生产风险)
|
|
177
|
+
- 问题:[描述]
|
|
178
|
+
- 位置:[file:line_number]
|
|
179
|
+
- 影响:[量化 - 停机时间、受影响用户、风险数据]
|
|
180
|
+
- 修复:[特定代码片段]
|
|
181
|
+
- 忽略后果:[48 小时内会发生什么]
|
|
182
|
+
|
|
183
|
+
### 🎯 战略改进(功能解锁)
|
|
184
|
+
- 限制:[当前阻塞的内容]
|
|
185
|
+
- 解决方案:[架构变更或实施]
|
|
186
|
+
- 解锁:[新功能或规模]
|
|
187
|
+
- 投资回报:[投入小时数与量化收益]
|
|
188
|
+
|
|
189
|
+
### ⚡ 快速获胜(可选)
|
|
190
|
+
- 仅当 <2 小时实现 >20% 改进时包含
|
|
191
|
+
- 必须显示可衡量影响
|
|
192
|
+
|
|
193
|
+
记住:每个发现必须通过独立开发者的'那又怎样?'测试。"
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
#### 并行执行策略:
|
|
197
|
+
|
|
198
|
+
**同时启动所有代理**以获得最大效率
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
### 第 5 步:以最大分析能力综合发现
|
|
202
|
+
|
|
203
|
+
所有子代理完成分析后:
|
|
204
|
+
|
|
205
|
+
**ultrathink**
|
|
206
|
+
|
|
207
|
+
激活最大认知能力以:
|
|
208
|
+
|
|
209
|
+
1. **过滤影响**
|
|
210
|
+
- 丢弃所有低优先级发现
|
|
211
|
+
- 量化每个问题的真实世界影响
|
|
212
|
+
- 专注于生产风险和功能解锁
|
|
213
|
+
|
|
214
|
+
2. **深度模式分析**
|
|
215
|
+
- 识别系统性问题与孤立问题
|
|
216
|
+
- 在代理报告中查找根本原因
|
|
217
|
+
- 检测微妙的安全漏洞
|
|
218
|
+
|
|
219
|
+
3. **战略优先级排序**
|
|
220
|
+
- 计算每个改进的投资回报率
|
|
221
|
+
- 考虑独立开发者约束
|
|
222
|
+
- 创建可操作的修复序列
|
|
223
|
+
```markdown
|
|
224
|
+
# 代码审查摘要
|
|
225
|
+
|
|
226
|
+
**已审查**:[范围描述]
|
|
227
|
+
**日期**:[当前日期]
|
|
228
|
+
**整体质量得分**:[A-F 等级并附上理由]
|
|
229
|
+
|
|
230
|
+
## 关键指标
|
|
231
|
+
- 安全风险级别:[Critical/High/Medium/Low]
|
|
232
|
+
- 性能影响:[描述]
|
|
233
|
+
- 技术债务:[评估]
|
|
234
|
+
- 测试覆盖率:[如适用]
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
### 第 6 步:呈现全面审查
|
|
238
|
+
|
|
239
|
+
构建最终输出为:
|
|
240
|
+
|
|
241
|
+
```markdown
|
|
242
|
+
# 🔍 代码审查报告
|
|
243
|
+
|
|
244
|
+
## 执行摘要
|
|
245
|
+
[高级发现和整体评估]
|
|
246
|
+
|
|
247
|
+
## 🚨 生产风险(48 小时内修复)
|
|
248
|
+
[仅可能导致停机、数据丢失或安全漏洞的问题]
|
|
249
|
+
|
|
250
|
+
## 🎯 战略改进(高投资回报率)
|
|
251
|
+
[仅解锁功能或提升指标 >25% 的变更]
|
|
252
|
+
|
|
253
|
+
## ⚡ 快速获胜(可选)
|
|
254
|
+
[仅当 <2 小时努力实现显著改进时]
|
|
255
|
+
|
|
256
|
+
## 详细分析
|
|
257
|
+
|
|
258
|
+
### 安全评估
|
|
259
|
+
[来自 Security_Auditor 的详细安全发现]
|
|
260
|
+
|
|
261
|
+
### 性能分析
|
|
262
|
+
[来自 Performance_Analyzer 的详细性能发现]
|
|
263
|
+
|
|
264
|
+
### 架构审查
|
|
265
|
+
[来自 Architecture_Validator 的详细架构发现]
|
|
266
|
+
|
|
267
|
+
### 代码质量评估
|
|
268
|
+
[来自 Quality_Inspector 的详细质量发现]
|
|
269
|
+
|
|
270
|
+
[基于使用子代理的附加部分]
|
|
271
|
+
|
|
272
|
+
## 行动计划
|
|
273
|
+
1. 阻止生产故障的关键修复
|
|
274
|
+
2. 解锁功能的高投资回报率改进
|
|
275
|
+
|
|
276
|
+
## 影响矩阵
|
|
277
|
+
| 问题 | 用户影响 | 努力 | 投资回报率 |
|
|
278
|
+
|-------|-------------|--------|-----|
|
|
279
|
+
| [仅具有量化指标的高影响力问题] |
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
### 第 7 步:交互式后续处理
|
|
283
|
+
|
|
284
|
+
呈现审查后,提供交互式后续处理。例如:
|
|
285
|
+
- "您希望我修复任何关键问题吗?"
|
|
286
|
+
- "我应该为任何组件创建详细的重构计划吗?"
|
|
287
|
+
- "您希望我为未覆盖的代码生成测试吗?"
|
|
288
|
+
- "我应该为跟踪这些改进创建 GitHub 问题吗?"
|
|
289
|
+
|
|
290
|
+
## 实施说明
|
|
291
|
+
|
|
292
|
+
1. **为所有子代理使用并行任务执行**以最小化审查时间
|
|
293
|
+
2. **包含 file:line_number 引用**以便于导航
|
|
294
|
+
3. **平衡批评与认可**良好实践
|
|
295
|
+
4. **提供可操作的修复**,而不仅仅是问题识别
|
|
296
|
+
5. **考虑项目阶段**和优先级时推荐变更
|
|
297
|
+
6. **有益时使用 MCP 服务器**进行专业化分析
|
|
298
|
+
7. **保持安全发现敏感** - 不要公开暴露漏洞
|
|
299
|
+
|
|
300
|
+
## 错误处理
|
|
301
|
+
|
|
302
|
+
### 覆盖验证
|
|
303
|
+
|
|
304
|
+
在呈现结果之前,验证完整覆盖:
|
|
305
|
+
|
|
306
|
+
```
|
|
307
|
+
☑ 关键路径分析:[由代理 X, Y 覆盖]
|
|
308
|
+
☑ 安全表面:[由代理 Y, Z 覆盖]
|
|
309
|
+
☑ 性能影响:[由代理 X, Z 覆盖]
|
|
310
|
+
☑ 集成点:[由代理 W, X 覆盖]
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
如果任何区域缺乏覆盖,部署额外的专注代理。
|
|
314
|
+
|
|
315
|
+
## 错误处理
|
|
316
|
+
|
|
317
|
+
审查期间发生问题时:
|
|
318
|
+
- **输入模糊**:在要求澄清之前使用搜索工具查找相关文件
|
|
319
|
+
- **文件未找到**:在整个代码库中搜索相似名称或组件
|
|
320
|
+
- **检测到大范围**:根据计算复杂度动态扩展代理
|
|
321
|
+
- **未找到文件**:基于项目结构提供有用建议
|
|
322
|
+
- **覆盖缺口**:为缺失区域部署补充代理
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
# AICO 需求管理 Hook 系统
|
|
2
|
+
|
|
3
|
+
## 📋 概述
|
|
4
|
+
|
|
5
|
+
将原有的需求管理脚本重构为基于 Hook 触发的模块化系统,支持需求生命周期的全流程自动化处理。
|
|
6
|
+
|
|
7
|
+
## 🏗️ 架构设计
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
templates/hooks/
|
|
11
|
+
├── hooks-config.json # Hook 配置中心
|
|
12
|
+
├── requirement-processor.sh # 🔧 主要使用脚本
|
|
13
|
+
├── requirement/ # Hook 机制
|
|
14
|
+
│ ├── common-utils.sh # 核心工具库
|
|
15
|
+
│ ├── pre-requirement-identifier.sh
|
|
16
|
+
│ ├── post-requirement-identifier.sh
|
|
17
|
+
│ ├── pre-requirement-aligner.sh
|
|
18
|
+
│ ├── post-requirement-aligner.sh
|
|
19
|
+
│ ├── pre-task-splitter-validator.sh
|
|
20
|
+
│ ├── post-task-splitter-validator.sh
|
|
21
|
+
│ ├── pre-task-executor.sh
|
|
22
|
+
│ ├── post-task-executor.sh
|
|
23
|
+
│ ├── pre-task-executor-validator.sh
|
|
24
|
+
│ └── post-task-executor-validator.sh
|
|
25
|
+
└── ../agents/aico/requirement/ # 🎯 原有核心逻辑
|
|
26
|
+
├── crossplatform-utils.sh # 跨平台工具库
|
|
27
|
+
└── requirement-functions-crossplatform.sh # 需求分析算法
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## 🚀 使用方法
|
|
31
|
+
|
|
32
|
+
### 1. 基本需求处理(推荐)
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
# 处理完整需求生命周期
|
|
36
|
+
./templates/hooks/requirement-processor.sh "需要开发一个用户登录功能"
|
|
37
|
+
|
|
38
|
+
# 查看帮助
|
|
39
|
+
./templates/hooks/requirement-processor.sh --help
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### 2. 单独调用 Hook(高级用法)
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
# 需求识别前置处理
|
|
46
|
+
./templates/hooks/requirement/pre-requirement-identifier.sh "需求描述"
|
|
47
|
+
|
|
48
|
+
# 需求识别后置处理
|
|
49
|
+
./templates/hooks/requirement/post-requirement-identifier.sh "需求描述" "共识文档路径"
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### 3. 手动调用原有脚本(兼容性)
|
|
53
|
+
|
|
54
|
+
原有的核心逻辑仍然保留,可以通过以下方式使用:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
# 使用原有的跨平台工具库
|
|
58
|
+
source templates/agents/aico/requirement/crossplatform-utils.sh
|
|
59
|
+
|
|
60
|
+
# 使用原有的需求分析函数
|
|
61
|
+
source templates/agents/aico/requirement/requirement-functions-crossplatform.sh
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## 📊 脚本用途说明
|
|
65
|
+
|
|
66
|
+
### ✅ 有用的脚本(保留)
|
|
67
|
+
|
|
68
|
+
| 脚本 | 用途 | 是否核心 |
|
|
69
|
+
|------|------|----------|
|
|
70
|
+
| `requirement-processor.sh` | 🎯 **主要使用脚本**,整合所有功能 | ✅ 是 |
|
|
71
|
+
| `common-utils.sh` | Hook 框架核心,日志、状态管理 | ✅ 是 |
|
|
72
|
+
| 10个 `pre/post` hook 脚本 | 生命周期各阶段的前后置处理 | ✅ 是 |
|
|
73
|
+
| `crossplatform-utils.sh` | 跨平台兼容性工具库 | ✅ 是 |
|
|
74
|
+
| `requirement-functions-crossplatform.sh` | 需求分析核心算法 | ✅ 是 |
|
|
75
|
+
| `hooks-config.json` | Hook 配置管理 | ✅ 是 |
|
|
76
|
+
|
|
77
|
+
### ❌ 已删除的脚本(冗余)
|
|
78
|
+
|
|
79
|
+
| 原因 | 删除的脚本 |
|
|
80
|
+
|------|------------|
|
|
81
|
+
| 仅用于开发调试 | 所有 `test-*.sh` 脚本 |
|
|
82
|
+
| 被 Hook 机制替代 | `requirement-launcher.sh` |
|
|
83
|
+
|
|
84
|
+
## 🔄 工作流程
|
|
85
|
+
|
|
86
|
+
### 完整生命周期流程
|
|
87
|
+
|
|
88
|
+
1. **需求识别阶段** (`requirement-identifier`)
|
|
89
|
+
- 前置 Hook: 环境检查、参数验证
|
|
90
|
+
- 核心逻辑: 需求分析、意图识别
|
|
91
|
+
- 后置 Hook: 状态更新、摘要生成
|
|
92
|
+
|
|
93
|
+
2. **需求对齐阶段** (`requirement-aligner`)
|
|
94
|
+
- 前置 Hook: 技术栈分析、依赖检查
|
|
95
|
+
- 核心逻辑: 技术方案设计
|
|
96
|
+
- 后置 Hook: 对齐状态更新
|
|
97
|
+
|
|
98
|
+
3. **任务拆分阶段** (`task-splitter-validator`)
|
|
99
|
+
- 前置 Hook: 任务复杂度分析
|
|
100
|
+
- 核心逻辑: 任务分解、优先级排序
|
|
101
|
+
- 后置 Hook: 拆分摘要生成
|
|
102
|
+
|
|
103
|
+
4. **任务执行阶段** (`task-executor`)
|
|
104
|
+
- 前置 Hook: 执行环境检查
|
|
105
|
+
- 核心逻辑: 代码实现、单元测试
|
|
106
|
+
- 后置 Hook: 执行统计汇总
|
|
107
|
+
|
|
108
|
+
5. **质量验证阶段** (`task-executor-validator`)
|
|
109
|
+
- 前置 Hook: 验证环境准备
|
|
110
|
+
- 核心逻辑: 质量检查、集成测试
|
|
111
|
+
- 后置 Hook: 验证报告生成
|
|
112
|
+
|
|
113
|
+
## 🎯 最佳实践
|
|
114
|
+
|
|
115
|
+
### 推荐使用方式
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
# 日常使用 - 一步到位
|
|
119
|
+
./templates/hooks/requirement-processor.sh "功能需求描述"
|
|
120
|
+
|
|
121
|
+
# 开发调试 - 分步执行
|
|
122
|
+
./templates/hooks/requirement/pre-requirement-identifier.sh "需求"
|
|
123
|
+
# ... 检查前置处理结果 ...
|
|
124
|
+
./templates/hooks/requirement/post-requirement-identifier.sh "需求" "文档"
|
|
125
|
+
|
|
126
|
+
# 自定义流程 - 组合使用
|
|
127
|
+
source templates/hooks/requirement/common-utils.sh
|
|
128
|
+
execute_hook "pre" "requirement-identifier" "自定义参数"
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## 🛠️ 配置管理
|
|
132
|
+
|
|
133
|
+
编辑 `hooks-config.json` 可以:
|
|
134
|
+
|
|
135
|
+
- 启用/禁用特定 Hook
|
|
136
|
+
- 设置超时时间
|
|
137
|
+
- 配置依赖关系
|
|
138
|
+
- 调整重试策略
|
|
139
|
+
|
|
140
|
+
```json
|
|
141
|
+
{
|
|
142
|
+
"hooks": {
|
|
143
|
+
"requirement-identifier": {
|
|
144
|
+
"enabled": true,
|
|
145
|
+
"timeout": 30000,
|
|
146
|
+
"dependencies": []
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
## 🔧 扩展开发
|
|
153
|
+
|
|
154
|
+
### 添加新的 Hook
|
|
155
|
+
|
|
156
|
+
1. 在对应目录创建 `pre-stage-name.sh` 和 `post-stage-name.sh`
|
|
157
|
+
2. 在 `hooks-config.json` 中添加配置
|
|
158
|
+
3. 更新 `requirement-processor.sh` 中的流程调用
|
|
159
|
+
|
|
160
|
+
### 自定义处理逻辑
|
|
161
|
+
|
|
162
|
+
原有脚本的核心逻辑函数可以在 Hook 中直接调用:
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
source ../agents/aico/requirement/requirement-functions-crossplatform.sh
|
|
166
|
+
|
|
167
|
+
# 在 Hook 中调用原有函数
|
|
168
|
+
analyze_requirement "$user_input"
|
|
169
|
+
generate_consensus_document
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
## ⚠️ 注意事项
|
|
173
|
+
|
|
174
|
+
1. **依赖关系**: Hook 严格按照依赖顺序执行
|
|
175
|
+
2. **状态管理**: 每个 Hook 会更新对应的状态文件
|
|
176
|
+
3. **错误处理**: Hook 失败会中断整个流程
|
|
177
|
+
4. **跨平台**: 保持与原有脚本的跨平台兼容性
|
|
178
|
+
|
|
179
|
+
## 📚 迁移指南
|
|
180
|
+
|
|
181
|
+
如果你之前使用 `requirement-launcher.sh`,现在可以这样迁移:
|
|
182
|
+
|
|
183
|
+
### 旧方式
|
|
184
|
+
```bash
|
|
185
|
+
./templates/agents/aico/requirement/requirement-launcher.sh "需求描述"
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
### 新方式(推荐)
|
|
189
|
+
```bash
|
|
190
|
+
./templates/hooks/requirement-processor.sh "需求描述"
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
新方式的优势:
|
|
194
|
+
- ✅ 自动 Hook 触发
|
|
195
|
+
- ✅ 更好的状态管理
|
|
196
|
+
- ✅ 更强的错误处理
|
|
197
|
+
- ✅ 模块化架构
|
|
198
|
+
- ✅ 易于扩展
|