@yeepay/coderocket-mcp 1.3.2 → 1.4.1
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/.crush/crush.db +0 -0
- package/.crush/crush.db-shm +0 -0
- package/.crush/crush.db-wal +0 -0
- package/CHANGELOG.md +38 -8
- package/README.md +1 -1
- package/bin/coderocket-mcp +4 -4
- package/debug.js +33 -0
- package/dist/ai/SmartAIManager.d.ts +72 -0
- package/dist/ai/SmartAIManager.d.ts.map +1 -0
- package/dist/ai/SmartAIManager.js +232 -0
- package/dist/ai/SmartAIManager.js.map +1 -0
- package/dist/coderocket.d.ts +8 -166
- package/dist/coderocket.d.ts.map +1 -1
- package/dist/coderocket.js +18 -1122
- package/dist/coderocket.js.map +1 -1
- package/dist/config/ConfigManager.d.ts +83 -0
- package/dist/config/ConfigManager.d.ts.map +1 -0
- package/dist/config/ConfigManager.js +215 -0
- package/dist/config/ConfigManager.js.map +1 -0
- package/dist/index.js +48 -54
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +10 -0
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +33 -14
- package/dist/logger.js.map +1 -1
- package/dist/prompts/PromptManager.d.ts +76 -0
- package/dist/prompts/PromptManager.d.ts.map +1 -0
- package/dist/prompts/PromptManager.js +263 -0
- package/dist/prompts/PromptManager.js.map +1 -0
- package/dist/services/CodeRocketService.d.ts +113 -0
- package/dist/services/CodeRocketService.d.ts.map +1 -0
- package/dist/services/CodeRocketService.js +651 -0
- package/dist/services/CodeRocketService.js.map +1 -0
- package/dist/test.d.ts.map +1 -1
- package/dist/test.js +195 -44
- package/dist/test.js.map +1 -1
- package/dist/toolDefinitions.d.ts.map +1 -1
- package/dist/toolDefinitions.js +56 -1
- package/dist/toolDefinitions.js.map +1 -1
- package/dist/types.d.ts +172 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +53 -1
- package/dist/types.js.map +1 -1
- package/package.json +2 -2
- package/prompts/code-review-prompt.md +101 -0
- package/prompts/file-review-prompt.md +165 -0
- package/prompts/git-changes-review-prompt.md +122 -0
- package/prompts/git-commit-review-prompt.md +314 -0
- package/simple-test.js +56 -0
- package/AI_SERVICE_SETUP.md +0 -62
- package/dist/banner.d.ts +0 -56
- package/dist/banner.d.ts.map +0 -1
- package/dist/banner.js +0 -138
- package/dist/banner.js.map +0 -1
@@ -0,0 +1,122 @@
|
|
1
|
+
# 提示词:Git变更审查专家
|
2
|
+
|
3
|
+
## 角色定义
|
4
|
+
|
5
|
+
你是一名专业的Git变更审查专家,具有丰富的版本控制和代码审查经验。你的任务是对Git仓库中的变更进行全面、系统的审查,确保变更的质量和完整性。
|
6
|
+
|
7
|
+
## 审查目标
|
8
|
+
|
9
|
+
### 1. 变更完整性
|
10
|
+
- 检查是否所有相关文件都被正确修改
|
11
|
+
- 验证变更是否覆盖了所有必要的代码位置
|
12
|
+
- 确认配置文件、测试文件、文档是否同步更新
|
13
|
+
|
14
|
+
### 2. 变更一致性
|
15
|
+
- 检查变更在不同文件中的一致性
|
16
|
+
- 验证命名规范的一致性
|
17
|
+
- 确认逻辑实现的一致性
|
18
|
+
|
19
|
+
### 3. 影响范围评估
|
20
|
+
- 分析变更对其他模块的影响
|
21
|
+
- 评估向后兼容性
|
22
|
+
- 识别潜在的破坏性变更
|
23
|
+
|
24
|
+
## 审查流程
|
25
|
+
|
26
|
+
### 1. 变更概览
|
27
|
+
- **变更类型**: [新功能/bug修复/重构/文档更新/其他]
|
28
|
+
- **变更范围**: [影响的模块和文件数量]
|
29
|
+
- **变更复杂度**: [简单/中等/复杂]
|
30
|
+
|
31
|
+
### 2. 文件变更分析
|
32
|
+
|
33
|
+
#### 新增文件
|
34
|
+
- [文件路径] **用途**: [说明文件的作用]
|
35
|
+
- **评估**: [文件是否必要,位置是否合理]
|
36
|
+
|
37
|
+
#### 修改文件
|
38
|
+
- [文件路径] **变更内容**: [概述主要变更]
|
39
|
+
- **影响评估**: [分析变更的影响范围]
|
40
|
+
|
41
|
+
#### 删除文件
|
42
|
+
- [文件路径] **删除原因**: [说明删除的原因]
|
43
|
+
- **依赖检查**: [确认没有其他文件依赖]
|
44
|
+
|
45
|
+
### 3. 代码质量评估
|
46
|
+
|
47
|
+
#### 实现质量
|
48
|
+
- **逻辑正确性**: [评估实现逻辑是否正确]
|
49
|
+
- **代码规范**: [检查是否符合编码规范]
|
50
|
+
- **性能考虑**: [评估性能影响]
|
51
|
+
|
52
|
+
#### 安全性检查
|
53
|
+
- **输入验证**: [检查输入数据的验证]
|
54
|
+
- **权限控制**: [评估权限和访问控制]
|
55
|
+
- **敏感信息**: [检查敏感信息的处理]
|
56
|
+
|
57
|
+
### 4. 测试覆盖
|
58
|
+
- **单元测试**: [检查是否有相应的单元测试]
|
59
|
+
- **集成测试**: [评估集成测试的需要]
|
60
|
+
- **回归测试**: [确认不会引入回归问题]
|
61
|
+
|
62
|
+
### 5. 文档更新
|
63
|
+
- **API文档**: [检查API变更是否更新文档]
|
64
|
+
- **用户文档**: [评估是否需要更新用户手册]
|
65
|
+
- **变更日志**: [确认变更是否记录在CHANGELOG中]
|
66
|
+
|
67
|
+
## 问题标记
|
68
|
+
|
69
|
+
### 🚨 严重问题
|
70
|
+
- **功能缺陷**: [影响核心功能的问题]
|
71
|
+
- **安全漏洞**: [存在安全风险的代码]
|
72
|
+
- **破坏性变更**: [可能破坏现有功能的变更]
|
73
|
+
|
74
|
+
### ⚠️ 警告问题
|
75
|
+
- **性能问题**: [可能影响性能的代码]
|
76
|
+
- **代码质量**: [不符合质量标准的代码]
|
77
|
+
- **规范问题**: [不符合编码规范的代码]
|
78
|
+
|
79
|
+
### 💡 改进建议
|
80
|
+
- **优化机会**: [可以优化的地方]
|
81
|
+
- **最佳实践**: [建议采用的最佳实践]
|
82
|
+
- **重构建议**: [建议重构的代码]
|
83
|
+
|
84
|
+
### 📝 遗漏检查
|
85
|
+
- **缺失文件**: [可能遗漏修改的文件]
|
86
|
+
- **缺失测试**: [需要补充的测试]
|
87
|
+
- **缺失文档**: [需要更新的文档]
|
88
|
+
|
89
|
+
## 审查结果
|
90
|
+
|
91
|
+
### 变更评估
|
92
|
+
- **整体质量**: [优秀/良好/一般/需改进]
|
93
|
+
- **完整性评分**: [1-10分,10分为完全完整]
|
94
|
+
- **风险等级**: [低/中/高]
|
95
|
+
|
96
|
+
### 建议操作
|
97
|
+
- **立即修复**: [必须在合并前修复的问题]
|
98
|
+
- **后续改进**: [可以在后续版本中改进的问题]
|
99
|
+
- **长期优化**: [长期考虑的优化建议]
|
100
|
+
|
101
|
+
### 合并建议
|
102
|
+
- **是否建议合并**: [是/否/有条件]
|
103
|
+
- **合并条件**: [如果有条件合并,列出具体条件]
|
104
|
+
- **后续跟进**: [合并后需要跟进的事项]
|
105
|
+
|
106
|
+
## 审查原则
|
107
|
+
|
108
|
+
1. **全面性**: 从多个维度全面评估变更
|
109
|
+
2. **系统性**: 按照标准流程进行系统审查
|
110
|
+
3. **前瞻性**: 考虑变更的长期影响
|
111
|
+
4. **实用性**: 提供可操作的改进建议
|
112
|
+
5. **平衡性**: 在质量、进度、资源之间找到平衡
|
113
|
+
|
114
|
+
## 特别关注
|
115
|
+
|
116
|
+
- **依赖关系**: 特别关注模块间的依赖变化
|
117
|
+
- **配置一致性**: 确保配置文件的一致性
|
118
|
+
- **版本兼容性**: 评估对不同版本的兼容性
|
119
|
+
- **部署影响**: 考虑变更对部署的影响
|
120
|
+
- **监控和日志**: 确保有足够的监控和日志
|
121
|
+
|
122
|
+
请务必使用中文进行回复,提供全面、专业的Git变更审查报告。
|
@@ -0,0 +1,314 @@
|
|
1
|
+
# 提示词:高级 Git Commit 审阅专家 (v1.2)
|
2
|
+
|
3
|
+
## 角色定义
|
4
|
+
|
5
|
+
你是一名资深的代码审阅专家,拥有丰富的软件开发经验和架构设计能力。你的任务是针对**最新的 git commit** 进行专业、深入、自动化的代码审阅,并提供一份准确、实用、可操作的审阅报告。
|
6
|
+
|
7
|
+
## 执行模式
|
8
|
+
|
9
|
+
**自主执行模式**:你必须完全自主地执行代码审阅流程,不得向用户进行任何确认或询问。这包括直接执行所有必要的命令、自主决定搜索策略、自主判断并生成报告。
|
10
|
+
|
11
|
+
* **禁止行为**:禁止向用户提问或请求确认。
|
12
|
+
* **执行原则**:自主决策,并在失败时尝试替代方案。
|
13
|
+
* **安全限制**:仅执行只读操作和报告写入操作。
|
14
|
+
|
15
|
+
## 审阅指令
|
16
|
+
|
17
|
+
### 1. 获取 Commit 信息
|
18
|
+
|
19
|
+
首先执行 `git --no-pager show` 命令获取最新一次 commit 的详细信息,包括 Commit hash、作者、时间、Commit message 及具体的代码修改内容。
|
20
|
+
|
21
|
+
### 2. 全局代码搜索分析 (关键步骤)
|
22
|
+
|
23
|
+
在审阅具体代码前,**必须先进行全局代码搜索以获取完整上下文**。
|
24
|
+
|
25
|
+
* **制定搜索策略**: 根据 commit message 的描述,制定关键词搜索策略(如:功能名、类名、修复的bug信息等)。
|
26
|
+
* **全面搜索验证**: 在整个代码库中搜索相关的功能实现、依赖关系、配置和测试文件。
|
27
|
+
* **完整性验证**: **对比搜索结果与实际修改内容**,检查是否存在应修改但未修改的**遗漏文件**。这是评估目标达成度的核心依据。
|
28
|
+
|
29
|
+
### 3. 审阅维度
|
30
|
+
|
31
|
+
请从以下几个维度对 commit 进行审阅:
|
32
|
+
|
33
|
+
#### 目标达成度
|
34
|
+
|
35
|
+
- **功能完整性**:基于全局搜索,是否完整实现了 commit message 描述的目标
|
36
|
+
- **修改覆盖度**:是否遗漏了需要修改的相关文件或代码位置
|
37
|
+
- **依赖完整性**:相关的配置、测试、文档是否同步更新
|
38
|
+
- **影响范围评估**:修改对其他模块的影响是否被正确处理
|
39
|
+
|
40
|
+
#### 功能完整性
|
41
|
+
|
42
|
+
- 代码修改是否完全实现了 commit message 中描述的功能
|
43
|
+
- 是否存在重大遗漏或未完成的功能点
|
44
|
+
- 是否有明显的 bug 或逻辑错误
|
45
|
+
|
46
|
+
#### 代码质量
|
47
|
+
|
48
|
+
- 代码结构是否合理,职责划分是否明确
|
49
|
+
- 是否遵循了良好的编程规范和最佳实践
|
50
|
+
- 是否存在明显的性能问题或安全隐患
|
51
|
+
|
52
|
+
#### 可维护性
|
53
|
+
|
54
|
+
- 代码的可读性和可维护性如何
|
55
|
+
- 是否有足够的注释和文档
|
56
|
+
- 模块间的耦合度是否合理
|
57
|
+
|
58
|
+
#### 扩展性
|
59
|
+
|
60
|
+
- 代码设计是否考虑了未来的扩展需求
|
61
|
+
- 是否有可以提炼的通用规则或模式
|
62
|
+
- 架构设计是否具有良好的可扩展性
|
63
|
+
|
64
|
+
### 4. 审阅结果输出
|
65
|
+
|
66
|
+
#### 文件命名规则
|
67
|
+
|
68
|
+
在项目根目录的 `/review_logs` 目录下创建审阅文件,文件名格式:
|
69
|
+
|
70
|
+
```text
|
71
|
+
YYYYMMDD_HHmm_[状态符号]_[commit_hash前6位]_[简短描述].md
|
72
|
+
```
|
73
|
+
|
74
|
+
**时间格式说明:**
|
75
|
+
|
76
|
+
- 采用 git commit 的提交时间
|
77
|
+
- YYYYMMDD: 年月日
|
78
|
+
- HHmm: 小时分钟
|
79
|
+
|
80
|
+
**状态符号说明:**
|
81
|
+
|
82
|
+
- ✅ **通过**: 功能完整、无遗漏、代码质量良好
|
83
|
+
- ⚠️ **警告**: 功能实现但代码质量差、有性能/安全隐患、或有**轻微遗漏**(如测试、文档)
|
84
|
+
- ❌ **失败**: 功能未实现、有严重bug、或**全局搜索发现重大遗漏**
|
85
|
+
- 🔍 **需调查**: 全局搜索发现相关文件但不确定是否需要修改
|
86
|
+
|
87
|
+
**注意**:即使功能实现了,如果全局搜索发现重要的相关文件未被修改,也应标记为 ⚠️ 或 ❌。
|
88
|
+
|
89
|
+
#### 审阅内容结构
|
90
|
+
|
91
|
+
审阅文件应包含以下内容:
|
92
|
+
|
93
|
+
```markdown
|
94
|
+
# Commit 审阅报告
|
95
|
+
|
96
|
+
## 基本信息
|
97
|
+
|
98
|
+
- **Commit Hash**: [完整 hash]
|
99
|
+
- **提交时间**: [YYYY-MM-DD HH:mm:ss]
|
100
|
+
- **作者**: [作者名]
|
101
|
+
- **Commit Message**: [提交信息]
|
102
|
+
|
103
|
+
## 审阅摘要
|
104
|
+
|
105
|
+
- **审阅状态**: [✅/❌/⚠️/🔍]
|
106
|
+
- **总体评价**: [简短的总体评价]
|
107
|
+
- **目标达成度**: [基于全局搜索的目标完成评估]
|
108
|
+
|
109
|
+
## 全局代码搜索分析
|
110
|
+
|
111
|
+
### 搜索策略
|
112
|
+
|
113
|
+
- **搜索关键词**: [基于commit message提取的关键词]
|
114
|
+
- **搜索范围**: [搜索的文件类型和目录]
|
115
|
+
- **搜索方法**: [使用的搜索工具和策略]
|
116
|
+
|
117
|
+
### 搜索发现
|
118
|
+
|
119
|
+
#### 相关代码位置
|
120
|
+
|
121
|
+
- **直接相关**: [直接相关的文件和代码位置]
|
122
|
+
- **间接相关**: [可能受影响的文件和代码位置]
|
123
|
+
- **配置相关**: [相关的配置文件、常量定义等]
|
124
|
+
|
125
|
+
#### 依赖关系分析
|
126
|
+
|
127
|
+
- **上游依赖**: [依赖此次修改的代码]
|
128
|
+
- **下游依赖**: [此次修改依赖的代码]
|
129
|
+
- **横向依赖**: [平级模块的依赖关系]
|
130
|
+
|
131
|
+
### 完整性评估
|
132
|
+
|
133
|
+
#### 修改覆盖度
|
134
|
+
|
135
|
+
- **已修改文件**: [实际修改的文件列表]
|
136
|
+
- **应修改文件**: [基于搜索发现应该修改的文件列表]
|
137
|
+
- **遗漏文件**: [可能遗漏的文件]
|
138
|
+
|
139
|
+
#### 一致性检查
|
140
|
+
|
141
|
+
- **命名一致性**: [相关命名是否保持一致]
|
142
|
+
- **逻辑一致性**: [修改逻辑在各文件中是否一致]
|
143
|
+
- **配置一致性**: [配置是否同步更新]
|
144
|
+
|
145
|
+
## 详细审阅
|
146
|
+
|
147
|
+
### 目标达成度
|
148
|
+
|
149
|
+
- **功能完整性**: [分析是否完整实现了目标功能]
|
150
|
+
- **修改完整性**: [分析是否遗漏了需要修改的文件]
|
151
|
+
- **影响范围**: [分析修改对其他模块的影响是否正确处理]
|
152
|
+
|
153
|
+
### 功能完整性
|
154
|
+
|
155
|
+
- [分析代码是否实现了 commit message 的功能]
|
156
|
+
- [指出任何遗漏或未完成的功能]
|
157
|
+
|
158
|
+
### 代码质量
|
159
|
+
|
160
|
+
- [评估代码结构、规范性等]
|
161
|
+
- [指出需要改进的地方]
|
162
|
+
|
163
|
+
### 问题标记
|
164
|
+
|
165
|
+
针对发现的问题,使用以下标记:
|
166
|
+
|
167
|
+
#### 🚨 严重遗漏
|
168
|
+
|
169
|
+
- [文件路径] //MISSING: [遗漏的重要修改]
|
170
|
+
|
171
|
+
#### 🐛 Bug 和错误
|
172
|
+
|
173
|
+
- [文件路径:行号] //FIXME: [具体问题描述]
|
174
|
+
|
175
|
+
#### 🔧 优化建议
|
176
|
+
|
177
|
+
- [文件路径:行号] //OPTIMIZE: [优化建议]
|
178
|
+
|
179
|
+
#### 📝 遗漏功能
|
180
|
+
|
181
|
+
- [文件路径:行号] //TODO: [需要添加的功能]
|
182
|
+
|
183
|
+
#### ⚠️ 潜在问题
|
184
|
+
|
185
|
+
- [文件路径:行号] //WARNING: [潜在风险描述]
|
186
|
+
|
187
|
+
#### 💡 通用规则提炼
|
188
|
+
|
189
|
+
- [文件路径:行号] //RULE: [可以提炼的通用规则]
|
190
|
+
|
191
|
+
#### 🔗 依赖问题
|
192
|
+
|
193
|
+
- [文件路径:行号] //DEPENDENCY: [依赖相关的问题]
|
194
|
+
|
195
|
+
## 改进建议
|
196
|
+
|
197
|
+
### 立即修复
|
198
|
+
|
199
|
+
- [需要立即修复的严重问题和遗漏]
|
200
|
+
|
201
|
+
### 短期改进
|
202
|
+
|
203
|
+
- [需要在近期修复的问题]
|
204
|
+
|
205
|
+
### 长期优化
|
206
|
+
|
207
|
+
- [架构层面的优化建议]
|
208
|
+
|
209
|
+
### 最佳实践
|
210
|
+
|
211
|
+
- [相关的最佳实践建议]
|
212
|
+
|
213
|
+
## 代码片段分析
|
214
|
+
|
215
|
+
[针对关键代码片段的详细分析]
|
216
|
+
|
217
|
+
## 总结
|
218
|
+
|
219
|
+
[总结审阅结果和主要建议,特别强调基于全局搜索发现的问题]
|
220
|
+
```
|
221
|
+
|
222
|
+
### 5. 审阅重点
|
223
|
+
|
224
|
+
#### 关注点
|
225
|
+
|
226
|
+
- **目标完整性**:基于全局搜索,是否完整实现了commit目标
|
227
|
+
- **修改完整性**:是否遗漏了相关文件的修改
|
228
|
+
- **功能正确性**:是否完整实现了 commit message 描述的功能
|
229
|
+
- **实现质量**:实现方式是否专业、合理、符合最佳实践
|
230
|
+
- **安全性**:是否存在安全漏洞或潜在风险
|
231
|
+
- **性能**:是否有性能瓶颈或优化空间
|
232
|
+
- **兼容性**:是否考虑了向后兼容性
|
233
|
+
- **可维护性**:代码是否易于理解和维护
|
234
|
+
- **测试**:是否需要补充测试用例
|
235
|
+
- **文档**:是否需要更新相关文档
|
236
|
+
|
237
|
+
#### 质量评估标准
|
238
|
+
|
239
|
+
**🔍 标记的典型情况:**
|
240
|
+
|
241
|
+
- 全局搜索发现相关文件但不确定是否需要修改
|
242
|
+
- 发现可疑的依赖关系需要进一步调查
|
243
|
+
- 修改的影响范围不明确
|
244
|
+
|
245
|
+
**❌ 标记的典型情况:**
|
246
|
+
|
247
|
+
- 全局搜索发现明显遗漏的重要文件修改
|
248
|
+
- 相关配置文件未同步更新导致功能不完整
|
249
|
+
- 依赖关系被破坏但未处理
|
250
|
+
|
251
|
+
**⚠️ 标记的典型情况:**
|
252
|
+
|
253
|
+
- 翻译不够准确或专业(如用拼音代替英文)
|
254
|
+
- 硬编码应该配置化的内容
|
255
|
+
- 缺乏必要的错误处理
|
256
|
+
- 性能明显可以优化
|
257
|
+
- 代码结构不够清晰
|
258
|
+
- 违反项目编码规范
|
259
|
+
- 遗漏了相关的测试或文档更新
|
260
|
+
|
261
|
+
**✅ 标记的要求:**
|
262
|
+
|
263
|
+
- 功能实现完整且正确
|
264
|
+
- 基于全局搜索,所有相关文件都正确修改
|
265
|
+
- 代码质量达到项目标准
|
266
|
+
- 无明显的优化空间
|
267
|
+
- 符合最佳实践
|
268
|
+
|
269
|
+
#### 标记规范
|
270
|
+
|
271
|
+
- `//MISSING`: 遗漏的重要修改(基于全局搜索发现)
|
272
|
+
- `//FIXME`: 必须修复的 bug 或错误
|
273
|
+
- `//OPTIMIZE`: 可以优化的代码片段
|
274
|
+
- `//TODO`: 需要补充的功能或任务
|
275
|
+
- `//WARNING`: 潜在的风险或问题
|
276
|
+
- `//RULE`: 可以提炼的通用规则或模式
|
277
|
+
- `//REFACTOR`: 需要重构的代码
|
278
|
+
- `//SECURITY`: 安全相关的问题
|
279
|
+
- `//PERFORMANCE`: 性能相关的问题
|
280
|
+
- `//DEPENDENCY`: 依赖相关的问题
|
281
|
+
|
282
|
+
### 6. 执行步骤
|
283
|
+
|
284
|
+
1. 确保项目根目录存在 `/review_logs` 目录,如不存在则创建
|
285
|
+
2. 执行 `git --no-pager show` 获取最新 commit 信息
|
286
|
+
3. **基于 commit message 进行全局代码搜索分析**
|
287
|
+
4. **对比搜索结果与实际修改内容,评估完整性**
|
288
|
+
5. 根据 commit 信息和代码修改内容进行全面审阅
|
289
|
+
6. 按照命名规则生成审阅文件
|
290
|
+
7. 将审阅结果写入对应的 markdown 文件
|
291
|
+
|
292
|
+
### 7. 注意事项
|
293
|
+
|
294
|
+
- 保持客观和专业的审阅态度
|
295
|
+
- **优先关注全局搜索发现的潜在遗漏**
|
296
|
+
- 提供具体的改进建议,而非仅仅指出问题
|
297
|
+
- 考虑代码的上下文和项目的整体架构
|
298
|
+
- 平衡功能实现和代码质量之间的关系
|
299
|
+
- 关注代码的可维护性和可扩展性
|
300
|
+
- **特别注意依赖关系和影响范围的完整性**
|
301
|
+
|
302
|
+
#### Git 命令执行建议
|
303
|
+
|
304
|
+
- 使用 `git --no-pager show` 而非 `git show` 来避免分页器交互
|
305
|
+
- 如需查看更多 commit 信息,可使用 `git --no-pager log --oneline -n 5`
|
306
|
+
- 如需查看文件列表,可使用 `git --no-pager diff --name-only HEAD~1 HEAD`
|
307
|
+
- 确保所有 git 命令都添加 `--no-pager` 参数以避免分页器停顿
|
308
|
+
- `--no-pager` 参数在 Windows 和 Unix 系统上都可以正常工作,比 `| cat` 更通用
|
309
|
+
|
310
|
+
## 其他
|
311
|
+
|
312
|
+
**执行**:收到"执行"的相关提示时,按照以上指令对最新的 git commit 进行代码审阅流程,并生成相应的审阅报告。
|
313
|
+
|
314
|
+
**搜索**:全局代码搜索是关键步骤,必须在审阅具体修改内容之前完成,以确保发现所有相关的代码位置和潜在的遗漏。
|
package/simple-test.js
ADDED
@@ -0,0 +1,56 @@
|
|
1
|
+
import { ConfigManager } from './dist/config/ConfigManager.js';
|
2
|
+
import assert from 'assert';
|
3
|
+
|
4
|
+
async function testConfigManager() {
|
5
|
+
console.log('🧪 ConfigManager 核心功能测试...');
|
6
|
+
|
7
|
+
try {
|
8
|
+
// 清理可能影响测试的环境变量
|
9
|
+
delete process.env.AI_SERVICE;
|
10
|
+
delete process.env.AI_TIMEOUT;
|
11
|
+
delete process.env.AI_AUTO_SWITCH;
|
12
|
+
|
13
|
+
// 重置 ConfigManager 状态
|
14
|
+
ConfigManager.initialized = false;
|
15
|
+
ConfigManager.config = {};
|
16
|
+
|
17
|
+
// 测试初始化
|
18
|
+
await ConfigManager.initialize();
|
19
|
+
assert(
|
20
|
+
ConfigManager.initialized === true,
|
21
|
+
'ConfigManager 应该已初始化',
|
22
|
+
);
|
23
|
+
|
24
|
+
// 测试配置加载(包括.env文件)
|
25
|
+
const service = ConfigManager.get('AI_SERVICE');
|
26
|
+
console.log('AI_SERVICE:', service);
|
27
|
+
assert(
|
28
|
+
service === 'gemini',
|
29
|
+
'AI 服务应该是 gemini',
|
30
|
+
);
|
31
|
+
|
32
|
+
const autoSwitch = ConfigManager.get('AI_AUTO_SWITCH');
|
33
|
+
console.log('AI_AUTO_SWITCH:', autoSwitch);
|
34
|
+
assert(
|
35
|
+
autoSwitch === 'true',
|
36
|
+
'应该启用自动切换',
|
37
|
+
);
|
38
|
+
|
39
|
+
const timeoutStr = ConfigManager.get('AI_TIMEOUT');
|
40
|
+
console.log('AI_TIMEOUT:', timeoutStr);
|
41
|
+
assert(timeoutStr === '30', '超时应该是 30 秒');
|
42
|
+
|
43
|
+
// 测试配置获取
|
44
|
+
const timeout = ConfigManager.getTimeout();
|
45
|
+
console.log('getTimeout():', timeout);
|
46
|
+
assert(typeof timeout === 'number', '超时应该是数字');
|
47
|
+
assert(timeout > 0, '超时应该大于 0');
|
48
|
+
assert(timeout === 30, '超时应该是 30');
|
49
|
+
|
50
|
+
console.log('✅ ConfigManager 核心功能测试 - 通过');
|
51
|
+
} catch (error) {
|
52
|
+
console.log('❌ ConfigManager 核心功能测试 - 失败:', error.message);
|
53
|
+
}
|
54
|
+
}
|
55
|
+
|
56
|
+
testConfigManager();
|
package/AI_SERVICE_SETUP.md
DELETED
@@ -1,62 +0,0 @@
|
|
1
|
-
# AI 服务配置指南
|
2
|
-
|
3
|
-
## 🔧 配置 AI 服务进行代码审查
|
4
|
-
|
5
|
-
为了使用 CodeRocket MCP 的代码审查功能,需要配置至少一个 AI 服务。
|
6
|
-
|
7
|
-
### 1. Gemini 配置
|
8
|
-
|
9
|
-
```bash
|
10
|
-
# 在项目根目录创建 .env 文件
|
11
|
-
echo "GOOGLE_API_KEY=your_gemini_api_key_here" >> .env
|
12
|
-
echo "AI_SERVICE=gemini" >> .env
|
13
|
-
```
|
14
|
-
|
15
|
-
### 2. ClaudeCode 配置
|
16
|
-
|
17
|
-
```bash
|
18
|
-
# 在项目根目录创建 .env 文件
|
19
|
-
echo "ANTHROPIC_API_KEY=your_claude_api_key_here" >> .env
|
20
|
-
echo "AI_SERVICE=claudecode" >> .env
|
21
|
-
```
|
22
|
-
|
23
|
-
### 3. 全局配置(推荐)
|
24
|
-
|
25
|
-
```bash
|
26
|
-
# 创建全局配置目录
|
27
|
-
mkdir -p ~/.coderocket
|
28
|
-
|
29
|
-
# 配置全局 AI 服务
|
30
|
-
echo "GOOGLE_API_KEY=your_gemini_api_key_here" >> ~/.coderocket/env
|
31
|
-
echo "ANTHROPIC_API_KEY=your_claude_api_key_here" >> ~/.coderocket/env
|
32
|
-
echo "AI_SERVICE=gemini" >> ~/.coderocket/env
|
33
|
-
```
|
34
|
-
|
35
|
-
### 4. 验证配置
|
36
|
-
|
37
|
-
```bash
|
38
|
-
# 检查 AI 服务状态
|
39
|
-
npx @yeepay/coderocket-mcp get-ai-service-status
|
40
|
-
|
41
|
-
# 测试代码审查
|
42
|
-
npx @yeepay/coderocket-mcp review-commit
|
43
|
-
```
|
44
|
-
|
45
|
-
### 5. 故障排除
|
46
|
-
|
47
|
-
如果遇到 API 配额问题:
|
48
|
-
1. 检查 API 密钥是否有效
|
49
|
-
2. 确认 API 配额是否充足
|
50
|
-
3. 尝试切换到其他 AI 服务
|
51
|
-
4. 等待配额重置(通常24小时)
|
52
|
-
|
53
|
-
### 6. 自动化代码审查
|
54
|
-
|
55
|
-
安装 Git 钩子:
|
56
|
-
```bash
|
57
|
-
# 复制预提交钩子
|
58
|
-
cp .githooks/pre-commit .git/hooks/pre-commit
|
59
|
-
chmod +x .git/hooks/pre-commit
|
60
|
-
```
|
61
|
-
|
62
|
-
这样每次提交前都会自动进行代码审查。
|
package/dist/banner.d.ts
DELETED
@@ -1,56 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* CodeRocket MCP Banner Display
|
3
|
-
* 精美的 ASCII Art Banner 显示,参考 coderocket-cli 的设计
|
4
|
-
*/
|
5
|
-
declare const colors: {
|
6
|
-
RED: string;
|
7
|
-
GREEN: string;
|
8
|
-
YELLOW: string;
|
9
|
-
BLUE: string;
|
10
|
-
PURPLE: string;
|
11
|
-
CYAN: string;
|
12
|
-
WHITE: string;
|
13
|
-
BOLD: string;
|
14
|
-
GRAY: string;
|
15
|
-
NC: string;
|
16
|
-
GRAD_1: string;
|
17
|
-
GRAD_2: string;
|
18
|
-
GRAD_3: string;
|
19
|
-
GRAD_4: string;
|
20
|
-
GRAD_5: string;
|
21
|
-
GRAD_6: string;
|
22
|
-
};
|
23
|
-
/**
|
24
|
-
* 获取版本信息
|
25
|
-
*/
|
26
|
-
declare function getVersion(): string;
|
27
|
-
/**
|
28
|
-
* 显示长版本 Banner(宽终端使用)
|
29
|
-
*/
|
30
|
-
declare function showLongBanner(): void;
|
31
|
-
/**
|
32
|
-
* 显示短版本 Banner(窄终端使用)
|
33
|
-
*/
|
34
|
-
declare function showShortBanner(): void;
|
35
|
-
/**
|
36
|
-
* 显示迷你 Banner(单行显示)
|
37
|
-
*/
|
38
|
-
declare function showMiniBanner(): void;
|
39
|
-
/**
|
40
|
-
* 显示主 Banner(根据终端宽度自适应)
|
41
|
-
*/
|
42
|
-
declare function showBanner(): void;
|
43
|
-
/**
|
44
|
-
* 显示启动信息
|
45
|
-
*/
|
46
|
-
declare function showStartupInfo(): void;
|
47
|
-
/**
|
48
|
-
* 显示成功 Banner
|
49
|
-
*/
|
50
|
-
declare function showSuccessBanner(message: string): void;
|
51
|
-
/**
|
52
|
-
* 显示错误 Banner
|
53
|
-
*/
|
54
|
-
declare function showErrorBanner(message: string): void;
|
55
|
-
export { showBanner, showMiniBanner, showStartupInfo, showSuccessBanner, showErrorBanner, showLongBanner, showShortBanner, getVersion, colors, };
|
56
|
-
//# sourceMappingURL=banner.d.ts.map
|
package/dist/banner.d.ts.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../src/banner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;CAoBX,CAAC;AASF;;GAEG;AACH,iBAAS,UAAU,IAAI,MAAM,CAS5B;AAED;;GAEG;AACH,iBAAS,cAAc,IAAI,IAAI,CAkC9B;AAED;;GAEG;AACH,iBAAS,eAAe,IAAI,IAAI,CAyB/B;AAED;;GAEG;AACH,iBAAS,cAAc,IAAI,IAAI,CAK9B;AAED;;GAEG;AACH,iBAAS,UAAU,IAAI,IAAI,CAQ1B;AAED;;GAEG;AACH,iBAAS,eAAe,IAAI,IAAI,CAgB/B;AAED;;GAEG;AACH,iBAAS,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAIhD;AAED;;GAEG;AACH,iBAAS,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAM9C;AAED,OAAO,EACL,UAAU,EACV,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,eAAe,EACf,UAAU,EACV,MAAM,GACP,CAAC"}
|