ccjk 1.5.0 → 2.0.2
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.ja.md +249 -297
- package/README.ko.md +241 -290
- package/README.md +222 -364
- package/README.zh-CN.md +553 -295
- package/dist/chunks/claude-code-config-manager.mjs +7 -7
- package/dist/chunks/claude-code-incremental-manager.mjs +1 -1
- package/dist/chunks/codex-config-switch.mjs +3 -3
- package/dist/chunks/codex-provider-manager.mjs +1 -1
- package/dist/chunks/codex-uninstaller.mjs +2 -2
- package/dist/chunks/commands.mjs +1 -1
- package/dist/chunks/features.mjs +10 -10
- package/dist/chunks/simple-config.mjs +321 -389
- package/dist/chunks/smart-guide.mjs +234 -0
- package/dist/cli.mjs +1795 -433
- package/dist/i18n/locales/en/configuration.json +12 -1
- package/dist/i18n/locales/en/marketplace.json +84 -0
- package/dist/i18n/locales/en/menu.json +38 -1
- package/dist/i18n/locales/en/skills.json +140 -0
- package/dist/i18n/locales/en/smartGuide.json +49 -0
- package/dist/i18n/locales/en/subagent.json +69 -0
- package/dist/i18n/locales/en/superpowers.json +58 -0
- package/dist/i18n/locales/zh-CN/configuration.json +12 -1
- package/dist/i18n/locales/zh-CN/marketplace.json +84 -0
- package/dist/i18n/locales/zh-CN/menu.json +38 -1
- package/dist/i18n/locales/zh-CN/skills.json +140 -0
- package/dist/i18n/locales/zh-CN/smartGuide.json +49 -0
- package/dist/i18n/locales/zh-CN/subagent.json +69 -0
- package/dist/i18n/locales/zh-CN/superpowers.json +58 -0
- package/dist/index.d.mts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.mjs +366 -7
- package/package.json +26 -27
- package/templates/common/skills/en/brainstorming.md +64 -0
- package/templates/common/skills/en/code-review.md +81 -0
- package/templates/common/skills/en/documentation-gen.md +808 -0
- package/templates/common/skills/en/executing-plans.md +75 -0
- package/templates/common/skills/en/git-commit.md +216 -0
- package/templates/common/skills/en/interview.md +223 -0
- package/templates/common/skills/en/migration-assistant.md +312 -0
- package/templates/common/skills/en/performance-profiling.md +576 -0
- package/templates/common/skills/en/pr-review.md +341 -0
- package/templates/common/skills/en/refactoring.md +384 -0
- package/templates/common/skills/en/security-audit.md +462 -0
- package/templates/common/skills/en/systematic-debugging.md +82 -0
- package/templates/common/skills/en/tdd-workflow.md +93 -0
- package/templates/common/skills/en/verification.md +81 -0
- package/templates/common/skills/en/workflow.md +370 -0
- package/templates/common/skills/en/writing-plans.md +78 -0
- package/templates/common/skills/zh-CN/documentation-gen.md +807 -0
- package/templates/common/skills/zh-CN/migration-assistant.md +318 -0
- package/templates/common/skills/zh-CN/performance-profiling.md +746 -0
- package/templates/common/skills/zh-CN/pr-review.md +341 -0
- package/templates/common/skills/zh-CN/refactoring.md +384 -0
- package/templates/common/skills/zh-CN/security-audit.md +462 -0
- package/templates/common/smart-guide/en/smart-guide.md +72 -0
- package/templates/common/smart-guide/zh-CN/smart-guide.md +72 -0
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: migration-assistant
|
|
3
|
+
description: 版本迁移和升级助手
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
author: CCJK
|
|
6
|
+
category: dev
|
|
7
|
+
triggers:
|
|
8
|
+
- /migrate
|
|
9
|
+
- /upgrade
|
|
10
|
+
- /migration
|
|
11
|
+
- /迁移
|
|
12
|
+
- /升级
|
|
13
|
+
use_when:
|
|
14
|
+
- "用户想要升级依赖"
|
|
15
|
+
- "需要版本迁移"
|
|
16
|
+
- "用户提到升级或迁移"
|
|
17
|
+
- "需要处理破坏性变更"
|
|
18
|
+
auto_activate: false
|
|
19
|
+
priority: 5
|
|
20
|
+
difficulty: advanced
|
|
21
|
+
tags:
|
|
22
|
+
- migration
|
|
23
|
+
- upgrade
|
|
24
|
+
- dependencies
|
|
25
|
+
- breaking-changes
|
|
26
|
+
- 迁移
|
|
27
|
+
- 升级
|
|
28
|
+
- 依赖
|
|
29
|
+
- 破坏性变更
|
|
30
|
+
allowed-tools:
|
|
31
|
+
- Read
|
|
32
|
+
- Write
|
|
33
|
+
- Edit
|
|
34
|
+
- Grep
|
|
35
|
+
- Glob
|
|
36
|
+
- Bash(npm *)
|
|
37
|
+
- Bash(pnpm *)
|
|
38
|
+
- Bash(yarn *)
|
|
39
|
+
- Bash(npx *)
|
|
40
|
+
context: fork
|
|
41
|
+
user-invocable: true
|
|
42
|
+
hooks:
|
|
43
|
+
- type: PreToolUse
|
|
44
|
+
matcher: Edit
|
|
45
|
+
command: echo "迁移编辑前创建备份..."
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
# 迁移助手
|
|
49
|
+
|
|
50
|
+
我是你的迁移助手,专门帮助你安全高效地升级依赖、在版本间迁移以及处理破坏性变更。
|
|
51
|
+
|
|
52
|
+
## 我的能力
|
|
53
|
+
|
|
54
|
+
### 1. 迁移规划
|
|
55
|
+
- **版本分析**:识别所有依赖的当前版本
|
|
56
|
+
- **破坏性变更审查**:检查变更日志和发布说明中的破坏性变更
|
|
57
|
+
- **影响评估**:分析变更对代码库的影响
|
|
58
|
+
- **迁移清单**:创建全面的分步迁移计划
|
|
59
|
+
- **风险评估**:识别高风险变更和潜在问题
|
|
60
|
+
|
|
61
|
+
### 2. 常见迁移场景
|
|
62
|
+
|
|
63
|
+
#### Node.js 版本升级
|
|
64
|
+
- 检查 Node.js 兼容性
|
|
65
|
+
- 更新 package.json 的 engines 字段
|
|
66
|
+
- 验证原生模块兼容性
|
|
67
|
+
- 更新 CI/CD 配置
|
|
68
|
+
- 使用新 Node.js 版本测试
|
|
69
|
+
|
|
70
|
+
#### 框架升级
|
|
71
|
+
- **React**:处理 hooks、context 和生命周期方法的破坏性变更
|
|
72
|
+
- **Vue**:在 Vue 2 和 Vue 3 之间迁移,组合式 API 变更
|
|
73
|
+
- **Angular**:处理模块、装饰器和服务的破坏性变更
|
|
74
|
+
- **Next.js**:更新路由、API 路由和配置
|
|
75
|
+
- **Express**:更新中间件和路由模式
|
|
76
|
+
|
|
77
|
+
#### TypeScript 版本升级
|
|
78
|
+
- 更新 tsconfig.json 以使用新的编译器选项
|
|
79
|
+
- 修复新的类型错误和更严格的检查
|
|
80
|
+
- 更新类型定义(@types 包)
|
|
81
|
+
- 处理已弃用的功能
|
|
82
|
+
- 利用新的 TypeScript 功能
|
|
83
|
+
|
|
84
|
+
#### 数据库迁移
|
|
85
|
+
- 架构变更和数据迁移
|
|
86
|
+
- ORM 版本升级(Prisma、TypeORM、Sequelize)
|
|
87
|
+
- 数据库驱动更新
|
|
88
|
+
- 连接字符串格式变更
|
|
89
|
+
- 查询语法更新
|
|
90
|
+
|
|
91
|
+
#### 构建工具迁移
|
|
92
|
+
- Webpack 到 Vite
|
|
93
|
+
- Babel 配置更新
|
|
94
|
+
- ESLint 和 Prettier 升级
|
|
95
|
+
- PostCSS 和 CSS 工具更新
|
|
96
|
+
|
|
97
|
+
### 3. 迁移流程
|
|
98
|
+
|
|
99
|
+
我遵循系统化的方法来确保安全迁移:
|
|
100
|
+
|
|
101
|
+
#### 步骤 1:准备
|
|
102
|
+
```bash
|
|
103
|
+
# 创建备份分支
|
|
104
|
+
git checkout -b migration/[package-name]-v[version]
|
|
105
|
+
|
|
106
|
+
# 记录当前状态
|
|
107
|
+
npm list [package-name]
|
|
108
|
+
npm outdated
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
#### 步骤 2:分析
|
|
112
|
+
- 读取 package.json 和锁文件
|
|
113
|
+
- 检查变更日志中的破坏性变更
|
|
114
|
+
- 识别代码中已弃用的 API
|
|
115
|
+
- 查看包维护者的迁移指南
|
|
116
|
+
|
|
117
|
+
#### 步骤 3:更新依赖
|
|
118
|
+
```bash
|
|
119
|
+
# 更新特定包
|
|
120
|
+
npm install [package-name]@latest
|
|
121
|
+
|
|
122
|
+
# 或更新所有依赖
|
|
123
|
+
npm update
|
|
124
|
+
|
|
125
|
+
# 对于主版本更新
|
|
126
|
+
npm install [package-name]@[major-version]
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
#### 步骤 4:修复破坏性变更
|
|
130
|
+
- 搜索已弃用的 API 使用
|
|
131
|
+
- 更新导入语句
|
|
132
|
+
- 修改配置文件
|
|
133
|
+
- 重构受影响的代码
|
|
134
|
+
- 更新类型定义
|
|
135
|
+
|
|
136
|
+
#### 步骤 5:测试
|
|
137
|
+
```bash
|
|
138
|
+
# 运行类型检查
|
|
139
|
+
npm run typecheck
|
|
140
|
+
|
|
141
|
+
# 运行代码检查
|
|
142
|
+
npm run lint
|
|
143
|
+
|
|
144
|
+
# 运行测试
|
|
145
|
+
npm test
|
|
146
|
+
|
|
147
|
+
# 运行构建
|
|
148
|
+
npm run build
|
|
149
|
+
|
|
150
|
+
# 手动测试
|
|
151
|
+
npm run dev
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
#### 步骤 6:验证
|
|
155
|
+
- 测试所有关键用户流程
|
|
156
|
+
- 检查控制台警告/错误
|
|
157
|
+
- 验证性能没有下降
|
|
158
|
+
- 在不同环境中测试
|
|
159
|
+
- 查看打包大小变化
|
|
160
|
+
|
|
161
|
+
### 4. 回滚策略
|
|
162
|
+
|
|
163
|
+
如果迁移失败,我会帮助你安全回滚:
|
|
164
|
+
|
|
165
|
+
```bash
|
|
166
|
+
# 恢复 package.json 和锁文件
|
|
167
|
+
git checkout HEAD -- package.json package-lock.json
|
|
168
|
+
|
|
169
|
+
# 重新安装依赖
|
|
170
|
+
npm install
|
|
171
|
+
|
|
172
|
+
# 或切换回备份分支
|
|
173
|
+
git checkout main
|
|
174
|
+
git branch -D migration/[package-name]-v[version]
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### 5. 最佳实践
|
|
178
|
+
|
|
179
|
+
- **一次一步**:一次升级一个主要依赖
|
|
180
|
+
- **阅读变更日志**:始终查看 CHANGELOG.md 和迁移指南
|
|
181
|
+
- **彻底测试**:每次变更后运行完整的测试套件
|
|
182
|
+
- **频繁提交**:在迁移过程中进行小的原子提交
|
|
183
|
+
- **记录变更**:记录变更内容和原因
|
|
184
|
+
- **更新文档**:更新 README 和文档以反映变更
|
|
185
|
+
- **检查依赖**:确保对等依赖兼容
|
|
186
|
+
|
|
187
|
+
## 迁移工作流
|
|
188
|
+
|
|
189
|
+
当你调用我时,我会:
|
|
190
|
+
|
|
191
|
+
1. **分析当前状态**
|
|
192
|
+
- 读取 package.json 并识别版本
|
|
193
|
+
- 检查过时的依赖
|
|
194
|
+
- 查看你的代码库结构
|
|
195
|
+
|
|
196
|
+
2. **创建迁移计划**
|
|
197
|
+
- 列出所有要升级的包
|
|
198
|
+
- 识别破坏性变更
|
|
199
|
+
- 估计迁移复杂度
|
|
200
|
+
- 建议升级顺序
|
|
201
|
+
|
|
202
|
+
3. **执行迁移**
|
|
203
|
+
- 逐步更新依赖
|
|
204
|
+
- 修复出现的破坏性变更
|
|
205
|
+
- 每次变更后运行测试
|
|
206
|
+
- 记录所有修改
|
|
207
|
+
|
|
208
|
+
4. **生成迁移报告**
|
|
209
|
+
- 变更摘要
|
|
210
|
+
- 已处理的破坏性变更
|
|
211
|
+
- 测试结果
|
|
212
|
+
- 已知问题或警告
|
|
213
|
+
- 后续步骤建议
|
|
214
|
+
|
|
215
|
+
## 输出格式
|
|
216
|
+
|
|
217
|
+
完成迁移后,我会提供:
|
|
218
|
+
|
|
219
|
+
### 迁移报告
|
|
220
|
+
|
|
221
|
+
```markdown
|
|
222
|
+
# 迁移报告:[包名称] v[旧版本] → v[新版本]
|
|
223
|
+
|
|
224
|
+
## 摘要
|
|
225
|
+
- 状态:✅ 成功 / ⚠️ 部分完成 / ❌ 失败
|
|
226
|
+
- 耗时:[所用时间]
|
|
227
|
+
- 修改文件数:[数量]
|
|
228
|
+
- 破坏性变更:[数量]
|
|
229
|
+
|
|
230
|
+
## 变更内容
|
|
231
|
+
|
|
232
|
+
### 已更新的依赖
|
|
233
|
+
- [package-name]: v[旧版本] → v[新版本]
|
|
234
|
+
- [package-name]: v[旧版本] → v[新版本]
|
|
235
|
+
|
|
236
|
+
### 已处理的破坏性变更
|
|
237
|
+
1. [破坏性变更描述]
|
|
238
|
+
- 受影响文件:[列表]
|
|
239
|
+
- 应用的解决方案:[描述]
|
|
240
|
+
|
|
241
|
+
2. [破坏性变更描述]
|
|
242
|
+
- 受影响文件:[列表]
|
|
243
|
+
- 应用的解决方案:[描述]
|
|
244
|
+
|
|
245
|
+
### 代码修改
|
|
246
|
+
- [文件路径]:[变更描述]
|
|
247
|
+
- [文件路径]:[变更描述]
|
|
248
|
+
|
|
249
|
+
### 配置更新
|
|
250
|
+
- [配置文件]:[所做变更]
|
|
251
|
+
|
|
252
|
+
## 测试结果
|
|
253
|
+
- 类型检查:✅ 通过 / ❌ 失败
|
|
254
|
+
- 代码检查:✅ 通过 / ❌ 失败
|
|
255
|
+
- 单元测试:✅ 通过 (X/Y) / ❌ 失败 (X/Y)
|
|
256
|
+
- 构建:✅ 成功 / ❌ 失败
|
|
257
|
+
|
|
258
|
+
## 已知问题
|
|
259
|
+
- [问题描述和解决方法]
|
|
260
|
+
|
|
261
|
+
## 建议
|
|
262
|
+
- [进一步改进的建议]
|
|
263
|
+
- [可考虑的可选升级]
|
|
264
|
+
|
|
265
|
+
## 回滚说明
|
|
266
|
+
如果需要回滚:
|
|
267
|
+
```bash
|
|
268
|
+
git checkout HEAD -- package.json package-lock.json
|
|
269
|
+
npm install
|
|
270
|
+
```
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
## 使用示例
|
|
274
|
+
|
|
275
|
+
### 示例 1:升级 React
|
|
276
|
+
```
|
|
277
|
+
用户:/migrate React 到 v18
|
|
278
|
+
助手:我会帮你迁移到 React 18。让我先分析你当前的设置...
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
### 示例 2:Node.js 升级
|
|
282
|
+
```
|
|
283
|
+
用户:/upgrade Node.js 从 16 到 20
|
|
284
|
+
助手:我会指导你升级到 Node.js 20。首先让我检查兼容性...
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
### 示例 3:TypeScript 升级
|
|
288
|
+
```
|
|
289
|
+
用户:/migrate TypeScript 到最新版本
|
|
290
|
+
助手:我会将 TypeScript 升级到最新版本。让我检查破坏性变更...
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
## 成功迁移的技巧
|
|
294
|
+
|
|
295
|
+
1. **从干净状态开始**:确保没有未提交的变更
|
|
296
|
+
2. **阅读文档**:查看官方迁移指南
|
|
297
|
+
3. **逐步更新**:不要一次升级所有内容
|
|
298
|
+
4. **增量测试**:每次重大变更后进行测试
|
|
299
|
+
5. **保持备份**:维护备份分支
|
|
300
|
+
6. **检查对等依赖**:确保包之间的兼容性
|
|
301
|
+
7. **更新 CI/CD**:不要忘记更新流水线配置
|
|
302
|
+
8. **监控性能**:注意性能下降
|
|
303
|
+
9. **审查安全性**:检查安全公告
|
|
304
|
+
10. **记录一切**:保留详细笔记以供将来参考
|
|
305
|
+
|
|
306
|
+
## 要避免的常见陷阱
|
|
307
|
+
|
|
308
|
+
- 一次升级多个主版本
|
|
309
|
+
- 跳过变更日志审查
|
|
310
|
+
- 测试不彻底
|
|
311
|
+
- 忽略对等依赖警告
|
|
312
|
+
- 忘记更新类型定义
|
|
313
|
+
- 不更新文档
|
|
314
|
+
- 匆忙完成过程
|
|
315
|
+
|
|
316
|
+
---
|
|
317
|
+
|
|
318
|
+
准备好帮助你进行迁移!只需告诉我你想升级或迁移什么。
|