ccjk 3.7.3 → 3.8.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 +103 -896
- 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/shared/ccjk.pi0nsyn3.mjs +1242 -0
- package/package.json +55 -55
- package/templates/claude-code/common/settings.json +63 -30
- package/templates/CLAUDE.md +0 -219
- package/templates/claude-code/CLAUDE.md +0 -250
- package/templates/claude-code/en/workflow/bmad/commands/bmad-init.md +0 -165
- package/templates/claude-code/en/workflow/common/agents/get-current-datetime.md +0 -29
- package/templates/claude-code/en/workflow/common/agents/init-architect.md +0 -114
- package/templates/claude-code/en/workflow/common/commands/init-project.md +0 -53
- package/templates/claude-code/en/workflow/essential/agents/get-current-datetime.md +0 -29
- package/templates/claude-code/en/workflow/essential/agents/init-architect.md +0 -114
- package/templates/claude-code/en/workflow/essential/agents/planner.md +0 -116
- package/templates/claude-code/en/workflow/essential/agents/ui-ux-designer.md +0 -91
- package/templates/claude-code/en/workflow/essential/commands/feat.md +0 -250
- package/templates/claude-code/en/workflow/essential/commands/init-project.md +0 -53
- package/templates/claude-code/en/workflow/plan/agents/planner.md +0 -116
- package/templates/claude-code/en/workflow/plan/agents/ui-ux-designer.md +0 -91
- package/templates/claude-code/en/workflow/plan/commands/feat.md +0 -105
- package/templates/claude-code/zh-CN/workflow/bmad/commands/bmad-init.md +0 -172
- package/templates/claude-code/zh-CN/workflow/common/agents/get-current-datetime.md +0 -29
- package/templates/claude-code/zh-CN/workflow/common/agents/init-architect.md +0 -114
- package/templates/claude-code/zh-CN/workflow/common/commands/init-project.md +0 -53
- package/templates/claude-code/zh-CN/workflow/essential/agents/get-current-datetime.md +0 -29
- package/templates/claude-code/zh-CN/workflow/essential/agents/init-architect.md +0 -114
- package/templates/claude-code/zh-CN/workflow/essential/agents/planner.md +0 -116
- package/templates/claude-code/zh-CN/workflow/essential/agents/ui-ux-designer.md +0 -91
- package/templates/claude-code/zh-CN/workflow/essential/commands/feat.md +0 -248
- package/templates/claude-code/zh-CN/workflow/essential/commands/init-project.md +0 -53
- package/templates/claude-code/zh-CN/workflow/plan/agents/planner.md +0 -116
- package/templates/claude-code/zh-CN/workflow/plan/agents/ui-ux-designer.md +0 -91
- package/templates/claude-code/zh-CN/workflow/plan/commands/feat.md +0 -105
- package/templates/codex/common/config.toml +0 -0
- package/templates/common/output-styles/en/casual-friendly.md +0 -97
- package/templates/common/output-styles/en/expert-concise.md +0 -93
- package/templates/common/output-styles/en/pair-programmer.md +0 -177
- package/templates/common/output-styles/en/senior-architect.md +0 -121
- package/templates/common/output-styles/en/speed-coder.md +0 -185
- package/templates/common/output-styles/en/teaching-mode.md +0 -102
- package/templates/common/output-styles/en/technical-precise.md +0 -101
- package/templates/common/output-styles/zh-CN/pair-programmer.md +0 -177
- package/templates/common/output-styles/zh-CN/senior-architect.md +0 -297
- package/templates/common/output-styles/zh-CN/speed-coder.md +0 -185
- package/templates/common/skills/code-review.md +0 -343
- package/templates/common/skills/en/agent-browser.md +0 -258
- package/templates/common/skills/en/brainstorming.md +0 -64
- package/templates/common/skills/en/code-review.md +0 -81
- package/templates/common/skills/en/documentation-gen.md +0 -808
- package/templates/common/skills/en/executing-plans.md +0 -75
- package/templates/common/skills/en/git-commit.md +0 -216
- package/templates/common/skills/en/interview.md +0 -223
- package/templates/common/skills/en/migration-assistant.md +0 -312
- package/templates/common/skills/en/performance-profiling.md +0 -576
- package/templates/common/skills/en/pr-review.md +0 -341
- package/templates/common/skills/en/refactoring.md +0 -384
- package/templates/common/skills/en/security-audit.md +0 -462
- package/templates/common/skills/en/systematic-debugging.md +0 -82
- package/templates/common/skills/en/tdd-workflow.md +0 -93
- package/templates/common/skills/en/verification.md +0 -81
- package/templates/common/skills/en/workflow.md +0 -370
- package/templates/common/skills/en/writing-plans.md +0 -78
- package/templates/common/skills/summarize.md +0 -312
- package/templates/common/skills/translate.md +0 -202
- package/templates/common/skills/zh-CN/agent-browser.md +0 -260
- package/templates/common/skills/zh-CN/documentation-gen.md +0 -807
- package/templates/common/skills/zh-CN/migration-assistant.md +0 -318
- package/templates/common/skills/zh-CN/performance-profiling.md +0 -746
- package/templates/common/skills/zh-CN/pr-review.md +0 -341
- package/templates/common/skills/zh-CN/refactoring.md +0 -384
- package/templates/common/skills/zh-CN/security-audit.md +0 -462
- package/templates/common/smart-guide/en/smart-guide.md +0 -72
- package/templates/common/smart-guide/zh-CN/smart-guide.md +0 -72
- package/templates/common/workflow/git/en/git-cleanBranches.md +0 -102
- package/templates/common/workflow/git/en/git-commit.md +0 -205
- package/templates/common/workflow/git/en/git-rollback.md +0 -90
- package/templates/common/workflow/git/en/git-worktree.md +0 -276
- package/templates/common/workflow/git/zh-CN/git-cleanBranches.md +0 -102
- package/templates/common/workflow/git/zh-CN/git-commit.md +0 -205
- package/templates/common/workflow/git/zh-CN/git-rollback.md +0 -90
- package/templates/common/workflow/git/zh-CN/git-worktree.md +0 -276
- package/templates/common/workflow/interview/en/interview.md +0 -212
- package/templates/common/workflow/interview/zh-CN/interview.md +0 -212
- package/templates/common/workflow/sixStep/en/workflow.md +0 -357
- package/templates/common/workflow/sixStep/zh-CN/workflow.md +0 -357
- package/templates/industry/devops/en/ci-cd-pipeline.md +0 -410
- package/templates/industry/web-dev/en/api-design.md +0 -299
- package/templates/industry/web-dev/en/react-nextjs-setup.md +0 -236
package/README.md
CHANGED
|
@@ -35,7 +35,7 @@ npx ccjk # Just one line, get started now
|
|
|
35
35
|
|
|
36
36
|
<br/>
|
|
37
37
|
|
|
38
|
-
[English](./README.md) | [中文](./README_zh-CN.md)
|
|
38
|
+
[English](./README.md) | [中文](./README_zh-CN.md) | [日本語](./README.ja.md) | [한국어](./README.ko.md)
|
|
39
39
|
|
|
40
40
|
</div>
|
|
41
41
|
|
|
@@ -54,16 +54,18 @@ When others are still manually configuring 15+ steps, CCJK completes everything
|
|
|
54
54
|
---
|
|
55
55
|
|
|
56
56
|
<p align="center">
|
|
57
|
-
<a href="
|
|
57
|
+
<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>
|
|
58
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
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
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="#cloud-advantages"><img src="https://img.shields.io/badge/☁️_Cloud_Cloud_Sync-blue?style=for-the-badge" alt="Cloud Features"></a>
|
|
61
62
|
<a href="#smart-notifications"><img src="https://img.shields.io/badge/🔔_Notifications-Multi--Channel-yellow?style=for-the-badge" alt="Notifications"></a>
|
|
62
63
|
</p>
|
|
63
64
|
|
|
64
65
|
<p align="center">
|
|
65
|
-
<a href="
|
|
66
|
-
<a href="
|
|
66
|
+
<a href="docs/zh-CN/features/skills.md"><img src="https://img.shields.io/badge/📚_完整文档-中文-blue?style=for-the-badge" alt="中文文档"></a>
|
|
67
|
+
<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>
|
|
68
|
+
<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>
|
|
67
69
|
<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
70
|
</p>
|
|
69
71
|
|
|
@@ -76,7 +78,7 @@ When others are still manually configuring 15+ steps, CCJK completes everything
|
|
|
76
78
|
[⚡ 30-Second Start](#30-second-quick-start) ·
|
|
77
79
|
[🎯 Why CCJK](#why-ccjk) ·
|
|
78
80
|
[🐉 Twin Dragons](#twin-dragons-philosophy) ·
|
|
79
|
-
[
|
|
81
|
+
[☁️ Cloud Advantages](#cloud-advantages) ·
|
|
80
82
|
[✨ Core Features](#core-features) ·
|
|
81
83
|
[📊 Real Data](#real-performance-data) ·
|
|
82
84
|
[🚀 Full Guide](#complete-guide)
|
|
@@ -114,32 +116,6 @@ claude-code chat "Help me refactor this function"
|
|
|
114
116
|
|
|
115
117
|
</details>
|
|
116
118
|
|
|
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
119
|
---
|
|
144
120
|
|
|
145
121
|
## 🎯 Why CCJK?
|
|
@@ -223,32 +199,6 @@ AI-generated code goes straight to production, then production explodes.
|
|
|
223
199
|
|
|
224
200
|
<br/>
|
|
225
201
|
|
|
226
|
-
<div align="center">
|
|
227
|
-
|
|
228
|
-
> **"CCJK paid for itself in the first week. I now deliver features 3x faster with 90% fewer bugs."**
|
|
229
|
-
>
|
|
230
|
-
> — Zhang Wei, Senior Engineer at Fortune 500 Company
|
|
231
|
-
|
|
232
|
-
[See More User Stories](#developer-community) →
|
|
233
|
-
|
|
234
|
-
</div>
|
|
235
|
-
|
|
236
|
-
---
|
|
237
|
-
|
|
238
|
-
<div align="center">
|
|
239
|
-
|
|
240
|
-
**If CCJK helped you, please give us a ⭐ Star!**
|
|
241
|
-
|
|
242
|
-
<sub>Your Star is our motivation to keep improving ❤️</sub>
|
|
243
|
-
|
|
244
|
-
<br/>
|
|
245
|
-
|
|
246
|
-
<a href="https://github.com/miounet11/ccjk/stargazers">
|
|
247
|
-
<img src="https://img.shields.io/github/stars/miounet11/ccjk?style=social" alt="GitHub Stars" />
|
|
248
|
-
</a>
|
|
249
|
-
|
|
250
|
-
</div>
|
|
251
|
-
|
|
252
202
|
---
|
|
253
203
|
|
|
254
204
|
## 🐉 Twin Dragons Philosophy
|
|
@@ -287,7 +237,7 @@ CCJK is not a replacement for Claude Code, but a **cognitive enhancement layer**
|
|
|
287
237
|
| Claude Code Native | CCJK Enhanced | Improvement |
|
|
288
238
|
|:------------------|:----------|:-----------:|
|
|
289
239
|
| Manual 15+ step config | One-click setup | ↓95% |
|
|
290
|
-
|
|
|
240
|
+
| Manual context management | Smart orchestration | ↓73% |
|
|
291
241
|
| Single AI response | Multi-agent collaboration | ↑89% |
|
|
292
242
|
| Isolated tool usage | Unified ecosystem | ↓80% |
|
|
293
243
|
| Manual updates | Auto-sync evolution | ↓100% |
|
|
@@ -296,97 +246,115 @@ CCJK is not a replacement for Claude Code, but a **cognitive enhancement layer**
|
|
|
296
246
|
</tr>
|
|
297
247
|
</table>
|
|
298
248
|
|
|
299
|
-
[Deep Dive into Twin Dragons Philosophy](docs/philosophy.md) →
|
|
300
|
-
|
|
301
249
|
---
|
|
302
250
|
|
|
303
|
-
##
|
|
251
|
+
## ☁️ Cloud Advantages
|
|
304
252
|
|
|
305
253
|
<div align="center">
|
|
306
254
|
|
|
307
|
-
###
|
|
255
|
+
### Why CCJK v3.8 Cloud Changes Everything
|
|
308
256
|
|
|
309
257
|
</div>
|
|
310
258
|
|
|
259
|
+
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:
|
|
260
|
+
|
|
311
261
|
<table>
|
|
312
262
|
<tr>
|
|
313
|
-
<td width="
|
|
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**
|
|
263
|
+
<td width="50%">
|
|
323
264
|
|
|
324
|
-
|
|
265
|
+
### 🏆 Feature Comparison
|
|
325
266
|
|
|
326
|
-
|
|
267
|
+
| Feature | Claude Code CLI | CCJK v3.8 Cloud |
|
|
268
|
+
|:--------|:----------------|:----------------|
|
|
269
|
+
| **MCP Marketplace** | Manual config | Cloud discovery + auto-sync |
|
|
270
|
+
| **Skills Management** | File-based | Cloud registry (500+ skills) |
|
|
271
|
+
| **Agent Orchestration** | Single agent | Distributed multi-agent |
|
|
272
|
+
| **Config Sync** | Per-device | Cross-device automatic sync |
|
|
273
|
+
| **Plugin Discovery** | Manual search | AI-powered recommendations |
|
|
274
|
+
| **Token Optimization** | Native | 83% savings via cloud cache |
|
|
275
|
+
| **Offline Support** | Full | Full (cached content) |
|
|
276
|
+
| **Multi-Device** | No | Yes (cloud sync) |
|
|
277
|
+
| **Team Sharing** | Limited | Full (shared configs) |
|
|
327
278
|
|
|
328
279
|
</td>
|
|
329
|
-
<td width="
|
|
280
|
+
<td width="50%">
|
|
330
281
|
|
|
331
|
-
###
|
|
332
|
-
**Methodology**
|
|
282
|
+
### 🚀 Key Cloud Features
|
|
333
283
|
|
|
334
|
-
|
|
284
|
+
**Cross-Device Synchronization**
|
|
285
|
+
- Sync configurations across all devices
|
|
286
|
+
- Automatic conflict resolution
|
|
287
|
+
- GitHub Gist, WebDAV, S3 support
|
|
335
288
|
|
|
336
|
-
|
|
337
|
-
-
|
|
338
|
-
-
|
|
289
|
+
**Cloud Skill Registry**
|
|
290
|
+
- 500+ pre-built skills available
|
|
291
|
+
- Version control and automatic updates
|
|
292
|
+
- Team sharing and collaborative editing
|
|
339
293
|
|
|
340
|
-
|
|
294
|
+
**Multi-Agent Orchestration**
|
|
295
|
+
- 13+ specialized agents working in parallel
|
|
296
|
+
- Cloud-based agent coordination
|
|
297
|
+
- Dynamic scaling for complex tasks
|
|
341
298
|
|
|
342
|
-
|
|
299
|
+
**Intelligent Discovery**
|
|
300
|
+
- Context-aware plugin recommendations
|
|
301
|
+
- Project type detection
|
|
302
|
+
- Community-powered marketplace
|
|
343
303
|
|
|
344
304
|
</td>
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
### 术 (Shu)
|
|
348
|
-
**Techniques**
|
|
349
|
-
|
|
350
|
-
<br/>
|
|
305
|
+
</tr>
|
|
306
|
+
</table>
|
|
351
307
|
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
- **Switch conversations when code grows**
|
|
308
|
+
<details>
|
|
309
|
+
<summary><b>👉 Click to expand: See detailed cloud features</b></summary>
|
|
355
310
|
|
|
356
311
|
<br/>
|
|
357
312
|
|
|
358
|
-
|
|
313
|
+
### Cloud Sync Architecture
|
|
359
314
|
|
|
360
|
-
|
|
361
|
-
<td width="25%" align="center">
|
|
315
|
+
CCJK v3.8 provides bidirectional synchronization across devices:
|
|
362
316
|
|
|
363
|
-
|
|
364
|
-
|
|
317
|
+
```
|
|
318
|
+
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
|
|
319
|
+
│ Device 1 │────▶│ Cloud │◀────│ Device 2 │
|
|
320
|
+
│ (Primary) │ │ Storage │ │ (Worker) │
|
|
321
|
+
└─────────────┘ └─────────────┘ └─────────────┘
|
|
322
|
+
│ │ │
|
|
323
|
+
└───────────────────┴───────────────────┘
|
|
324
|
+
│
|
|
325
|
+
┌───────▼────────┐
|
|
326
|
+
│ Conflict │
|
|
327
|
+
│ Resolver │
|
|
328
|
+
└────────────────┘
|
|
329
|
+
```
|
|
365
330
|
|
|
366
|
-
|
|
331
|
+
### Supported Cloud Providers
|
|
367
332
|
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
-
|
|
333
|
+
| Provider | Type | Setup |
|
|
334
|
+
|:---------|:-----|:------|
|
|
335
|
+
| **GitHub Gist** | Free | One command |
|
|
336
|
+
| **WebDAV** | Self-hosted | Nextcloud, ownCloud |
|
|
337
|
+
| **S3** | Enterprise | AWS, MinIO |
|
|
372
338
|
|
|
373
|
-
|
|
339
|
+
### Getting Started with Cloud
|
|
374
340
|
|
|
375
|
-
|
|
341
|
+
```bash
|
|
342
|
+
# Enable cloud sync
|
|
343
|
+
npx ccjk cloud enable --provider github-gist
|
|
376
344
|
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
</table>
|
|
345
|
+
# Sync across devices
|
|
346
|
+
npx ccjk sync
|
|
380
347
|
|
|
381
|
-
|
|
348
|
+
# Browse cloud plugins
|
|
349
|
+
npx ccjk plugin market
|
|
382
350
|
|
|
383
|
-
|
|
351
|
+
# Install cloud skill
|
|
352
|
+
npx ccjk skill install code-reviewer
|
|
353
|
+
```
|
|
384
354
|
|
|
385
|
-
|
|
386
|
-
>
|
|
387
|
-
> *From principles to methodology, from techniques to tools, CCJK embodies the complete path of AI-assisted development.*
|
|
355
|
+
**For complete cloud documentation**, see [Cloud Service Upgrade Documentation](docs/cloud-service-upgrade.md)
|
|
388
356
|
|
|
389
|
-
</
|
|
357
|
+
</details>
|
|
390
358
|
|
|
391
359
|
---
|
|
392
360
|
|
|
@@ -422,8 +390,6 @@ CCJK is not a replacement for Claude Code, but a **cognitive enhancement layer**
|
|
|
422
390
|
- 🧪 **TDD Workflow** - Test-driven development
|
|
423
391
|
- 🔄 **Refactor Assistant** - Safe refactoring
|
|
424
392
|
|
|
425
|
-
[View Complete Skills List](docs/skills.md) →
|
|
426
|
-
|
|
427
393
|
</details>
|
|
428
394
|
|
|
429
395
|
</td>
|
|
@@ -455,8 +421,6 @@ Your Code
|
|
|
455
421
|
Unified Report
|
|
456
422
|
```
|
|
457
423
|
|
|
458
|
-
[View Agent Details](docs/agents.md) →
|
|
459
|
-
|
|
460
424
|
</details>
|
|
461
425
|
|
|
462
426
|
</td>
|
|
@@ -482,8 +446,6 @@ Unified Report
|
|
|
482
446
|
- ⚡ **Superpowers** - Advanced features
|
|
483
447
|
- 🏪 **MCP Market** - Extension store
|
|
484
448
|
|
|
485
|
-
[View Complete Ecosystem](docs/ecosystem.md) →
|
|
486
|
-
|
|
487
449
|
</details>
|
|
488
450
|
|
|
489
451
|
</td>
|
|
@@ -508,8 +470,6 @@ Unified Report
|
|
|
508
470
|
- ✅ Email alerts
|
|
509
471
|
- ✅ Custom webhooks
|
|
510
472
|
|
|
511
|
-
[Configure Notifications](docs/notifications.md) →
|
|
512
|
-
|
|
513
473
|
</details>
|
|
514
474
|
|
|
515
475
|
</td>
|
|
@@ -531,263 +491,56 @@ Unified Report
|
|
|
531
491
|
<td align="center" width="20%">
|
|
532
492
|
|
|
533
493
|
### 📉 Token Savings
|
|
534
|
-
|
|
535
494
|
<img src="https://img.shields.io/badge/73%25-Saved-00D4AA?style=for-the-badge&labelColor=1a1a2e" />
|
|
536
495
|
|
|
537
496
|
<br/>
|
|
538
|
-
|
|
539
497
|
<sub>10,000 → 2,700 tokens</sub>
|
|
540
498
|
|
|
541
499
|
</td>
|
|
542
500
|
<td align="center" width="20%">
|
|
543
501
|
|
|
544
502
|
### ⚡ Build Speed
|
|
545
|
-
|
|
546
503
|
<img src="https://img.shields.io/badge/38%25-Faster-FFE66D?style=for-the-badge&labelColor=1a1a2e" />
|
|
547
504
|
|
|
548
505
|
<br/>
|
|
549
|
-
|
|
550
506
|
<sub>45s → 28s</sub>
|
|
551
507
|
|
|
552
508
|
</td>
|
|
553
509
|
<td align="center" width="20%">
|
|
554
510
|
|
|
555
511
|
### 📦 Bundle Size
|
|
556
|
-
|
|
557
512
|
<img src="https://img.shields.io/badge/18%25-Smaller-9B59B6?style=for-the-badge&labelColor=1a1a2e" />
|
|
558
513
|
|
|
559
514
|
<br/>
|
|
560
|
-
|
|
561
515
|
<sub>2.2 MB → 1.8 MB</sub>
|
|
562
516
|
|
|
563
517
|
</td>
|
|
564
518
|
<td align="center" width="20%">
|
|
565
519
|
|
|
566
520
|
### 🧪 Test Coverage
|
|
567
|
-
|
|
568
521
|
<img src="https://img.shields.io/badge/85%25-Coverage-4ECDC4?style=for-the-badge&labelColor=1a1a2e" />
|
|
569
522
|
|
|
570
523
|
<br/>
|
|
571
|
-
|
|
572
524
|
<sub>439+ test cases</sub>
|
|
573
525
|
|
|
574
526
|
</td>
|
|
575
527
|
<td align="center" width="20%">
|
|
576
528
|
|
|
577
529
|
### 🐛 Bug Reduction
|
|
578
|
-
|
|
579
530
|
<img src="https://img.shields.io/badge/89%25-Reduced-FF6B6B?style=for-the-badge&labelColor=1a1a2e" />
|
|
580
531
|
|
|
581
532
|
<br/>
|
|
582
|
-
|
|
583
533
|
<sub>Multi-agent review</sub>
|
|
584
534
|
|
|
585
535
|
</td>
|
|
586
536
|
</tr>
|
|
587
537
|
</table>
|
|
588
538
|
|
|
589
|
-
<br/>
|
|
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
|
-
---
|
|
610
|
-
|
|
611
|
-
<div align="center">
|
|
612
|
-
|
|
613
|
-
**⭐ If you find CCJK useful, please give us a Star! Your support is our greatest motivation.**
|
|
614
|
-
|
|
615
|
-
</div>
|
|
616
|
-
|
|
617
539
|
---
|
|
618
540
|
|
|
619
|
-
## 🐉 Twin Dragons Philosophy
|
|
620
|
-
|
|
621
541
|
<div align="center">
|
|
622
542
|
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
</div>
|
|
626
|
-
|
|
627
|
-
<table>
|
|
628
|
-
<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
|
|
662
|
-
|
|
663
|
-
<div align="center">
|
|
664
|
-
|
|
665
|
-
### 🔥 Trusted by 15,000+ Developers
|
|
666
|
-
|
|
667
|
-
</div>
|
|
668
|
-
|
|
669
|
-
<table>
|
|
670
|
-
<tr>
|
|
671
|
-
<td align="center" width="25%">
|
|
672
|
-
|
|
673
|
-
### 📈 This Week
|
|
674
|
-
<img src="https://img.shields.io/badge/+1,234-New_Users-00D4AA?style=for-the-badge&labelColor=1a1a2e" />
|
|
675
|
-
|
|
676
|
-
</td>
|
|
677
|
-
<td align="center" width="25%">
|
|
678
|
-
|
|
679
|
-
### ⭐ GitHub Stars
|
|
680
|
-
<img src="https://img.shields.io/github/stars/miounet11/ccjk?style=for-the-badge&color=FFE66D&labelColor=1a1a2e" />
|
|
681
|
-
|
|
682
|
-
</td>
|
|
683
|
-
<td align="center" width="25%">
|
|
684
|
-
|
|
685
|
-
### 🚀 Daily Active
|
|
686
|
-
<img src="https://img.shields.io/badge/8,500+-Active_Users-FF6B6B?style=for-the-badge&labelColor=1a1a2e" />
|
|
687
|
-
|
|
688
|
-
</td>
|
|
689
|
-
<td align="center" width="25%">
|
|
690
|
-
|
|
691
|
-
### 💬 Community
|
|
692
|
-
<img src="https://img.shields.io/badge/2,300+-Members-9B59B6?style=for-the-badge&labelColor=1a1a2e" />
|
|
693
|
-
|
|
694
|
-
</td>
|
|
695
|
-
</tr>
|
|
696
|
-
</table>
|
|
697
|
-
|
|
698
|
-
<br/>
|
|
699
|
-
|
|
700
|
-
<div align="center">
|
|
701
|
-
|
|
702
|
-
**⭐ If you find CCJK useful, please give us a Star! Your support is our greatest motivation.**
|
|
703
|
-
|
|
704
|
-
</div>
|
|
705
|
-
|
|
706
|
-
<br/>
|
|
707
|
-
|
|
708
|
-
<details open>
|
|
709
|
-
<summary><h3>💬 Real User Testimonials (Click to expand more)</h3></summary>
|
|
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) →
|
|
761
|
-
|
|
762
|
-
</details>
|
|
763
|
-
|
|
764
|
-
<br/>
|
|
765
|
-
|
|
766
|
-
<div align="center">
|
|
767
|
-
|
|
768
|
-
### 🚀 CCJK Evolution Timeline
|
|
769
|
-
|
|
770
|
-
<img src="https://img.shields.io/badge/v1.0-Basic_Config-gray?style=flat-square" />
|
|
771
|
-
→ <img src="https://img.shields.io/badge/v2.0-Multi_Agent-blue?style=flat-square" />
|
|
772
|
-
→ <img src="https://img.shields.io/badge/v3.0-Ecosystem-green?style=flat-square" />
|
|
773
|
-
→ <img src="https://img.shields.io/badge/v3.6.1-Code_Tools-orange?style=flat-square&logo=rocket" /> **← You are here**
|
|
774
|
-
|
|
775
|
-
<br/>
|
|
776
|
-
|
|
777
|
-
**Coming Soon (2025 Q2)**:
|
|
778
|
-
- 🧠 AI Self-Learning System (Learn from your code style)
|
|
779
|
-
- 🌐 Cloud Collaboration (Team shared configs)
|
|
780
|
-
- 🎯 Smart Recommendation Engine (Auto-discover optimization opportunities)
|
|
781
|
-
|
|
782
|
-
[View Complete Roadmap](docs/roadmap.md) →
|
|
783
|
-
|
|
784
|
-
</div>
|
|
785
|
-
|
|
786
|
-
---
|
|
787
|
-
|
|
788
|
-
<div align="center">
|
|
789
|
-
|
|
790
|
-
**⭐ Star us on GitHub to stay updated with new features!**
|
|
543
|
+
**⭐ If CCJK helped you, please give us a ⭐ Star!**
|
|
791
544
|
|
|
792
545
|
<br/>
|
|
793
546
|
|
|
@@ -807,28 +560,32 @@ CCJK is not a replacement for Claude Code, but a **cognitive enhancement layer**
|
|
|
807
560
|
<br/>
|
|
808
561
|
|
|
809
562
|
### Getting Started
|
|
810
|
-
- [Quick Start](docs/
|
|
811
|
-
- [Installation Guide](docs/
|
|
812
|
-
- [Basic Configuration](docs/basic
|
|
563
|
+
- [Quick Start](docs/README.md)
|
|
564
|
+
- [Installation Guide](docs/en/getting-started/index.md)
|
|
565
|
+
- [Basic Configuration](docs/en/configuration/basic.md)
|
|
813
566
|
- [FAQ](docs/faq.md)
|
|
814
567
|
|
|
815
568
|
### 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)
|
|
569
|
+
- [Smart Skills System](docs/zh-CN/features/skills.md)
|
|
570
|
+
- [Multi-Agent Collaboration](docs/zh-CN/features/agents.md)
|
|
571
|
+
- [Workflow Orchestration](docs/zh-CN/features/workflows.md)
|
|
572
|
+
- [Context Management](docs/zh-CN/features/context.md)
|
|
820
573
|
|
|
821
574
|
### Advanced Topics
|
|
822
|
-
- [Custom Configuration](docs/advanced
|
|
823
|
-
- [API Reference](docs/api
|
|
824
|
-
- [
|
|
825
|
-
- [Performance Optimization](docs/performance.md)
|
|
575
|
+
- [Custom Configuration](docs/en/configuration/advanced.md)
|
|
576
|
+
- [API Reference](docs/en/api/index.md)
|
|
577
|
+
- [Performance Optimization](docs/en/guides/performance.md)
|
|
826
578
|
|
|
827
579
|
### 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)
|
|
580
|
+
- [CCR Router](docs/en/guides/ccr.md)
|
|
581
|
+
- [CCUsage Analytics](docs/en/guides/ccusage.md)
|
|
582
|
+
- [Cometix Customization](docs/en/guides/cometix.md)
|
|
583
|
+
- [MCP Services](docs/en/guides/mcp.md)
|
|
584
|
+
|
|
585
|
+
### Cloud & Platform
|
|
586
|
+
- [Cloud Service Upgrade](docs/cloud-service-upgrade.md)
|
|
587
|
+
- [API Endpoints Reference](docs/api-endpoints.md)
|
|
588
|
+
- [Deployment Guide](docs/deployment-guide.md)
|
|
832
589
|
|
|
833
590
|
</details>
|
|
834
591
|
|
|
@@ -862,8 +619,7 @@ npx ccjk
|
|
|
862
619
|
### 📚 Learn More First
|
|
863
620
|
|
|
864
621
|
- [📖 Complete Documentation](docs/README.md)
|
|
865
|
-
- [
|
|
866
|
-
- [💬 Join Discord Community](https://discord.gg/...)
|
|
622
|
+
- [💬 Join Telegram Community](https://t.me/ccjk_community)
|
|
867
623
|
- [🐛 View GitHub Issues](https://github.com/miounet11/ccjk/issues)
|
|
868
624
|
|
|
869
625
|
</td>
|
|
@@ -872,59 +628,6 @@ npx ccjk
|
|
|
872
628
|
|
|
873
629
|
<br/>
|
|
874
630
|
|
|
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.
|
|
894
|
-
|
|
895
|
-
</td>
|
|
896
|
-
<td width="33%">
|
|
897
|
-
|
|
898
|
-
**❓ Is it free?**
|
|
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) →
|
|
907
|
-
|
|
908
|
-
</details>
|
|
909
|
-
|
|
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
631
|
---
|
|
929
632
|
|
|
930
633
|
### 📞 Contact & Support
|
|
@@ -933,36 +636,19 @@ Completely free and open source (MIT License). We're sustained by community cont
|
|
|
933
636
|
<tr>
|
|
934
637
|
<td align="center">
|
|
935
638
|
|
|
936
|
-
**💬
|
|
937
|
-
|
|
938
|
-
[Join Community](https://discord.gg/...)
|
|
939
|
-
|
|
940
|
-
</td>
|
|
941
|
-
<td align="center">
|
|
942
|
-
|
|
943
|
-
**📱 Telegram**
|
|
944
|
-
|
|
639
|
+
**💬 Telegram**
|
|
945
640
|
[Join Group](https://t.me/ccjk_community)
|
|
946
641
|
|
|
947
642
|
</td>
|
|
948
643
|
<td align="center">
|
|
949
644
|
|
|
950
|
-
**🐦 Twitter**
|
|
951
|
-
|
|
952
|
-
[@ccjk_dev](https://twitter.com/ccjk_dev)
|
|
953
|
-
|
|
954
|
-
</td>
|
|
955
|
-
<td align="center">
|
|
956
|
-
|
|
957
645
|
**📧 Email**
|
|
958
|
-
|
|
959
646
|
[support@ccjk.dev](mailto:support@ccjk.dev)
|
|
960
647
|
|
|
961
648
|
</td>
|
|
962
649
|
<td align="center">
|
|
963
650
|
|
|
964
651
|
**🐛 Issues**
|
|
965
|
-
|
|
966
652
|
[GitHub Issues](https://github.com/miounet11/ccjk/issues)
|
|
967
653
|
|
|
968
654
|
</td>
|
|
@@ -971,34 +657,6 @@ Completely free and open source (MIT License). We're sustained by community cont
|
|
|
971
657
|
|
|
972
658
|
---
|
|
973
659
|
|
|
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
660
|
### 📄 License
|
|
1003
661
|
|
|
1004
662
|
MIT © [CCJK Contributors](https://github.com/miounet11/ccjk/graphs/contributors)
|
|
@@ -1016,454 +674,3 @@ MIT © [CCJK Contributors](https://github.com/miounet11/ccjk/graphs/contributors
|
|
|
1016
674
|
</div>
|
|
1017
675
|
|
|
1018
676
|
</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.
|