ccjk 7.0.0 → 7.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,332 +0,0 @@
1
- # Agent: Version Checker
2
-
3
- > **Purpose**: Check for CCJK and related tool updates
4
- > **Data Source**: npm registry, GitHub releases
5
- > **Cache TTL**: 168 hours (7 days)
6
- > **Run Mode**: Background
7
-
8
- ## 🎯 What This Agent Does
9
-
10
- Monitors CCJK version, related tools (CCR, CCUsage, Cometix), and dependency updates to ensure users have the latest information about available updates.
11
-
12
- ## 📚 Data Sources
13
-
14
- ### Primary Sources
15
- - **NPM Registry**: https://www.npmjs.com/package/ccjk
16
- - **GitHub Releases**: https://github.com/miounet11/ccjk/releases
17
- - **NPM Packages**:
18
- - CCR: https://www.npmjs.com/package/claude-code-router
19
- - CCUsage: https://www.npmjs.com/package/ccusage
20
- - Cometix: https://www.npmjs.com/package/@cometix/client
21
-
22
- ## 🔍 Research Queries
23
-
24
- ### Common Queries
25
- ```typescript
26
- // Check CCJK version
27
- "ccjk latest version"
28
-
29
- // Check for updates
30
- "ccjk updates available"
31
-
32
- // Compare versions
33
- "ccjk 4.0.0 vs 5.0.0"
34
-
35
- // Related tools
36
- "CCR latest version"
37
- "CCUsage latest version"
38
- ```
39
-
40
- ## 📊 Cache Strategy
41
-
42
- ```typescript
43
- const CACHE_CONFIG = {
44
- version: {
45
- ttl: 168 * 60 * 60 * 1000, // 7 days (versions don't change often)
46
- key: (packageName) => `version:${packageName}`
47
- },
48
- releaseNotes: {
49
- ttl: 168 * 60 * 60 * 1000, // 7 days
50
- key: (version) => `releases:${version}`
51
- }
52
- }
53
- ```
54
-
55
- **Rationale**: Version releases are infrequent (weekly/monthly). 7-day cache balance ensures we detect new versions without excessive polling.
56
-
57
- ## 🔄 Workflow
58
-
59
- ```
60
- User Query: "Is there a new version of CCJK?"
61
-
62
- 1. Check Cache
63
-
64
- 2. If Cache Hit (< 7 days old)
65
- → Return cached version info
66
-
67
- 3. If Cache Miss or Expired
68
- → Query npm registry
69
- → Parse version and release notes
70
- → Compare with installed version
71
- → Store in cache
72
- → Return to user
73
- ```
74
-
75
- ## 📋 Output Format
76
-
77
- ```typescript
78
- interface VersionInfo {
79
- packageName: string
80
- currentVersion: string
81
- latestVersion: string
82
- installedVersion?: string
83
- updateAvailable: boolean
84
- releaseNotes?: {
85
- version: string
86
- date: Date
87
- changes: string[]
88
- }
89
- lastChecked: Date
90
- cacheHit: boolean
91
- }
92
-
93
- interface UpdateReport {
94
- ccjk: VersionInfo
95
- relatedTools: {
96
- ccr?: VersionInfo
97
- ccusage?: VersionInfo
98
- cometix?: VersionInfo
99
- }
100
- summary: string
101
- }
102
- ```
103
-
104
- ## 🎯 Key Features
105
-
106
- ### 1. Version Comparison
107
- ```typescript
108
- function compareVersions(installed: string, latest: string): UpdateStatus {
109
- const installedSemver = semver.parse(installed)
110
- const latestSemver = semver.parse(latest)
111
-
112
- if (semver.lt(installedSemver, latestSemver)) {
113
- return 'UPDATE_AVAILABLE'
114
- } else if (semver.eq(installedSemver, latestSemver)) {
115
- return 'UP_TO_DATE'
116
- } else {
117
- return 'PRERELEASE'
118
- }
119
- }
120
- ```
121
-
122
- ### 2. Release Notes Extraction
123
- - Parse GitHub release notes
124
- - Extract changelog
125
- - Highlight breaking changes
126
- - Show new features
127
-
128
- ### 3. Update Recommendations
129
- ```typescript
130
- function recommendUpdate(info: VersionInfo): string {
131
- if (!info.updateAvailable) {
132
- return "✅ You're running the latest version!"
133
- }
134
-
135
- const majorUpdate = semver.diff(info.installedVersion, info.latestVersion) === 'major'
136
- if (majorUpdate) {
137
- return "⚠️ Major update available. Review breaking changes before updating."
138
- }
139
-
140
- return "🔄 Update available. Recommended to install."
141
- }
142
- ```
143
-
144
- ## 🔍 Query Examples
145
-
146
- ### Example 1: Check CCJK Version
147
- ```
148
- User: "What's the latest CCJK version?"
149
-
150
- Agent: version-checker
151
-
152
- Query: "ccjk latest version npm"
153
-
154
- Output:
155
- {
156
- "packageName": "ccjk",
157
- "currentVersion": "5.0.0",
158
- "installedVersion": "4.0.0",
159
- "updateAvailable": true,
160
- "recommendation": "🔄 Update available. New features: Skills system, cloud sync, remote execution",
161
- "releaseNotes": {
162
- "version": "5.0.0",
163
- "date": "2025-01-23",
164
- "changes": [
165
- "✨ Added Skills system with cognitive protocols",
166
- "✨ Added cloud synchronization",
167
- "✨ Added remote task execution",
168
- "🐛 Fixed MCP connection issues",
169
- "📚 Updated documentation"
170
- ]
171
- }
172
- }
173
- ```
174
-
175
- ### Example 2: Full Update Report
176
- ```
177
- User: "Check for all updates"
178
-
179
- Agent: version-checker
180
-
181
- Query: "ccjk ccr ccusage cometix versions"
182
-
183
- Output:
184
- {
185
- "ccjk": {
186
- "updateAvailable": true,
187
- "current": "5.0.0",
188
- "installed": "4.0.0"
189
- },
190
- "ccr": {
191
- "updateAvailable": false,
192
- "current": "1.2.3",
193
- "installed": "1.2.3"
194
- },
195
- "ccusage": {
196
- "updateAvailable": true,
197
- "current": "2.0.0",
198
- "installed": "1.5.0"
199
- },
200
- "cometix": {
201
- "updateAvailable": false,
202
- "current": "3.1.0",
203
- "installed": "3.1.0"
204
- },
205
- "summary": "2 updates available: CCJK (v5.0.0) and CCUsage (v2.0.0)"
206
- }
207
- ```
208
-
209
- ## 🚀 Update Commands
210
-
211
- ### Automatic Update (Recommended)
212
- ```bash
213
- # Update CCJK to latest
214
- npm update -g ccjk
215
-
216
- # Update specific package
217
- npm update -g @miounet11/ccr
218
- ```
219
-
220
- ### Manual Update
221
- ```bash
222
- # Uninstall old version
223
- npm uninstall -g ccjk
224
-
225
- # Install new version
226
- npm install -g ccjk@latest
227
- ```
228
-
229
- ## ⚙️ Configuration
230
-
231
- ```json
232
- {
233
- "agent": "version-checker",
234
- "runMode": "background",
235
- "cache": {
236
- "enabled": true,
237
- "ttl": 604800000
238
- },
239
- "monitoredPackages": [
240
- "ccjk",
241
- "claude-code-router",
242
- "ccusage",
243
- "@cometix/client"
244
- ],
245
- "sources": [
246
- "https://www.npmjs.com",
247
- "https://github.com/miounet11/ccjk/releases"
248
- ]
249
- }
250
- ```
251
-
252
- ## 🚫 Error Handling
253
-
254
- ```typescript
255
- async function checkVersion(packageName: string): Promise<VersionInfo> {
256
- try {
257
- const info = await fetchFromNPM(packageName)
258
- return parseVersionInfo(info)
259
- } catch (error) {
260
- // Fallback to GitHub
261
- try {
262
- const githubInfo = await fetchFromGitHub(packageName)
263
- return parseVersionInfo(githubInfo)
264
- } catch (githubError) {
265
- // Last resort: Check cache
266
- const cached = await getFromCache(`version:${packageName}`)
267
- if (cached) {
268
- return {
269
- ...cached,
270
- source: 'cache (fetch failed, data may be outdated)',
271
- warning: '⚠️ Could not fetch latest version info'
272
- }
273
- }
274
-
275
- throw new Error(`Failed to check version for ${packageName}`)
276
- }
277
- }
278
- }
279
- ```
280
-
281
- ## 🔔 Notification Strategy
282
-
283
- ### When to Notify
284
- - ✅ **New major version**: Always notify
285
- - ✅ **Security updates**: Immediate notification
286
- - ⚠️ **Minor versions**: Weekly digest
287
- - ℹ️ **Patch versions**: Silent update available
288
-
289
- ### Notification Format
290
- ```typescript
291
- interface VersionNotification {
292
- type: 'major' | 'minor' | 'patch' | 'security'
293
- priority: 'high' | 'medium' | 'low'
294
- message: string
295
- actionItems: string[]
296
- }
297
- ```
298
-
299
- ## 📈 Performance Metrics
300
-
301
- - **Average Check Time**: ~0.5 seconds
302
- - **Cache Hit Rate**: Target > 90%
303
- - **Success Rate**: Target > 98%
304
-
305
- ## 🔐 Privacy & Security
306
-
307
- - ✅ No personal data sent
308
- - ✅ Only public registry accessed
309
- - ✅ No tracking of version checks
310
- - ✅ Local storage only
311
-
312
- ## 🔄 Related Agents
313
-
314
- - **doc-researcher**: Gets release documentation
315
- - **npm-researcher**: Detailed package information
316
-
317
- ## 🔗 Related Skills
318
-
319
- - **layer2-best-practices**: Update best practices
320
- - **domain-cloud**: Cloud update notifications
321
-
322
- ## 📚 References
323
-
324
- - [NPM Registry](https://www.npmjs.com/package/ccjk)
325
- - [GitHub Releases](https://github.com/miounet11/ccjk/releases)
326
- - [SemVer Specification](https://semver.org/)
327
-
328
- ---
329
-
330
- **Status**: ✅ Ready for implementation
331
- **Priority**: 🟡 Medium (versions don't change frequently)
332
- **Dependencies**: None (can run independently)
package/hooks/hooks.json DELETED
@@ -1,15 +0,0 @@
1
- {
2
- "hooks": {
3
- "UserPromptSubmit": [
4
- {
5
- "matcher": "(?i)(ccjk|claude code|config|mcp|workflow|api provider|初始化|init|安装|install|配置|不工作|not working|错误|error|失败|fail|E0\\d{3}|CCJK-\\d{3}|setup|配置文件|config\\.json|settings|claude_desktop_config|toml|prompt|output style|工作流|技能|skill|agent|插件|plugin|同步|sync|云服务|cloud|远程|remote|路由|router|代理|proxy|使用量|usage|分析|analytics|状态栏|status line|cometix|ccr|ccusage|检查更新|check update|更新|update|版本|version|卸载|uninstall|切换|switch|诊断|diagnose|调试|debug|问题|problem|怎么|how|如何|why|为什么|what|哪个|which|推荐|recommend|最佳实践|best practice|指南|guide|教程|tutorial|帮助|help|支持|support)",
6
- "hooks": [
7
- {
8
- "type": "command",
9
- "command": "${CLAUDE_PLUGIN_ROOT}/.claude/hooks/ccjk-diagnose-hook.sh"
10
- }
11
- ]
12
- }
13
- ]
14
- }
15
- }
@@ -1,224 +0,0 @@
1
- ---
2
- name: ccjk
3
- description: "CRITICAL: Parent skill for CCJK. Use for general CCJK knowledge and questions. Triggers on: ccjk, CCJK, Claude Code configuration"
4
- ---
5
-
6
- # CCJK Parent Skill
7
-
8
- > **Role**: Parent skill for all CCJK-related child skills
9
- > **Purpose**: Provide shared knowledge and baseline configuration used by all child skills
10
-
11
- ## 🎯 Overview
12
-
13
- This is the **parent skill** for the ccjk skill family. Child skills inherit:
14
- - Shared configuration (`references/ccjk-defaults.md`)
15
- - Code style guidelines
16
- - Platform conventions
17
- - Error handling patterns
18
-
19
- Child skills:
20
- - `ccjk-init` - Initialization workflows
21
- - `ccjk-mcp` - MCP configuration
22
- - `ccjk-sync` - Cloud sync
23
- - `ccjk-config` - General configuration
24
-
25
- ## 📁 Directory Structure
26
-
27
- ```
28
- skills/ccjk/
29
- ├── SKILL.md # This file (parent)
30
- └── references/
31
- ├── ccjk-defaults.md # Shared defaults (all children)
32
- ├── coding-standards.md # TypeScript, i18n standards
33
- ├── platform-conventions.md # Windows, macOS, Linux differences
34
- └── error-patterns.md # Common error patterns
35
- ```
36
-
37
- ## 📋 Shared Defaults
38
-
39
- All child skills SHOULD reference the shared defaults in `references/ccjk-defaults.md`:
40
-
41
- ```markdown
42
- [In child skill]
43
- ## Before generating code
44
- **IMPORTANT**: Read `../ccjk/references/ccjk-defaults.md` for shared configuration.
45
- ```
46
-
47
- ### What child skills inherit:
48
-
49
- 1. **Code Generation Defaults**
50
- - TypeScript version (5.4+)
51
- - Module system (ESM)
52
- - Error handling patterns
53
-
54
- 2. **Configuration Patterns**
55
- - Config file paths (cross-platform)
56
- - Environment variable patterns
57
- - Fallback strategies
58
-
59
- 3. **Platform Conventions**
60
- - Path separators
61
- - Encoding standards
62
- - Line endings
63
-
64
- ## 🔗 Inherited References
65
-
66
- Child skills can reference these shared files:
67
-
68
- ### 1. ccjk-defaults.md
69
- - Shared configuration defaults
70
- - Code generation patterns
71
- - Error handling templates
72
-
73
- ### 2. coding-standards.md
74
- - TypeScript strict mode
75
- - i18n usage patterns
76
- - ESLint rules
77
-
78
- ### 3. platform-conventions.md
79
- - Windows considerations (PowerShell, CMD)
80
- - macOS/Linux differences
81
- - Termux support notes
82
-
83
- ### 4. error-patterns.md
84
- - Common error types
85
- - Debugging approaches
86
- - Log locations
87
-
88
- ## 💡 Usage in Child Skills
89
-
90
- ### Example 1: ccjk-init Skill
91
-
92
- ```markdown
93
- ---
94
- name: ccjk-init
95
- description: "CRITICAL: Use for CCJK initialization questions. Triggers on: init, initialize, setup, install ccjk"
96
- parents: ["ccjk"]
97
- ---
98
-
99
- # CCJK Initialization
100
-
101
- **IMPORTANT**: Before generating code, read `../ccjk/references/ccjk-defaults.md`.
102
-
103
- ## Initialization Steps
104
- [Child-specific content...]
105
-
106
- ## Inherits from parent:
107
- - Default configurations
108
- - Platform-specific paths
109
- - Error handling patterns
110
- ```
111
-
112
- ### Example 2: ccjk-mcp Skill
113
-
114
- ```markdown
115
- ---
116
- name: ccjk-mcp
117
- description: "CRITICAL: Use for CCJK MCP setup. Triggers on: ccjk mcp, ccjk-mcp"
118
- parents: ["ccjk"]
119
- ---
120
-
121
- # CCJK MCP Configuration
122
-
123
- **IMPORTANT**: Before generating MCP configs, read `../ccjk/references/ccjk-defaults.md`.
124
-
125
- ## Parent-Inherited Patterns:
126
- - Error handling for MCP failures
127
- - Cross-platform config paths
128
- - Secure credential handling
129
-
130
- [Child-specific MCP content...]
131
- ```
132
-
133
- ## 🎯 Best Practices
134
-
135
- ### DO ✅
136
-
137
- 1. **Always declare parent in child skill**
138
- ```markdown
139
- ---
140
- parents: ["ccjk"]
141
- ---
142
- ```
143
-
144
- 2. **Reference shared defaults**
145
- ```markdown
146
- **IMPORTANT**: Read `../ccjk/references/ccjk-defaults.md`.
147
- ```
148
-
149
- 3. **Override defaults when needed**
150
- ```markdown
151
- **OVERRIDE**: For this specific use case, we do X instead of default Y.
152
- ```
153
-
154
- 4. **Add child-specific extensions**
155
- ```markdown
156
- ## From ccjk-parent:
157
- - [x] Default config
158
- - [x] Error handling
159
-
160
- ## Child additions:
161
- - [x] MCP-specific patterns
162
- - [x] Tool setup
163
- ```
164
-
165
- ### DON'T ❌
166
-
167
- 1. **Don't duplicate parent content**
168
- ❌ Bad: Repeating entire ccjk-defaults.md in child
169
- ✅ Good: Reference it with link
170
-
171
- 2. **Don't override without explanation**
172
- ❌ Bad: "Use `require()` instead of `import`"
173
- ✅ Good: "Override: Use `require()` for CommonJS compatibility"
174
-
175
- 3. **Don't skip parent reference**
176
- ❌ Bad: Child skill without `parents: ["ccjk"]`
177
- ✅ Good: Explicitly declare parent
178
-
179
- ## 📋 Maintenance Benefits
180
-
181
- ### 1. Centralized Updates
182
- When updating defaults or patterns:
183
- - **Before**: Update 5-10 child skills individually
184
- - **After**: Update `ccjk/references/ccjk-defaults.md` once
185
- - **Benefit**: Changes propagate to all children automatically
186
-
187
- ### 2. Consistency Across Skills
188
- - All child skills use same configuration patterns
189
- - Same error handling approach
190
- - Same code style standards
191
- - Reduced contradictions or conflicts
192
-
193
- ### 3. Reduced Maintenance Cost
194
- ```
195
- Without inheritance:
196
- ├─ Update TypeScript version → 10 skills × 5 minutes = 50 minutes
197
- ├─ Update error pattern → 10 skills × 3 minutes = 30 minutes
198
- └─ Total: 80 minutes per change
199
-
200
- With inheritance:
201
- ├─ Update ccjk-defaults.md → 1 file × 5 minutes = 5 minutes
202
- └─ Total: 5 minutes per change
203
-
204
- Savings: 84% time reduction (80 min → 5 min)
205
- ```
206
-
207
- ## 🔗 Child Skill Quick Reference
208
-
209
- | Child Skill | Purpose | Parent Dependencies |
210
- |-------------|---------|:-------------------:|
211
- | `ccjk-init` | Initialization workflows | ccjk-defaults, platform-conventions |
212
- | `ccjk-mcp` | MCP configuration | ccjk-defaults, error-patterns |
213
- | `ccjk-sync` | Cloud sync setup | ccjk-defaults, platform-conventions |
214
- | `ccjk-config` | General config | ccjk-defaults, coding-standards |
215
-
216
- ## 📚 References
217
-
218
- - [Parent: ccjk-defaults.md](./references/ccjk-defaults.md)
219
- - [Child skill example: ccjk-init](../ccjk-init/SKILL.md)
220
-
221
- ---
222
-
223
- **Status**: ✅ Parent skill configured
224
- **Next**: Create child skills with inheritance links