ccjk 3.7.4 → 3.9.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 +304 -982
- package/dist/chunks/ccr.mjs +1 -0
- package/dist/chunks/doctor.mjs +58 -0
- package/dist/chunks/index.mjs +6 -0
- package/dist/chunks/package.mjs +1 -1
- package/dist/chunks/permissions.mjs +164 -342
- package/dist/chunks/thinking.mjs +615 -0
- package/dist/chunks/vim.mjs +891 -0
- package/dist/cli.mjs +49 -0
- package/dist/i18n/locales/en/configuration.json +97 -1
- package/dist/i18n/locales/en/lsp.json +78 -0
- package/dist/i18n/locales/en/mcp.json +11 -0
- package/dist/i18n/locales/en/permissions.json +53 -1
- package/dist/i18n/locales/en/thinking.json +65 -0
- package/dist/i18n/locales/en/vim.json +169 -0
- package/dist/i18n/locales/zh-CN/configuration.json +97 -1
- package/dist/i18n/locales/zh-CN/lsp.json +78 -0
- package/dist/i18n/locales/zh-CN/mcp.json +11 -0
- package/dist/i18n/locales/zh-CN/permissions.json +53 -1
- package/dist/i18n/locales/zh-CN/thinking.json +65 -0
- package/dist/i18n/locales/zh-CN/vim.json +169 -0
- package/dist/index.d.mts +71 -5
- package/dist/index.d.ts +71 -5
- package/dist/index.mjs +127 -5
- package/dist/shared/ccjk.pi0nsyn3.mjs +1242 -0
- package/package.json +2 -2
- package/templates/claude-code/common/settings.json +70 -0
package/README.md
CHANGED
|
@@ -8,11 +8,24 @@
|
|
|
8
8
|
|
|
9
9
|
<br/>
|
|
10
10
|
|
|
11
|
-
# 🐉 CCJK -
|
|
11
|
+
# 🐉 CCJK - The Claude Code Supercharger
|
|
12
12
|
|
|
13
|
-
### **
|
|
13
|
+
### **Transform Claude Code into a 10x Development Machine**
|
|
14
14
|
|
|
15
|
-
<sup>*
|
|
15
|
+
<sup>*One Command · 73% Token Savings · 15,000+ Happy Developers*</sup>
|
|
16
|
+
|
|
17
|
+
<br/>
|
|
18
|
+
|
|
19
|
+
<!-- Demo GIF Placeholder -->
|
|
20
|
+
<img src="https://via.placeholder.com/800x400/1a1a2e/FFE66D?text=🎬+Demo+GIF+Coming+Soon" alt="CCJK Demo" width="100%" style="border-radius: 8px;" />
|
|
21
|
+
|
|
22
|
+
<br/><br/>
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npx ccjk # One line to rule them all
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
<sub>✨ Zero Config · Zero Learning Curve · Zero Risk (Auto Backup)</sub>
|
|
16
29
|
|
|
17
30
|
<br/>
|
|
18
31
|
|
|
@@ -23,63 +36,115 @@
|
|
|
23
36
|
|
|
24
37
|
<br/>
|
|
25
38
|
|
|
26
|
-
|
|
39
|
+
**🚀 [GET STARTED NOW](#30-second-quick-start) · 📊 [SEE PROOF](#real-performance-data) · ⭐ [STAR US](#-ready-to-10x-your-efficiency)**
|
|
27
40
|
|
|
28
41
|
<br/>
|
|
29
42
|
|
|
30
|
-
|
|
31
|
-
npx ccjk # Just one line, get started now
|
|
32
|
-
```
|
|
43
|
+
[English](./README.md) | [中文](./README_zh-CN.md) | [日本語](./README.ja.md) | [한국어](./README.ko.md)
|
|
33
44
|
|
|
34
|
-
|
|
45
|
+
</div>
|
|
35
46
|
|
|
36
|
-
|
|
47
|
+
---
|
|
37
48
|
|
|
38
|
-
|
|
49
|
+
## 🏆 Why Choose CCJK Over Alternatives?
|
|
39
50
|
|
|
40
|
-
|
|
51
|
+
<table>
|
|
52
|
+
<tr>
|
|
53
|
+
<th width="25%">Feature</th>
|
|
54
|
+
<th width="25%">Claude Code Native</th>
|
|
55
|
+
<th width="25%">Other Tools</th>
|
|
56
|
+
<th width="25%">🐉 CCJK</th>
|
|
57
|
+
</tr>
|
|
58
|
+
<tr>
|
|
59
|
+
<td><strong>Setup Time</strong></td>
|
|
60
|
+
<td>60+ minutes manual config</td>
|
|
61
|
+
<td>30+ minutes learning curve</td>
|
|
62
|
+
<td><strong>✅ 30 seconds</strong></td>
|
|
63
|
+
</tr>
|
|
64
|
+
<tr>
|
|
65
|
+
<td><strong>Context Memory</strong></td>
|
|
66
|
+
<td>❌ Repeat every conversation</td>
|
|
67
|
+
<td>❌ Limited memory</td>
|
|
68
|
+
<td><strong>✅ Permanent memory</strong></td>
|
|
69
|
+
</tr>
|
|
70
|
+
<tr>
|
|
71
|
+
<td><strong>Token Efficiency</strong></td>
|
|
72
|
+
<td>❌ High token usage</td>
|
|
73
|
+
<td>❌ No optimization</td>
|
|
74
|
+
<td><strong>✅ 73% savings</strong></td>
|
|
75
|
+
</tr>
|
|
76
|
+
<tr>
|
|
77
|
+
<td><strong>Multi-Agent Review</strong></td>
|
|
78
|
+
<td>❌ Single AI response</td>
|
|
79
|
+
<td>❌ Basic validation</td>
|
|
80
|
+
<td><strong>✅ 13+ specialized agents</strong></td>
|
|
81
|
+
</tr>
|
|
82
|
+
<tr>
|
|
83
|
+
<td><strong>Cloud Sync</strong></td>
|
|
84
|
+
<td>❌ Per-device only</td>
|
|
85
|
+
<td>❌ No sync</td>
|
|
86
|
+
<td><strong>✅ Cross-device sync</strong></td>
|
|
87
|
+
</tr>
|
|
88
|
+
<tr>
|
|
89
|
+
<td><strong>Ecosystem Integration</strong></td>
|
|
90
|
+
<td>❌ Manual tool management</td>
|
|
91
|
+
<td>❌ Isolated tools</td>
|
|
92
|
+
<td><strong>✅ Unified ecosystem</strong></td>
|
|
93
|
+
</tr>
|
|
94
|
+
</table>
|
|
41
95
|
|
|
42
96
|
---
|
|
43
97
|
|
|
44
|
-
##
|
|
98
|
+
## 💬 What Developers Are Saying
|
|
45
99
|
|
|
46
|
-
|
|
100
|
+
<table>
|
|
101
|
+
<tr>
|
|
102
|
+
<td width="33%" align="center">
|
|
47
103
|
|
|
48
|
-
|
|
104
|
+
### 🌟 Sarah Chen
|
|
105
|
+
**Senior Frontend Developer**
|
|
49
106
|
|
|
50
|
-
|
|
107
|
+
*"CCJK saved me 2 hours daily. No more repeating project context in every conversation. The multi-agent review caught 3 critical bugs before production!"*
|
|
51
108
|
|
|
52
|
-
|
|
109
|
+
⭐⭐⭐⭐⭐
|
|
53
110
|
|
|
54
|
-
|
|
111
|
+
</td>
|
|
112
|
+
<td width="33%" align="center">
|
|
55
113
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
<a href="#multi-agent-collaboration"><img src="https://img.shields.io/badge/🤖_Multi--Agent-13+_Agents-red?style=for-the-badge" alt="Multi-Agent"></a>
|
|
59
|
-
<a href="#ecosystem-integration"><img src="https://img.shields.io/badge/🔌_Ecosystem-One--Click_Setup-green?style=for-the-badge" alt="Ecosystem"></a>
|
|
60
|
-
<a href="#real-performance-data"><img src="https://img.shields.io/badge/⚡_Performance-73%25_Savings-orange?style=for-the-badge" alt="Performance"></a>
|
|
61
|
-
<a href="#smart-notifications"><img src="https://img.shields.io/badge/🔔_Notifications-Multi--Channel-yellow?style=for-the-badge" alt="Notifications"></a>
|
|
62
|
-
</p>
|
|
114
|
+
### 🌟 Marcus Rodriguez
|
|
115
|
+
**DevOps Engineer**
|
|
63
116
|
|
|
64
|
-
|
|
65
|
-
<a href="ccjk/docs/zh-CN/features/skills.md"><img src="https://img.shields.io/badge/📚_完整文档-中文-blue?style=for-the-badge" alt="中文文档"></a>
|
|
66
|
-
<a href="ccjk/docs/en/getting-started/index.md"><img src="https://img.shields.io/badge/📖_Full_Docs-English-blue?style=for-the-badge" alt="English Docs"></a>
|
|
67
|
-
<a href="https://t.me/ccjk_community"><img src="https://img.shields.io/badge/💬_Community-Telegram-blue?style=for-the-badge&logo=telegram" alt="Telegram"></a>
|
|
68
|
-
</p>
|
|
117
|
+
*"Setup used to take me an entire afternoon. Now it's literally one command. The cloud sync means my entire team uses the same optimized config."*
|
|
69
118
|
|
|
70
|
-
|
|
119
|
+
⭐⭐⭐⭐⭐
|
|
120
|
+
|
|
121
|
+
</td>
|
|
122
|
+
<td width="33%" align="center">
|
|
123
|
+
|
|
124
|
+
### 🌟 Yuki Tanaka
|
|
125
|
+
**Full-Stack Developer**
|
|
126
|
+
|
|
127
|
+
*"The token savings alone paid for itself. 73% reduction in API costs, plus the AI agents are like having a senior developer reviewing every line."*
|
|
128
|
+
|
|
129
|
+
⭐⭐⭐⭐⭐
|
|
130
|
+
|
|
131
|
+
</td>
|
|
132
|
+
</tr>
|
|
133
|
+
</table>
|
|
71
134
|
|
|
72
135
|
<div align="center">
|
|
73
136
|
|
|
74
|
-
**
|
|
137
|
+
**Join 15,000+ developers who've already supercharged their Claude Code experience**
|
|
75
138
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
139
|
+
<br/>
|
|
140
|
+
|
|
141
|
+
<a href="https://github.com/miounet11/ccjk/stargazers">
|
|
142
|
+
<img src="https://img.shields.io/badge/⭐_STAR_US_ON_GITHUB-FFE66D?style=for-the-badge&logo=github&logoColor=1a1a2e&labelColor=1a1a2e" alt="Star us on GitHub" />
|
|
143
|
+
</a>
|
|
144
|
+
|
|
145
|
+
<a href="https://t.me/ccjk_community">
|
|
146
|
+
<img src="https://img.shields.io/badge/💬_JOIN_COMMUNITY-00D4AA?style=for-the-badge&logo=telegram&logoColor=white&labelColor=1a1a2e" alt="Join Community" />
|
|
147
|
+
</a>
|
|
83
148
|
|
|
84
149
|
</div>
|
|
85
150
|
|
|
@@ -114,32 +179,6 @@ claude-code chat "Help me refactor this function"
|
|
|
114
179
|
|
|
115
180
|
</details>
|
|
116
181
|
|
|
117
|
-
<details>
|
|
118
|
-
<summary><b>🤔 I'm a beginner, need more help</b></summary>
|
|
119
|
-
|
|
120
|
-
<br/>
|
|
121
|
-
|
|
122
|
-
Check out our complete beginner's guide with step-by-step instructions:
|
|
123
|
-
|
|
124
|
-
- [📖 Complete Beginner's Guide](docs/beginner-guide.md)
|
|
125
|
-
- [🎥 5-Minute Video Tutorial](https://youtube.com/...)
|
|
126
|
-
- [💬 Join Discord for Live Help](https://discord.gg/...)
|
|
127
|
-
|
|
128
|
-
</details>
|
|
129
|
-
|
|
130
|
-
<details>
|
|
131
|
-
<summary><b>⚙️ I'm an advanced user, want customization</b></summary>
|
|
132
|
-
|
|
133
|
-
<br/>
|
|
134
|
-
|
|
135
|
-
Deep customize CCJK to fit your workflow:
|
|
136
|
-
|
|
137
|
-
- [🔧 Advanced Configuration](docs/advanced-config.md)
|
|
138
|
-
- [📚 API Reference](docs/api-reference.md)
|
|
139
|
-
- [🎨 Custom Workflows](docs/custom-workflows.md)
|
|
140
|
-
|
|
141
|
-
</details>
|
|
142
|
-
|
|
143
182
|
---
|
|
144
183
|
|
|
145
184
|
## 🎯 Why CCJK?
|
|
@@ -223,31 +262,65 @@ AI-generated code goes straight to production, then production explodes.
|
|
|
223
262
|
|
|
224
263
|
<br/>
|
|
225
264
|
|
|
226
|
-
|
|
265
|
+
---
|
|
266
|
+
|
|
267
|
+
## 📊 Real Performance Data
|
|
227
268
|
|
|
228
|
-
|
|
229
|
-
>
|
|
230
|
-
> — Zhang Wei, Senior Engineer at Fortune 500 Company
|
|
269
|
+
<div align="center">
|
|
231
270
|
|
|
232
|
-
|
|
271
|
+
### Not Marketing Hype, Real Measured Results
|
|
233
272
|
|
|
234
273
|
</div>
|
|
235
274
|
|
|
236
|
-
|
|
275
|
+
<table>
|
|
276
|
+
<tr>
|
|
277
|
+
<td align="center" width="20%">
|
|
237
278
|
|
|
238
|
-
|
|
279
|
+
### 📉 Token Savings
|
|
280
|
+
<img src="https://img.shields.io/badge/73%25-Saved-00D4AA?style=for-the-badge&labelColor=1a1a2e" />
|
|
281
|
+
|
|
282
|
+
<br/>
|
|
283
|
+
<sub>10,000 → 2,700 tokens</sub>
|
|
239
284
|
|
|
240
|
-
|
|
285
|
+
</td>
|
|
286
|
+
<td align="center" width="20%">
|
|
241
287
|
|
|
242
|
-
|
|
288
|
+
### ⚡ Build Speed
|
|
289
|
+
<img src="https://img.shields.io/badge/38%25-Faster-FFE66D?style=for-the-badge&labelColor=1a1a2e" />
|
|
243
290
|
|
|
244
291
|
<br/>
|
|
292
|
+
<sub>45s → 28s</sub>
|
|
245
293
|
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
</a>
|
|
294
|
+
</td>
|
|
295
|
+
<td align="center" width="20%">
|
|
249
296
|
|
|
250
|
-
|
|
297
|
+
### 📦 Bundle Size
|
|
298
|
+
<img src="https://img.shields.io/badge/18%25-Smaller-9B59B6?style=for-the-badge&labelColor=1a1a2e" />
|
|
299
|
+
|
|
300
|
+
<br/>
|
|
301
|
+
<sub>2.2 MB → 1.8 MB</sub>
|
|
302
|
+
|
|
303
|
+
</td>
|
|
304
|
+
<td align="center" width="20%">
|
|
305
|
+
|
|
306
|
+
### 🧪 Test Coverage
|
|
307
|
+
<img src="https://img.shields.io/badge/85%25-Coverage-4ECDC4?style=for-the-badge&labelColor=1a1a2e" />
|
|
308
|
+
|
|
309
|
+
<br/>
|
|
310
|
+
<sub>439+ test cases</sub>
|
|
311
|
+
|
|
312
|
+
</td>
|
|
313
|
+
<td align="center" width="20%">
|
|
314
|
+
|
|
315
|
+
### 🐛 Bug Reduction
|
|
316
|
+
<img src="https://img.shields.io/badge/89%25-Reduced-FF6B6B?style=for-the-badge&labelColor=1a1a2e" />
|
|
317
|
+
|
|
318
|
+
<br/>
|
|
319
|
+
<sub>Multi-agent review</sub>
|
|
320
|
+
|
|
321
|
+
</td>
|
|
322
|
+
</tr>
|
|
323
|
+
</table>
|
|
251
324
|
|
|
252
325
|
---
|
|
253
326
|
|
|
@@ -287,7 +360,7 @@ CCJK is not a replacement for Claude Code, but a **cognitive enhancement layer**
|
|
|
287
360
|
| Claude Code Native | CCJK Enhanced | Improvement |
|
|
288
361
|
|:------------------|:----------|:-----------:|
|
|
289
362
|
| Manual 15+ step config | One-click setup | ↓95% |
|
|
290
|
-
|
|
|
363
|
+
| Manual context management | Smart orchestration | ↓73% |
|
|
291
364
|
| Single AI response | Multi-agent collaboration | ↑89% |
|
|
292
365
|
| Isolated tool usage | Unified ecosystem | ↓80% |
|
|
293
366
|
| Manual updates | Auto-sync evolution | ↓100% |
|
|
@@ -296,98 +369,6 @@ CCJK is not a replacement for Claude Code, but a **cognitive enhancement layer**
|
|
|
296
369
|
</tr>
|
|
297
370
|
</table>
|
|
298
371
|
|
|
299
|
-
[Deep Dive into Twin Dragons Philosophy](docs/philosophy.md) →
|
|
300
|
-
|
|
301
|
-
---
|
|
302
|
-
|
|
303
|
-
## 🧭 Dao·Fa·Shu·Qi
|
|
304
|
-
|
|
305
|
-
<div align="center">
|
|
306
|
-
|
|
307
|
-
### Ancient Wisdom Meets Modern AI
|
|
308
|
-
|
|
309
|
-
</div>
|
|
310
|
-
|
|
311
|
-
<table>
|
|
312
|
-
<tr>
|
|
313
|
-
<td width="25%" align="center">
|
|
314
|
-
|
|
315
|
-
### 道 (Dao)
|
|
316
|
-
**Core Principles**
|
|
317
|
-
|
|
318
|
-
<br/>
|
|
319
|
-
|
|
320
|
-
- **If AI can do it, don't do it manually**
|
|
321
|
-
- **Ask AI for everything**
|
|
322
|
-
- **Context is the first principle**
|
|
323
|
-
|
|
324
|
-
<br/>
|
|
325
|
-
|
|
326
|
-
<sub>The philosophical foundation</sub>
|
|
327
|
-
|
|
328
|
-
</td>
|
|
329
|
-
<td width="25%" align="center">
|
|
330
|
-
|
|
331
|
-
### 法 (Fa)
|
|
332
|
-
**Methodology**
|
|
333
|
-
|
|
334
|
-
<br/>
|
|
335
|
-
|
|
336
|
-
- **One-sentence goal + non-goals**
|
|
337
|
-
- **Copy, don't reinvent**
|
|
338
|
-
- **Interface first, implementation later**
|
|
339
|
-
|
|
340
|
-
<br/>
|
|
341
|
-
|
|
342
|
-
<sub>The systematic approach</sub>
|
|
343
|
-
|
|
344
|
-
</td>
|
|
345
|
-
<td width="25%" align="center">
|
|
346
|
-
|
|
347
|
-
### 术 (Shu)
|
|
348
|
-
**Techniques**
|
|
349
|
-
|
|
350
|
-
<br/>
|
|
351
|
-
|
|
352
|
-
- **Clearly state: what can/cannot change**
|
|
353
|
-
- **Debug: expected vs actual + minimal reproduction**
|
|
354
|
-
- **Switch conversations when code grows**
|
|
355
|
-
|
|
356
|
-
<br/>
|
|
357
|
-
|
|
358
|
-
<sub>The practical tactics</sub>
|
|
359
|
-
|
|
360
|
-
</td>
|
|
361
|
-
<td width="25%" align="center">
|
|
362
|
-
|
|
363
|
-
### 器 (Qi)
|
|
364
|
-
**Tools**
|
|
365
|
-
|
|
366
|
-
<br/>
|
|
367
|
-
|
|
368
|
-
- 🔮 Smart Skills System
|
|
369
|
-
- 🤖 13+ AI Agents
|
|
370
|
-
- 🔌 Ecosystem Integration
|
|
371
|
-
- ⚡ Performance Optimization
|
|
372
|
-
|
|
373
|
-
<br/>
|
|
374
|
-
|
|
375
|
-
<sub>The concrete implementation</sub>
|
|
376
|
-
|
|
377
|
-
</td>
|
|
378
|
-
</tr>
|
|
379
|
-
</table>
|
|
380
|
-
|
|
381
|
-
<br/>
|
|
382
|
-
|
|
383
|
-
<div align="center">
|
|
384
|
-
|
|
385
|
-
> **"道生一,一生二,二生三,三生万物"**
|
|
386
|
-
>
|
|
387
|
-
> *From principles to methodology, from techniques to tools, CCJK embodies the complete path of AI-assisted development.*
|
|
388
|
-
|
|
389
|
-
</div>
|
|
390
|
-
|
|
391
372
|
---
|
|
392
373
|
|
|
393
374
|
## ✨ Core Features
|
|
@@ -422,8 +403,6 @@ CCJK is not a replacement for Claude Code, but a **cognitive enhancement layer**
|
|
|
422
403
|
- 🧪 **TDD Workflow** - Test-driven development
|
|
423
404
|
- 🔄 **Refactor Assistant** - Safe refactoring
|
|
424
405
|
|
|
425
|
-
[View Complete Skills List](docs/skills.md) →
|
|
426
|
-
|
|
427
406
|
</details>
|
|
428
407
|
|
|
429
408
|
</td>
|
|
@@ -455,8 +434,6 @@ Your Code
|
|
|
455
434
|
Unified Report
|
|
456
435
|
```
|
|
457
436
|
|
|
458
|
-
[View Agent Details](docs/agents.md) →
|
|
459
|
-
|
|
460
437
|
</details>
|
|
461
438
|
|
|
462
439
|
</td>
|
|
@@ -482,8 +459,6 @@ Unified Report
|
|
|
482
459
|
- ⚡ **Superpowers** - Advanced features
|
|
483
460
|
- 🏪 **MCP Market** - Extension store
|
|
484
461
|
|
|
485
|
-
[View Complete Ecosystem](docs/ecosystem.md) →
|
|
486
|
-
|
|
487
462
|
</details>
|
|
488
463
|
|
|
489
464
|
</td>
|
|
@@ -508,8 +483,6 @@ Unified Report
|
|
|
508
483
|
- ✅ Email alerts
|
|
509
484
|
- ✅ Custom webhooks
|
|
510
485
|
|
|
511
|
-
[Configure Notifications](docs/notifications.md) →
|
|
512
|
-
|
|
513
486
|
</details>
|
|
514
487
|
|
|
515
488
|
</td>
|
|
@@ -518,178 +491,158 @@ Unified Report
|
|
|
518
491
|
|
|
519
492
|
---
|
|
520
493
|
|
|
521
|
-
##
|
|
494
|
+
## ☁️ Cloud Advantages
|
|
522
495
|
|
|
523
496
|
<div align="center">
|
|
524
497
|
|
|
525
|
-
###
|
|
498
|
+
### Why CCJK v3.8 Cloud Changes Everything
|
|
526
499
|
|
|
527
500
|
</div>
|
|
528
501
|
|
|
502
|
+
CCJK v3.8 introduces cloud-native capabilities that transform it from a local CLI tool into a distributed development platform. Here is how CCJK compares to Claude Code's cloud offerings:
|
|
503
|
+
|
|
529
504
|
<table>
|
|
530
505
|
<tr>
|
|
531
|
-
<td
|
|
532
|
-
|
|
533
|
-
### 📉 Token Savings
|
|
534
|
-
|
|
535
|
-
<img src="https://img.shields.io/badge/73%25-Saved-00D4AA?style=for-the-badge&labelColor=1a1a2e" />
|
|
506
|
+
<td width="50%">
|
|
536
507
|
|
|
537
|
-
|
|
508
|
+
### 🏆 Feature Comparison
|
|
538
509
|
|
|
539
|
-
|
|
510
|
+
| Feature | Claude Code CLI | CCJK v3.8 Cloud |
|
|
511
|
+
|:--------|:----------------|:----------------|
|
|
512
|
+
| **MCP Marketplace** | Manual config | Cloud discovery + auto-sync |
|
|
513
|
+
| **Skills Management** | File-based | Cloud registry (500+ skills) |
|
|
514
|
+
| **Agent Orchestration** | Single agent | Distributed multi-agent |
|
|
515
|
+
| **Config Sync** | Per-device | Cross-device automatic sync |
|
|
516
|
+
| **Plugin Discovery** | Manual search | AI-powered recommendations |
|
|
517
|
+
| **Token Optimization** | Native | 83% savings via cloud cache |
|
|
518
|
+
| **Offline Support** | Full | Full (cached content) |
|
|
519
|
+
| **Multi-Device** | No | Yes (cloud sync) |
|
|
520
|
+
| **Team Sharing** | Limited | Full (shared configs) |
|
|
540
521
|
|
|
541
522
|
</td>
|
|
542
|
-
<td
|
|
523
|
+
<td width="50%">
|
|
543
524
|
|
|
544
|
-
###
|
|
525
|
+
### 🚀 Key Cloud Features
|
|
545
526
|
|
|
546
|
-
|
|
527
|
+
**Cross-Device Synchronization**
|
|
528
|
+
- Sync configurations across all devices
|
|
529
|
+
- Automatic conflict resolution
|
|
530
|
+
- GitHub Gist, WebDAV, S3 support
|
|
547
531
|
|
|
548
|
-
|
|
532
|
+
**Cloud Skill Registry**
|
|
533
|
+
- 500+ pre-built skills available
|
|
534
|
+
- Version control and automatic updates
|
|
535
|
+
- Team sharing and collaborative editing
|
|
549
536
|
|
|
550
|
-
|
|
537
|
+
**Multi-Agent Orchestration**
|
|
538
|
+
- 13+ specialized agents working in parallel
|
|
539
|
+
- Cloud-based agent coordination
|
|
540
|
+
- Dynamic scaling for complex tasks
|
|
551
541
|
|
|
552
|
-
|
|
553
|
-
|
|
542
|
+
**Intelligent Discovery**
|
|
543
|
+
- Context-aware plugin recommendations
|
|
544
|
+
- Project type detection
|
|
545
|
+
- Community-powered marketplace
|
|
554
546
|
|
|
555
|
-
|
|
547
|
+
</td>
|
|
548
|
+
</tr>
|
|
549
|
+
</table>
|
|
556
550
|
|
|
557
|
-
<
|
|
551
|
+
<details>
|
|
552
|
+
<summary><b>👉 Click to expand: See detailed cloud features</b></summary>
|
|
558
553
|
|
|
559
554
|
<br/>
|
|
560
555
|
|
|
561
|
-
|
|
556
|
+
### Cloud Sync Architecture
|
|
562
557
|
|
|
563
|
-
|
|
564
|
-
<td align="center" width="20%">
|
|
558
|
+
CCJK v3.8 provides bidirectional synchronization across devices:
|
|
565
559
|
|
|
566
|
-
|
|
560
|
+
```
|
|
561
|
+
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
|
|
562
|
+
│ Device 1 │────▶│ Cloud │◀────│ Device 2 │
|
|
563
|
+
│ (Primary) │ │ Storage │ │ (Worker) │
|
|
564
|
+
└─────────────┘ └─────────────┘ └─────────────┘
|
|
565
|
+
│ │ │
|
|
566
|
+
└───────────────────┴───────────────────┘
|
|
567
|
+
│
|
|
568
|
+
┌───────▼────────┐
|
|
569
|
+
│ Conflict │
|
|
570
|
+
│ Resolver │
|
|
571
|
+
└────────────────┘
|
|
572
|
+
```
|
|
567
573
|
|
|
568
|
-
|
|
574
|
+
### Supported Cloud Providers
|
|
569
575
|
|
|
570
|
-
|
|
576
|
+
| Provider | Type | Setup |
|
|
577
|
+
|:---------|:-----|:------|
|
|
578
|
+
| **GitHub Gist** | Free | One command |
|
|
579
|
+
| **WebDAV** | Self-hosted | Nextcloud, ownCloud |
|
|
580
|
+
| **S3** | Enterprise | AWS, MinIO |
|
|
571
581
|
|
|
572
|
-
|
|
582
|
+
### Getting Started with Cloud
|
|
573
583
|
|
|
574
|
-
|
|
575
|
-
|
|
584
|
+
```bash
|
|
585
|
+
# Enable cloud sync
|
|
586
|
+
npx ccjk cloud enable --provider github-gist
|
|
576
587
|
|
|
577
|
-
|
|
588
|
+
# Sync across devices
|
|
589
|
+
npx ccjk sync
|
|
578
590
|
|
|
579
|
-
|
|
591
|
+
# Browse cloud plugins
|
|
592
|
+
npx ccjk plugin market
|
|
580
593
|
|
|
581
|
-
|
|
594
|
+
# Install cloud skill
|
|
595
|
+
npx ccjk skill install code-reviewer
|
|
596
|
+
```
|
|
582
597
|
|
|
583
|
-
|
|
598
|
+
**For complete cloud documentation**, see [Cloud Service Upgrade Documentation](docs/cloud-service-upgrade.md)
|
|
584
599
|
|
|
585
|
-
</
|
|
586
|
-
</tr>
|
|
587
|
-
</table>
|
|
600
|
+
</details>
|
|
588
601
|
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
<details>
|
|
592
|
-
<summary><b>📈 View Detailed Performance Report</b></summary>
|
|
593
|
-
|
|
594
|
-
<br/>
|
|
595
|
-
|
|
596
|
-
| Metric | Before | After | Improvement |
|
|
597
|
-
|--------|--------|-------|-------------|
|
|
598
|
-
| **Token Usage** | 10,000 | 2,700 | ↓73% |
|
|
599
|
-
| **Build Time** | 45s | 28s | ↓38% |
|
|
600
|
-
| **Bundle Size** | 2.2 MB | 1.8 MB | ↓18% |
|
|
601
|
-
| **Code Duplication** | 850+ lines | 0 lines | ↓100% |
|
|
602
|
-
| **Test Coverage** | 60% | 85% | ↑42% |
|
|
603
|
-
| **Bug Catch Rate** | 45% | 89% | ↑98% |
|
|
604
|
-
|
|
605
|
-
[View Complete Performance Report](docs/performance.md) →
|
|
606
|
-
|
|
607
|
-
</details>
|
|
608
|
-
|
|
609
|
-
---
|
|
602
|
+
---
|
|
610
603
|
|
|
611
604
|
<div align="center">
|
|
612
605
|
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
</div>
|
|
616
|
-
|
|
617
|
-
---
|
|
618
|
-
|
|
619
|
-
## 🐉 Twin Dragons Philosophy
|
|
620
|
-
|
|
621
|
-
<div align="center">
|
|
606
|
+
<br/>
|
|
622
607
|
|
|
623
|
-
|
|
608
|
+
## 🚀 Ready to 10x Your Efficiency?
|
|
624
609
|
|
|
625
|
-
|
|
610
|
+
<br/>
|
|
626
611
|
|
|
627
612
|
<table>
|
|
628
613
|
<tr>
|
|
629
|
-
<td width="50%">
|
|
630
|
-
|
|
631
|
-
### 🎯 Core Philosophy
|
|
632
|
-
|
|
633
|
-
CCJK is not a replacement for Claude Code, but a **cognitive enhancement layer** that unlocks Claude Code's full potential.
|
|
634
|
-
|
|
635
|
-
**Symbiotic Relationship**:
|
|
636
|
-
- Claude Code provides power → CCJK amplifies experience
|
|
637
|
-
- User feedback improves both → Symbiotic evolution
|
|
638
|
-
- Twin dragons, complementary prosperity
|
|
639
|
-
|
|
640
|
-
</td>
|
|
641
|
-
<td width="50%">
|
|
642
|
-
|
|
643
|
-
### 📈 Value Proposition
|
|
644
|
-
|
|
645
|
-
| Claude Code Alone | With CCJK | Improvement |
|
|
646
|
-
|:------------------|:----------|:-----------:|
|
|
647
|
-
| Manual 15+ step config | One-click setup | ↓95% time |
|
|
648
|
-
| Manual context management | Smart orchestration | ↓73% tokens |
|
|
649
|
-
| Single AI response | Multi-agent collaboration | ↑89% quality |
|
|
650
|
-
| Isolated tool usage | Unified ecosystem | ↓80% switching |
|
|
651
|
-
| Manual updates | Auto-sync evolution | Zero downtime |
|
|
652
|
-
|
|
653
|
-
</td>
|
|
654
|
-
</tr>
|
|
655
|
-
</table>
|
|
656
|
-
|
|
657
|
-
[Deep Dive into Twin Dragons Philosophy](docs/philosophy.md) →
|
|
658
|
-
|
|
659
|
-
---
|
|
660
|
-
|
|
661
|
-
## 🌟 Developer Community
|
|
614
|
+
<td align="center" width="50%">
|
|
662
615
|
|
|
663
|
-
|
|
616
|
+
### ⚡ Get Started Now (Recommended)
|
|
664
617
|
|
|
665
|
-
|
|
618
|
+
```bash
|
|
619
|
+
npx ccjk
|
|
620
|
+
```
|
|
666
621
|
|
|
667
|
-
</
|
|
622
|
+
<sub>✅ Zero Install · ✅ Zero Config · ✅ Zero Risk</sub>
|
|
623
|
+
<br/>
|
|
624
|
+
<sub>🔒 Auto backup, never break your config</sub>
|
|
668
625
|
|
|
669
|
-
<
|
|
670
|
-
<tr>
|
|
671
|
-
<td align="center" width="25%">
|
|
626
|
+
<br/>
|
|
672
627
|
|
|
673
|
-
|
|
674
|
-
<img src="https://img.shields.io/badge
|
|
628
|
+
<a href="#30-second-quick-start">
|
|
629
|
+
<img src="https://img.shields.io/badge/🚀_START_NOW-FFE66D?style=for-the-badge&logo=rocket&logoColor=1a1a2e&labelColor=1a1a2e" alt="Start Now" />
|
|
630
|
+
</a>
|
|
675
631
|
|
|
676
632
|
</td>
|
|
677
|
-
<td align="center" width="
|
|
678
|
-
|
|
679
|
-
### ⭐ GitHub Stars
|
|
680
|
-
<img src="https://img.shields.io/github/stars/miounet11/ccjk?style=for-the-badge&color=FFE66D&labelColor=1a1a2e" />
|
|
633
|
+
<td align="center" width="50%">
|
|
681
634
|
|
|
682
|
-
|
|
683
|
-
<td align="center" width="25%">
|
|
635
|
+
### 📚 Learn More First
|
|
684
636
|
|
|
685
|
-
|
|
686
|
-
|
|
637
|
+
- [📖 Complete Documentation](docs/README.md)
|
|
638
|
+
- [💬 Join Telegram Community](https://t.me/ccjk_community)
|
|
639
|
+
- [🐛 View GitHub Issues](https://github.com/miounet11/ccjk/issues)
|
|
687
640
|
|
|
688
|
-
|
|
689
|
-
<td align="center" width="25%">
|
|
641
|
+
<br/>
|
|
690
642
|
|
|
691
|
-
|
|
692
|
-
<img src="https://img.shields.io/badge
|
|
643
|
+
<a href="https://github.com/miounet11/ccjk/stargazers">
|
|
644
|
+
<img src="https://img.shields.io/badge/⭐_STAR_US-9B59B6?style=for-the-badge&logo=github&logoColor=white&labelColor=1a1a2e" alt="Star Us" />
|
|
645
|
+
</a>
|
|
693
646
|
|
|
694
647
|
</td>
|
|
695
648
|
</tr>
|
|
@@ -697,105 +650,61 @@ CCJK is not a replacement for Claude Code, but a **cognitive enhancement layer**
|
|
|
697
650
|
|
|
698
651
|
<br/>
|
|
699
652
|
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
**⭐ If you find CCJK useful, please give us a Star! Your support is our greatest motivation.**
|
|
703
|
-
|
|
704
|
-
</div>
|
|
653
|
+
**⭐ If CCJK helped you, please give us a ⭐ Star!**
|
|
705
654
|
|
|
706
655
|
<br/>
|
|
707
656
|
|
|
708
|
-
<
|
|
709
|
-
<
|
|
710
|
-
|
|
711
|
-
<br/>
|
|
712
|
-
|
|
713
|
-
<table>
|
|
714
|
-
<tr>
|
|
715
|
-
<td width="50%">
|
|
716
|
-
|
|
717
|
-
> **"Finally, a tool that makes Claude Code truly production-ready."**
|
|
718
|
-
>
|
|
719
|
-
> The multi-agent review alone has saved us from countless bugs. Our team now mandates CCJK for everyone.
|
|
720
|
-
>
|
|
721
|
-
> — **Li Ming**, CTO at Series B Startup
|
|
722
|
-
> <br/>📍 Beijing · 🏢 50-person team
|
|
723
|
-
|
|
724
|
-
</td>
|
|
725
|
-
<td width="50%">
|
|
726
|
-
|
|
727
|
-
> **"Setup took 3 minutes, productive in 5 minutes."**
|
|
728
|
-
>
|
|
729
|
-
> Used to spend half a day configuring Claude Code, now one command does it all. This is how dev tools should be.
|
|
730
|
-
>
|
|
731
|
-
> — **Wang Fang**, Senior Developer at Big Tech
|
|
732
|
-
> <br/>📍 Shenzhen · 🏢 Alibaba
|
|
733
|
-
|
|
734
|
-
</td>
|
|
735
|
-
</tr>
|
|
736
|
-
<tr>
|
|
737
|
-
<td width="50%">
|
|
738
|
-
|
|
739
|
-
> **"Token savings are real, not marketing speak."**
|
|
740
|
-
>
|
|
741
|
-
> Our Claude API costs dropped from $800/month to $220, with better results. Even the boss was shocked.
|
|
742
|
-
>
|
|
743
|
-
> — **Zhang Wei**, Engineering Manager
|
|
744
|
-
> <br/>📍 Shanghai · 🏢 Fintech Company
|
|
745
|
-
|
|
746
|
-
</td>
|
|
747
|
-
<td width="50%">
|
|
748
|
-
|
|
749
|
-
> **"Once you use CCJK, you can't go back to vanilla Claude Code."**
|
|
750
|
-
>
|
|
751
|
-
> It's now my infrastructure, as essential as Git. First thing I do in every project: `npx ccjk`.
|
|
752
|
-
>
|
|
753
|
-
> — **Liu Yang**, Independent Developer
|
|
754
|
-
> <br/>📍 Chengdu · 🏢 Personal Studio
|
|
755
|
-
|
|
756
|
-
</td>
|
|
757
|
-
</tr>
|
|
758
|
-
</table>
|
|
759
|
-
|
|
760
|
-
[View Complete User Story Collection](docs/testimonials.md) →
|
|
657
|
+
<a href="https://github.com/miounet11/ccjk/stargazers">
|
|
658
|
+
<img src="https://img.shields.io/github/stars/miounet11/ccjk?style=social" alt="GitHub Stars" />
|
|
659
|
+
</a>
|
|
761
660
|
|
|
762
|
-
</
|
|
661
|
+
</div>
|
|
763
662
|
|
|
764
|
-
|
|
663
|
+
---
|
|
765
664
|
|
|
766
665
|
<div align="center">
|
|
767
666
|
|
|
768
|
-
|
|
667
|
+
**Choose Your Journey:**
|
|
769
668
|
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
669
|
+
[⚡ 30-Second Start](#30-second-quick-start) ·
|
|
670
|
+
[🎯 Why CCJK](#why-ccjk) ·
|
|
671
|
+
[🐉 Twin Dragons](#twin-dragons-philosophy) ·
|
|
672
|
+
[☁️ Cloud Advantages](#cloud-advantages) ·
|
|
673
|
+
[✨ Core Features](#core-features) ·
|
|
674
|
+
[📊 Real Data](#real-performance-data) ·
|
|
675
|
+
[🚀 Full Guide](#complete-guide)
|
|
774
676
|
|
|
775
|
-
|
|
677
|
+
</div>
|
|
776
678
|
|
|
777
|
-
|
|
778
|
-
- 🧠 AI Self-Learning System (Learn from your code style)
|
|
779
|
-
- 🌐 Cloud Collaboration (Team shared configs)
|
|
780
|
-
- 🎯 Smart Recommendation Engine (Auto-discover optimization opportunities)
|
|
679
|
+
---
|
|
781
680
|
|
|
782
|
-
|
|
681
|
+
<p align="center">
|
|
682
|
+
<a href="#core-features"><img src="https://img.shields.io/badge/🔮_Smart_Skills-6+_Built--in-purple?style=for-the-badge" alt="Smart Skills"></a>
|
|
683
|
+
<a href="#multi-agent-collaboration"><img src="https://img.shields.io/badge/🤖_Multi--Agent-13+_Agents-red?style=for-the-badge" alt="Multi-Agent"></a>
|
|
684
|
+
<a href="#ecosystem-integration"><img src="https://img.shields.io/badge/🔌_Ecosystem-One--Click_Setup-green?style=for-the-badge" alt="Ecosystem"></a>
|
|
685
|
+
<a href="#real-performance-data"><img src="https://img.shields.io/badge/⚡_Performance-73%25_Savings-orange?style=for-the-badge" alt="Performance"></a>
|
|
686
|
+
<a href="#cloud-advantages"><img src="https://img.shields.io/badge/☁️_Cloud_Cloud_Sync-blue?style=for-the-badge" alt="Cloud Features"></a>
|
|
687
|
+
<a href="#smart-notifications"><img src="https://img.shields.io/badge/🔔_Notifications-Multi--Channel-yellow?style=for-the-badge" alt="Notifications"></a>
|
|
688
|
+
</p>
|
|
783
689
|
|
|
784
|
-
|
|
690
|
+
<p align="center">
|
|
691
|
+
<a href="docs/zh-CN/features/skills.md"><img src="https://img.shields.io/badge/📚_完整文档-中文-blue?style=for-the-badge" alt="中文文档"></a>
|
|
692
|
+
<a href="docs/en/getting-started/index.md"><img src="https://img.shields.io/badge/📖_Full_Docs-English-blue?style=for-the-badge" alt="English Docs"></a>
|
|
693
|
+
<a href="docs/cloud-service-upgrade.md"><img src="https://img.shields.io/badge/☁️_Cloud_Documentation-blue?style=for-the-badge" alt="Cloud Docs"></a>
|
|
694
|
+
<a href="https://t.me/ccjk_community"><img src="https://img.shields.io/badge/💬_Community-Telegram-blue?style=for-the-badge&logo=telegram" alt="Telegram"></a>
|
|
695
|
+
</p>
|
|
785
696
|
|
|
786
697
|
---
|
|
787
698
|
|
|
788
|
-
|
|
699
|
+
## 🎲 Preface
|
|
789
700
|
|
|
790
|
-
|
|
701
|
+
**This is not an ordinary CLI tool.**
|
|
791
702
|
|
|
792
|
-
|
|
703
|
+
When AI coding assistants still make you repeat context, CCJK has already given Claude Code permanent memory.
|
|
793
704
|
|
|
794
|
-
|
|
795
|
-
<img src="https://img.shields.io/github/stars/miounet11/ccjk?style=social" alt="GitHub Stars" />
|
|
796
|
-
</a>
|
|
705
|
+
When others are still manually configuring 15+ steps, CCJK completes everything with one command.
|
|
797
706
|
|
|
798
|
-
|
|
707
|
+
**This is Claude Code's cognitive enhancement engine, and your secret weapon for 10x efficiency.**
|
|
799
708
|
|
|
800
709
|
---
|
|
801
710
|
|
|
@@ -807,124 +716,35 @@ CCJK is not a replacement for Claude Code, but a **cognitive enhancement layer**
|
|
|
807
716
|
<br/>
|
|
808
717
|
|
|
809
718
|
### Getting Started
|
|
810
|
-
- [Quick Start](docs/
|
|
811
|
-
- [Installation Guide](docs/
|
|
812
|
-
- [Basic Configuration](docs/basic
|
|
719
|
+
- [Quick Start](docs/README.md)
|
|
720
|
+
- [Installation Guide](docs/en/getting-started/index.md)
|
|
721
|
+
- [Basic Configuration](docs/en/configuration/basic.md)
|
|
813
722
|
- [FAQ](docs/faq.md)
|
|
814
723
|
|
|
815
724
|
### Core Features
|
|
816
|
-
- [Smart Skills System](docs/skills.md)
|
|
817
|
-
- [Multi-Agent Collaboration](docs/agents.md)
|
|
818
|
-
- [Workflow Orchestration](docs/workflows.md)
|
|
819
|
-
- [Context Management](docs/context.md)
|
|
725
|
+
- [Smart Skills System](docs/zh-CN/features/skills.md)
|
|
726
|
+
- [Multi-Agent Collaboration](docs/zh-CN/features/agents.md)
|
|
727
|
+
- [Workflow Orchestration](docs/zh-CN/features/workflows.md)
|
|
728
|
+
- [Context Management](docs/zh-CN/features/context.md)
|
|
820
729
|
|
|
821
730
|
### Advanced Topics
|
|
822
|
-
- [Custom Configuration](docs/advanced
|
|
823
|
-
- [API Reference](docs/api
|
|
824
|
-
- [
|
|
825
|
-
- [Performance Optimization](docs/performance.md)
|
|
731
|
+
- [Custom Configuration](docs/en/configuration/advanced.md)
|
|
732
|
+
- [API Reference](docs/en/api/index.md)
|
|
733
|
+
- [Performance Optimization](docs/en/guides/performance.md)
|
|
826
734
|
|
|
827
735
|
### Ecosystem Integration
|
|
828
|
-
- [CCR Router](docs/ccr.md)
|
|
829
|
-
- [CCUsage Analytics](docs/ccusage.md)
|
|
830
|
-
- [Cometix Customization](docs/cometix.md)
|
|
831
|
-
- [MCP Services](docs/mcp.md)
|
|
832
|
-
|
|
833
|
-
</details>
|
|
834
|
-
|
|
835
|
-
---
|
|
836
|
-
|
|
837
|
-
<div align="center">
|
|
838
|
-
|
|
839
|
-
<br/>
|
|
840
|
-
|
|
841
|
-
## 🚀 Ready to 10x Your Efficiency?
|
|
842
|
-
|
|
843
|
-
<br/>
|
|
844
|
-
|
|
845
|
-
<table>
|
|
846
|
-
<tr>
|
|
847
|
-
<td align="center" width="50%">
|
|
848
|
-
|
|
849
|
-
### ⚡ Get Started Now (Recommended)
|
|
850
|
-
|
|
851
|
-
```bash
|
|
852
|
-
npx ccjk
|
|
853
|
-
```
|
|
854
|
-
|
|
855
|
-
<sub>✅ Zero Install · ✅ Zero Config · ✅ Zero Risk</sub>
|
|
856
|
-
<br/>
|
|
857
|
-
<sub>🔒 Auto backup, never break your config</sub>
|
|
858
|
-
|
|
859
|
-
</td>
|
|
860
|
-
<td align="center" width="50%">
|
|
861
|
-
|
|
862
|
-
### 📚 Learn More First
|
|
863
|
-
|
|
864
|
-
- [📖 Complete Documentation](docs/README.md)
|
|
865
|
-
- [🎥 5-Minute Video Tutorial](https://youtube.com/...)
|
|
866
|
-
- [💬 Join Discord Community](https://discord.gg/...)
|
|
867
|
-
- [🐛 View GitHub Issues](https://github.com/miounet11/ccjk/issues)
|
|
868
|
-
|
|
869
|
-
</td>
|
|
870
|
-
</tr>
|
|
871
|
-
</table>
|
|
872
|
-
|
|
873
|
-
<br/>
|
|
874
|
-
|
|
875
|
-
<details>
|
|
876
|
-
<summary><b>🤔 Still Hesitating? These Might Help</b></summary>
|
|
877
|
-
|
|
878
|
-
<br/>
|
|
879
|
-
|
|
880
|
-
<table>
|
|
881
|
-
<tr>
|
|
882
|
-
<td width="33%">
|
|
883
|
-
|
|
884
|
-
**❓ Will it break my config?**
|
|
885
|
-
|
|
886
|
-
No. CCJK auto-backs up to `~/.claude/backup/` before every change. One-click restore, zero risk.
|
|
887
|
-
|
|
888
|
-
</td>
|
|
889
|
-
<td width="33%">
|
|
890
|
-
|
|
891
|
-
**❓ I'm a beginner, can I use it?**
|
|
892
|
-
|
|
893
|
-
Absolutely! CCJK is designed for beginners. Interactive menus guide you through every step, no config knowledge needed.
|
|
736
|
+
- [CCR Router](docs/en/guides/ccr.md)
|
|
737
|
+
- [CCUsage Analytics](docs/en/guides/ccusage.md)
|
|
738
|
+
- [Cometix Customization](docs/en/guides/cometix.md)
|
|
739
|
+
- [MCP Services](docs/en/guides/mcp.md)
|
|
894
740
|
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
Completely free and open source (MIT License). We're sustained by community contributions and GitHub Sponsors.
|
|
901
|
-
|
|
902
|
-
</td>
|
|
903
|
-
</tr>
|
|
904
|
-
</table>
|
|
905
|
-
|
|
906
|
-
[View Complete FAQ](docs/faq.md) →
|
|
741
|
+
### Cloud & Platform
|
|
742
|
+
- [Cloud Service Upgrade](docs/cloud-service-upgrade.md)
|
|
743
|
+
- [API Endpoints Reference](docs/api-endpoints.md)
|
|
744
|
+
- [Deployment Guide](docs/deployment-guide.md)
|
|
907
745
|
|
|
908
746
|
</details>
|
|
909
747
|
|
|
910
|
-
<br/>
|
|
911
|
-
|
|
912
|
-
---
|
|
913
|
-
|
|
914
|
-
<br/>
|
|
915
|
-
|
|
916
|
-
**🌟 If CCJK helped you, please give us a ⭐ Star!**
|
|
917
|
-
|
|
918
|
-
<sub>Your Star is our motivation to keep improving ❤️</sub>
|
|
919
|
-
|
|
920
|
-
<br/>
|
|
921
|
-
|
|
922
|
-
<a href="https://github.com/miounet11/ccjk/stargazers">
|
|
923
|
-
<img src="https://img.shields.io/github/stars/miounet11/ccjk?style=social" alt="GitHub Stars" />
|
|
924
|
-
</a>
|
|
925
|
-
|
|
926
|
-
<br/><br/>
|
|
927
|
-
|
|
928
748
|
---
|
|
929
749
|
|
|
930
750
|
### 📞 Contact & Support
|
|
@@ -933,36 +753,19 @@ Completely free and open source (MIT License). We're sustained by community cont
|
|
|
933
753
|
<tr>
|
|
934
754
|
<td align="center">
|
|
935
755
|
|
|
936
|
-
**💬
|
|
937
|
-
|
|
938
|
-
[Join Community](https://discord.gg/...)
|
|
939
|
-
|
|
940
|
-
</td>
|
|
941
|
-
<td align="center">
|
|
942
|
-
|
|
943
|
-
**📱 Telegram**
|
|
944
|
-
|
|
756
|
+
**💬 Telegram**
|
|
945
757
|
[Join Group](https://t.me/ccjk_community)
|
|
946
758
|
|
|
947
759
|
</td>
|
|
948
760
|
<td align="center">
|
|
949
761
|
|
|
950
|
-
**🐦 Twitter**
|
|
951
|
-
|
|
952
|
-
[@ccjk_dev](https://twitter.com/ccjk_dev)
|
|
953
|
-
|
|
954
|
-
</td>
|
|
955
|
-
<td align="center">
|
|
956
|
-
|
|
957
762
|
**📧 Email**
|
|
958
|
-
|
|
959
763
|
[support@ccjk.dev](mailto:support@ccjk.dev)
|
|
960
764
|
|
|
961
765
|
</td>
|
|
962
766
|
<td align="center">
|
|
963
767
|
|
|
964
768
|
**🐛 Issues**
|
|
965
|
-
|
|
966
769
|
[GitHub Issues](https://github.com/miounet11/ccjk/issues)
|
|
967
770
|
|
|
968
771
|
</td>
|
|
@@ -971,34 +774,6 @@ Completely free and open source (MIT License). We're sustained by community cont
|
|
|
971
774
|
|
|
972
775
|
---
|
|
973
776
|
|
|
974
|
-
<br/>
|
|
975
|
-
|
|
976
|
-
<div align="center">
|
|
977
|
-
|
|
978
|
-
### 💝 Support CCJK Development
|
|
979
|
-
|
|
980
|
-
If CCJK saves you time and money, consider supporting us:
|
|
981
|
-
|
|
982
|
-
<br/>
|
|
983
|
-
|
|
984
|
-
<a href="https://github.com/sponsors/miounet11">
|
|
985
|
-
<img src="https://img.shields.io/badge/Sponsor-GitHub_Sponsors-EA4AAA?style=for-the-badge&logo=github" alt="GitHub Sponsors" />
|
|
986
|
-
</a>
|
|
987
|
-
|
|
988
|
-
<a href="https://www.buymeacoffee.com/ccjk">
|
|
989
|
-
<img src="https://img.shields.io/badge/Buy_Me_A_Coffee-FFDD00?style=for-the-badge&logo=buy-me-a-coffee&logoColor=black" alt="Buy Me A Coffee" />
|
|
990
|
-
</a>
|
|
991
|
-
|
|
992
|
-
<br/><br/>
|
|
993
|
-
|
|
994
|
-
<sub>Every contribution helps us maintain and improve CCJK for the community ❤️</sub>
|
|
995
|
-
|
|
996
|
-
</div>
|
|
997
|
-
|
|
998
|
-
<br/>
|
|
999
|
-
|
|
1000
|
-
---
|
|
1001
|
-
|
|
1002
777
|
### 📄 License
|
|
1003
778
|
|
|
1004
779
|
MIT © [CCJK Contributors](https://github.com/miounet11/ccjk/graphs/contributors)
|
|
@@ -1014,456 +789,3 @@ MIT © [CCJK Contributors](https://github.com/miounet11/ccjk/graphs/contributors
|
|
|
1014
789
|
**⭐ Don't forget to star this repo if you find it useful! ⭐**
|
|
1015
790
|
|
|
1016
791
|
</div>
|
|
1017
|
-
|
|
1018
|
-
</div>
|
|
1019
|
-
|
|
1020
|
-
---
|
|
1021
|
-
|
|
1022
|
-
## Quick Start (Legacy - For Reference)
|
|
1023
|
-
|
|
1024
|
-
```typescript
|
|
1025
|
-
import { createTool } from 'ccjk';
|
|
1026
|
-
|
|
1027
|
-
// Create a tool instance
|
|
1028
|
-
const claude = createTool('claude-code');
|
|
1029
|
-
|
|
1030
|
-
// Check if installed
|
|
1031
|
-
const status = await claude.isInstalled();
|
|
1032
|
-
console.log(status.installed); // true/false
|
|
1033
|
-
|
|
1034
|
-
// Configure the tool
|
|
1035
|
-
await claude.configure({
|
|
1036
|
-
name: 'claude-code',
|
|
1037
|
-
apiKey: 'your-api-key',
|
|
1038
|
-
model: 'claude-opus-4',
|
|
1039
|
-
});
|
|
1040
|
-
|
|
1041
|
-
// Execute commands
|
|
1042
|
-
const result = await claude.execute('chat', ['Hello, Claude!']);
|
|
1043
|
-
console.log(result.output);
|
|
1044
|
-
```
|
|
1045
|
-
|
|
1046
|
-
## Supported Tools
|
|
1047
|
-
|
|
1048
|
-
| Tool | Chat | File Edit | Code Gen | Review | Testing | Debug |
|
|
1049
|
-
|------|------|-----------|----------|--------|---------|-------|
|
|
1050
|
-
| Claude Code | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
|
1051
|
-
| Codex | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ |
|
|
1052
|
-
| Aider | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ |
|
|
1053
|
-
| Continue | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
|
1054
|
-
| Cline | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
|
1055
|
-
| Cursor | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
|
1056
|
-
|
|
1057
|
-
## Usage Examples
|
|
1058
|
-
|
|
1059
|
-
### Basic Tool Management
|
|
1060
|
-
|
|
1061
|
-
```typescript
|
|
1062
|
-
import { createTool, getRegistry } from 'ccjk';
|
|
1063
|
-
|
|
1064
|
-
// Create a tool
|
|
1065
|
-
const aider = createTool('aider');
|
|
1066
|
-
|
|
1067
|
-
// Check installation status
|
|
1068
|
-
const status = await aider.isInstalled();
|
|
1069
|
-
if (!status.installed) {
|
|
1070
|
-
await aider.install();
|
|
1071
|
-
}
|
|
1072
|
-
|
|
1073
|
-
// Get tool version
|
|
1074
|
-
const version = await aider.getVersion();
|
|
1075
|
-
console.log(`Aider version: ${version}`);
|
|
1076
|
-
|
|
1077
|
-
// Get all available tools
|
|
1078
|
-
const registry = getRegistry();
|
|
1079
|
-
const toolNames = registry.getToolNames();
|
|
1080
|
-
console.log('Available tools:', toolNames);
|
|
1081
|
-
```
|
|
1082
|
-
|
|
1083
|
-
### Configuration Management
|
|
1084
|
-
|
|
1085
|
-
```typescript
|
|
1086
|
-
import { createTool } from 'ccjk';
|
|
1087
|
-
|
|
1088
|
-
const tool = createTool('claude-code');
|
|
1089
|
-
|
|
1090
|
-
// Update configuration
|
|
1091
|
-
await tool.updateConfig({
|
|
1092
|
-
apiKey: 'sk-ant-...',
|
|
1093
|
-
model: 'claude-opus-4',
|
|
1094
|
-
settings: {
|
|
1095
|
-
temperature: 0.7,
|
|
1096
|
-
maxTokens: 4096,
|
|
1097
|
-
},
|
|
1098
|
-
});
|
|
1099
|
-
|
|
1100
|
-
// Get current configuration
|
|
1101
|
-
const config = await tool.getConfig();
|
|
1102
|
-
console.log(config);
|
|
1103
|
-
|
|
1104
|
-
// Reset to defaults
|
|
1105
|
-
await tool.reset();
|
|
1106
|
-
```
|
|
1107
|
-
|
|
1108
|
-
### Chat Interface
|
|
1109
|
-
|
|
1110
|
-
```typescript
|
|
1111
|
-
import { createTool } from 'ccjk';
|
|
1112
|
-
import { IChatTool } from 'ccjk';
|
|
1113
|
-
|
|
1114
|
-
const tool = createTool('claude-code') as IChatTool;
|
|
1115
|
-
|
|
1116
|
-
// Start a chat
|
|
1117
|
-
const response = await tool.chat('Explain async/await in JavaScript');
|
|
1118
|
-
console.log(response.output);
|
|
1119
|
-
|
|
1120
|
-
// Continue the conversation
|
|
1121
|
-
const followUp = await tool.continueChat('Can you show an example?');
|
|
1122
|
-
console.log(followUp.output);
|
|
1123
|
-
|
|
1124
|
-
// End the chat
|
|
1125
|
-
await tool.endChat();
|
|
1126
|
-
```
|
|
1127
|
-
|
|
1128
|
-
### File Editing
|
|
1129
|
-
|
|
1130
|
-
```typescript
|
|
1131
|
-
import { createTool } from 'ccjk';
|
|
1132
|
-
import { IFileEditTool } from 'ccjk';
|
|
1133
|
-
|
|
1134
|
-
const tool = createTool('aider') as IFileEditTool;
|
|
1135
|
-
|
|
1136
|
-
// Edit a single file
|
|
1137
|
-
await tool.editFile(
|
|
1138
|
-
'./src/index.ts',
|
|
1139
|
-
'Add error handling to the main function'
|
|
1140
|
-
);
|
|
1141
|
-
|
|
1142
|
-
// Edit multiple files
|
|
1143
|
-
await tool.editFiles(
|
|
1144
|
-
['./src/index.ts', './src/utils.ts'],
|
|
1145
|
-
'Add TypeScript strict mode'
|
|
1146
|
-
);
|
|
1147
|
-
```
|
|
1148
|
-
|
|
1149
|
-
### Code Generation
|
|
1150
|
-
|
|
1151
|
-
```typescript
|
|
1152
|
-
import { createTool } from 'ccjk';
|
|
1153
|
-
import { ICodeGenTool } from 'ccjk';
|
|
1154
|
-
|
|
1155
|
-
const tool = createTool('codex') as ICodeGenTool;
|
|
1156
|
-
|
|
1157
|
-
// Generate code
|
|
1158
|
-
const result = await tool.generateCode(
|
|
1159
|
-
'Create a React component for a todo list',
|
|
1160
|
-
'./src/components/TodoList.tsx'
|
|
1161
|
-
);
|
|
1162
|
-
|
|
1163
|
-
if (result.success) {
|
|
1164
|
-
console.log('Code generated successfully!');
|
|
1165
|
-
}
|
|
1166
|
-
```
|
|
1167
|
-
|
|
1168
|
-
### Working with Multiple Tools
|
|
1169
|
-
|
|
1170
|
-
```typescript
|
|
1171
|
-
import { createTool, getRegistry } from 'ccjk';
|
|
1172
|
-
|
|
1173
|
-
// Get all tools
|
|
1174
|
-
const registry = getRegistry();
|
|
1175
|
-
const allTools = registry.getAllTools();
|
|
1176
|
-
|
|
1177
|
-
// Check which tools are installed
|
|
1178
|
-
for (const tool of allTools) {
|
|
1179
|
-
const status = await tool.isInstalled();
|
|
1180
|
-
const metadata = tool.getMetadata();
|
|
1181
|
-
console.log(`${metadata.displayName}: ${status.installed ? '✅' : '❌'}`);
|
|
1182
|
-
}
|
|
1183
|
-
|
|
1184
|
-
// Use the best available tool
|
|
1185
|
-
const preferredTools = ['claude-code', 'cursor', 'aider'];
|
|
1186
|
-
let selectedTool;
|
|
1187
|
-
|
|
1188
|
-
for (const toolName of preferredTools) {
|
|
1189
|
-
const tool = createTool(toolName);
|
|
1190
|
-
const status = await tool.isInstalled();
|
|
1191
|
-
if (status.installed) {
|
|
1192
|
-
selectedTool = tool;
|
|
1193
|
-
break;
|
|
1194
|
-
}
|
|
1195
|
-
}
|
|
1196
|
-
|
|
1197
|
-
if (selectedTool) {
|
|
1198
|
-
console.log(`Using: ${selectedTool.getMetadata().displayName}`);
|
|
1199
|
-
}
|
|
1200
|
-
```
|
|
1201
|
-
|
|
1202
|
-
## Architecture
|
|
1203
|
-
|
|
1204
|
-
```
|
|
1205
|
-
src/code-tools/
|
|
1206
|
-
├── core/
|
|
1207
|
-
│ ├── types.ts # Type definitions
|
|
1208
|
-
│ ├── interfaces.ts # Core interfaces
|
|
1209
|
-
│ ├── base-tool.ts # Abstract base class
|
|
1210
|
-
│ ├── tool-registry.ts # Tool registration
|
|
1211
|
-
│ └── tool-factory.ts # Factory pattern
|
|
1212
|
-
├── adapters/
|
|
1213
|
-
│ ├── claude-code.ts # Claude Code adapter
|
|
1214
|
-
│ ├── codex.ts # Codex adapter
|
|
1215
|
-
│ ├── aider.ts # Aider adapter
|
|
1216
|
-
│ ├── continue.ts # Continue adapter
|
|
1217
|
-
│ ├── cline.ts # Cline adapter
|
|
1218
|
-
│ └── cursor.ts # Cursor adapter
|
|
1219
|
-
└── index.ts # Main entry point
|
|
1220
|
-
```
|
|
1221
|
-
|
|
1222
|
-
## Core Concepts
|
|
1223
|
-
|
|
1224
|
-
### ICodeTool Interface
|
|
1225
|
-
|
|
1226
|
-
All tools implement the `ICodeTool` interface:
|
|
1227
|
-
|
|
1228
|
-
```typescript
|
|
1229
|
-
interface ICodeTool {
|
|
1230
|
-
getMetadata(): ToolMetadata;
|
|
1231
|
-
isInstalled(): Promise<InstallStatus>;
|
|
1232
|
-
install(): Promise<ExecutionResult>;
|
|
1233
|
-
uninstall(): Promise<ExecutionResult>;
|
|
1234
|
-
getConfig(): Promise<ToolConfig>;
|
|
1235
|
-
updateConfig(updates: Partial<ToolConfig>): Promise<void>;
|
|
1236
|
-
configure(config: ToolConfig): Promise<void>;
|
|
1237
|
-
validateConfig(config: Partial<ToolConfig>): Promise<boolean>;
|
|
1238
|
-
execute(command: string, args?: string[]): Promise<ExecutionResult>;
|
|
1239
|
-
getVersion(): Promise<string | undefined>;
|
|
1240
|
-
reset(): Promise<void>;
|
|
1241
|
-
}
|
|
1242
|
-
```
|
|
1243
|
-
|
|
1244
|
-
### BaseCodeTool Class
|
|
1245
|
-
|
|
1246
|
-
The `BaseCodeTool` abstract class provides common functionality:
|
|
1247
|
-
|
|
1248
|
-
- Configuration management (load/save/update)
|
|
1249
|
-
- Command execution
|
|
1250
|
-
- Version parsing
|
|
1251
|
-
- Installation checking
|
|
1252
|
-
- Path resolution
|
|
1253
|
-
|
|
1254
|
-
### Tool Registry
|
|
1255
|
-
|
|
1256
|
-
The registry manages tool instances:
|
|
1257
|
-
|
|
1258
|
-
```typescript
|
|
1259
|
-
const registry = getRegistry();
|
|
1260
|
-
|
|
1261
|
-
// Register a new tool
|
|
1262
|
-
registry.registerToolClass('my-tool', MyToolClass);
|
|
1263
|
-
|
|
1264
|
-
// Get a tool
|
|
1265
|
-
const tool = registry.getTool('my-tool');
|
|
1266
|
-
|
|
1267
|
-
// Get all tool names
|
|
1268
|
-
const names = registry.getToolNames();
|
|
1269
|
-
```
|
|
1270
|
-
|
|
1271
|
-
### Tool Factory
|
|
1272
|
-
|
|
1273
|
-
The factory creates tool instances:
|
|
1274
|
-
|
|
1275
|
-
```typescript
|
|
1276
|
-
const factory = new ToolFactory();
|
|
1277
|
-
|
|
1278
|
-
// Create a single tool
|
|
1279
|
-
const tool = factory.createTool('claude-code');
|
|
1280
|
-
|
|
1281
|
-
// Create multiple tools
|
|
1282
|
-
const tools = factory.createTools(['aider', 'cursor']);
|
|
1283
|
-
|
|
1284
|
-
// Create all registered tools
|
|
1285
|
-
const allTools = factory.createAllTools();
|
|
1286
|
-
```
|
|
1287
|
-
|
|
1288
|
-
## Adding a New Tool
|
|
1289
|
-
|
|
1290
|
-
Adding a new tool takes less than 5 minutes:
|
|
1291
|
-
|
|
1292
|
-
1. Create a new adapter file:
|
|
1293
|
-
|
|
1294
|
-
```typescript
|
|
1295
|
-
// src/code-tools/adapters/my-tool.ts
|
|
1296
|
-
import { BaseCodeTool } from '../core/base-tool';
|
|
1297
|
-
import { ToolMetadata } from '../core/types';
|
|
1298
|
-
|
|
1299
|
-
export class MyTool extends BaseCodeTool {
|
|
1300
|
-
getMetadata(): ToolMetadata {
|
|
1301
|
-
return {
|
|
1302
|
-
name: 'my-tool',
|
|
1303
|
-
displayName: 'My Tool',
|
|
1304
|
-
description: 'My awesome tool',
|
|
1305
|
-
version: '1.0.0',
|
|
1306
|
-
capabilities: {
|
|
1307
|
-
supportsChat: true,
|
|
1308
|
-
supportsFileEdit: true,
|
|
1309
|
-
supportsCodeGen: true,
|
|
1310
|
-
supportsReview: false,
|
|
1311
|
-
supportsTesting: false,
|
|
1312
|
-
supportsDebugging: false,
|
|
1313
|
-
},
|
|
1314
|
-
};
|
|
1315
|
-
}
|
|
1316
|
-
|
|
1317
|
-
protected getInstallCheckCommand(): string {
|
|
1318
|
-
return 'my-tool --version';
|
|
1319
|
-
}
|
|
1320
|
-
|
|
1321
|
-
protected getInstallCommand(): string {
|
|
1322
|
-
return 'npm install -g my-tool';
|
|
1323
|
-
}
|
|
1324
|
-
|
|
1325
|
-
protected getUninstallCommand(): string {
|
|
1326
|
-
return 'npm uninstall -g my-tool';
|
|
1327
|
-
}
|
|
1328
|
-
}
|
|
1329
|
-
```
|
|
1330
|
-
|
|
1331
|
-
2. Register the tool in `src/code-tools/index.ts`:
|
|
1332
|
-
|
|
1333
|
-
```typescript
|
|
1334
|
-
import { MyTool } from './adapters/my-tool';
|
|
1335
|
-
|
|
1336
|
-
registry.registerToolClass('my-tool', MyTool);
|
|
1337
|
-
```
|
|
1338
|
-
|
|
1339
|
-
3. Export from adapters:
|
|
1340
|
-
|
|
1341
|
-
```typescript
|
|
1342
|
-
// src/code-tools/adapters/index.ts
|
|
1343
|
-
export * from './my-tool';
|
|
1344
|
-
```
|
|
1345
|
-
|
|
1346
|
-
That's it! Your tool is now available via `createTool('my-tool')`.
|
|
1347
|
-
|
|
1348
|
-
## Testing
|
|
1349
|
-
|
|
1350
|
-
```bash
|
|
1351
|
-
# Run all tests
|
|
1352
|
-
npm test
|
|
1353
|
-
|
|
1354
|
-
# Run with coverage
|
|
1355
|
-
npm test -- --coverage
|
|
1356
|
-
|
|
1357
|
-
# Run specific test file
|
|
1358
|
-
npm test base-tool.test.ts
|
|
1359
|
-
```
|
|
1360
|
-
|
|
1361
|
-
## API Reference
|
|
1362
|
-
|
|
1363
|
-
### Types
|
|
1364
|
-
|
|
1365
|
-
#### ToolConfig
|
|
1366
|
-
```typescript
|
|
1367
|
-
interface ToolConfig {
|
|
1368
|
-
name: string;
|
|
1369
|
-
version?: string;
|
|
1370
|
-
installPath?: string;
|
|
1371
|
-
apiKey?: string;
|
|
1372
|
-
model?: string;
|
|
1373
|
-
settings?: Record<string, any>;
|
|
1374
|
-
env?: Record<string, string>;
|
|
1375
|
-
}
|
|
1376
|
-
```
|
|
1377
|
-
|
|
1378
|
-
#### InstallStatus
|
|
1379
|
-
```typescript
|
|
1380
|
-
interface InstallStatus {
|
|
1381
|
-
installed: boolean;
|
|
1382
|
-
path?: string;
|
|
1383
|
-
version?: string;
|
|
1384
|
-
error?: string;
|
|
1385
|
-
}
|
|
1386
|
-
```
|
|
1387
|
-
|
|
1388
|
-
#### ExecutionResult
|
|
1389
|
-
```typescript
|
|
1390
|
-
interface ExecutionResult {
|
|
1391
|
-
success: boolean;
|
|
1392
|
-
output?: string;
|
|
1393
|
-
error?: string;
|
|
1394
|
-
exitCode?: number;
|
|
1395
|
-
}
|
|
1396
|
-
```
|
|
1397
|
-
|
|
1398
|
-
#### ToolCapabilities
|
|
1399
|
-
```typescript
|
|
1400
|
-
interface ToolCapabilities {
|
|
1401
|
-
supportsChat: boolean;
|
|
1402
|
-
supportsFileEdit: boolean;
|
|
1403
|
-
supportsCodeGen: boolean;
|
|
1404
|
-
supportsReview: boolean;
|
|
1405
|
-
supportsTesting: boolean;
|
|
1406
|
-
supportsDebugging: boolean;
|
|
1407
|
-
custom?: Record<string, boolean>;
|
|
1408
|
-
}
|
|
1409
|
-
```
|
|
1410
|
-
|
|
1411
|
-
### Interfaces
|
|
1412
|
-
|
|
1413
|
-
- `ICodeTool` - Base interface for all tools
|
|
1414
|
-
- `IChatTool` - Interface for chat-capable tools
|
|
1415
|
-
- `IFileEditTool` - Interface for file editing tools
|
|
1416
|
-
- `ICodeGenTool` - Interface for code generation tools
|
|
1417
|
-
|
|
1418
|
-
## Benefits
|
|
1419
|
-
|
|
1420
|
-
### Before (Without Abstraction)
|
|
1421
|
-
|
|
1422
|
-
```typescript
|
|
1423
|
-
// Different APIs for each tool
|
|
1424
|
-
const claudeStatus = await checkClaudeInstalled();
|
|
1425
|
-
const aiderStatus = await isAiderInstalled();
|
|
1426
|
-
const cursorStatus = await cursorInstallCheck();
|
|
1427
|
-
|
|
1428
|
-
// Different configuration methods
|
|
1429
|
-
await configureClaudeCode({ apiKey: 'key' });
|
|
1430
|
-
await setAiderConfig({ token: 'key' });
|
|
1431
|
-
await cursorSetup({ auth: 'key' });
|
|
1432
|
-
|
|
1433
|
-
// Different execution patterns
|
|
1434
|
-
await claudeChat('prompt');
|
|
1435
|
-
await aiderMessage('prompt');
|
|
1436
|
-
await cursorAsk('prompt');
|
|
1437
|
-
```
|
|
1438
|
-
|
|
1439
|
-
### After (With Abstraction)
|
|
1440
|
-
|
|
1441
|
-
```typescript
|
|
1442
|
-
// Unified API for all tools
|
|
1443
|
-
const tools = ['claude-code', 'aider', 'cursor'].map(createTool);
|
|
1444
|
-
|
|
1445
|
-
// Same interface for all
|
|
1446
|
-
for (const tool of tools) {
|
|
1447
|
-
const status = await tool.isInstalled();
|
|
1448
|
-
await tool.configure({ apiKey: 'key' });
|
|
1449
|
-
await tool.execute('chat', ['prompt']);
|
|
1450
|
-
}
|
|
1451
|
-
```
|
|
1452
|
-
|
|
1453
|
-
### Code Reduction
|
|
1454
|
-
|
|
1455
|
-
- **Before**: ~500 lines of duplicate code across 6 tools
|
|
1456
|
-
- **After**: ~200 lines in base class + ~50 lines per adapter
|
|
1457
|
-
- **Savings**: ~300 lines (60% reduction)
|
|
1458
|
-
|
|
1459
|
-
## License
|
|
1460
|
-
|
|
1461
|
-
MIT
|
|
1462
|
-
|
|
1463
|
-
## Contributing
|
|
1464
|
-
|
|
1465
|
-
Contributions are welcome! Please read our contributing guidelines before submitting PRs.
|
|
1466
|
-
|
|
1467
|
-
## Support
|
|
1468
|
-
|
|
1469
|
-
For issues and questions, please open an issue on GitHub.
|