@codemieai/code 0.0.41 → 0.0.43

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.
Files changed (196) hide show
  1. package/README.md +3 -3
  2. package/dist/agents/codemie-code/agent.d.ts.map +1 -1
  3. package/dist/agents/codemie-code/agent.js +5 -0
  4. package/dist/agents/codemie-code/agent.js.map +1 -1
  5. package/dist/agents/core/AgentCLI.d.ts.map +1 -1
  6. package/dist/agents/core/AgentCLI.js +43 -16
  7. package/dist/agents/core/AgentCLI.js.map +1 -1
  8. package/dist/agents/core/BaseAgentAdapter.d.ts +1 -0
  9. package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
  10. package/dist/agents/core/BaseAgentAdapter.js +49 -15
  11. package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
  12. package/dist/agents/core/plugin-injector.d.ts +18 -0
  13. package/dist/agents/core/plugin-injector.d.ts.map +1 -0
  14. package/dist/agents/core/plugin-injector.js +50 -0
  15. package/dist/agents/core/plugin-injector.js.map +1 -0
  16. package/dist/agents/core/session/ensure-session.d.ts +10 -0
  17. package/dist/agents/core/session/ensure-session.d.ts.map +1 -0
  18. package/dist/agents/core/session/ensure-session.js +58 -0
  19. package/dist/agents/core/session/ensure-session.js.map +1 -0
  20. package/dist/agents/core/temp-config.d.ts +10 -0
  21. package/dist/agents/core/temp-config.d.ts.map +1 -0
  22. package/dist/agents/core/temp-config.js +45 -0
  23. package/dist/agents/core/temp-config.js.map +1 -0
  24. package/dist/agents/core/types.d.ts +8 -0
  25. package/dist/agents/core/types.d.ts.map +1 -1
  26. package/dist/agents/plugins/claude/claude-acp.plugin.d.ts +7 -0
  27. package/dist/agents/plugins/claude/claude-acp.plugin.d.ts.map +1 -1
  28. package/dist/agents/plugins/claude/claude-acp.plugin.js +10 -0
  29. package/dist/agents/plugins/claude/claude-acp.plugin.js.map +1 -1
  30. package/dist/agents/plugins/claude/claude.plugin-installer.d.ts +11 -0
  31. package/dist/agents/plugins/claude/claude.plugin-installer.d.ts.map +1 -1
  32. package/dist/agents/plugins/claude/claude.plugin-installer.js +32 -0
  33. package/dist/agents/plugins/claude/claude.plugin-installer.js.map +1 -1
  34. package/dist/agents/plugins/claude/claude.plugin.js +4 -4
  35. package/dist/agents/plugins/claude/claude.plugin.js.map +1 -1
  36. package/dist/agents/plugins/claude/plugin/.claude-plugin/plugin.json +1 -1
  37. package/dist/agents/plugins/claude/plugin/hooks/hooks.json +10 -0
  38. package/dist/agents/plugins/claude/plugin/hooks/hooks.windows.json +98 -0
  39. package/dist/agents/plugins/claude/plugin/scripts/bash/rtk-auto-wrapper.sh +81 -0
  40. package/dist/agents/plugins/claude/plugin/scripts/bash/rtk-baseline.sh +39 -0
  41. package/dist/agents/plugins/claude/sounds-installer.d.ts.map +1 -1
  42. package/dist/agents/plugins/claude/sounds-installer.js +0 -4
  43. package/dist/agents/plugins/claude/sounds-installer.js.map +1 -1
  44. package/dist/agents/plugins/codemie-code-hooks/index.d.ts +3 -0
  45. package/dist/agents/plugins/codemie-code-hooks/index.d.ts.map +1 -0
  46. package/dist/agents/plugins/codemie-code-hooks/index.js +3 -0
  47. package/dist/agents/plugins/codemie-code-hooks/index.js.map +1 -0
  48. package/dist/agents/plugins/codemie-code-hooks/inject-hooks.d.ts +3 -0
  49. package/dist/agents/plugins/codemie-code-hooks/inject-hooks.d.ts.map +1 -0
  50. package/dist/agents/plugins/codemie-code-hooks/inject-hooks.js +6 -0
  51. package/dist/agents/plugins/codemie-code-hooks/inject-hooks.js.map +1 -0
  52. package/dist/agents/plugins/codemie-code-hooks/shell-hooks-source.d.ts +15 -0
  53. package/dist/agents/plugins/codemie-code-hooks/shell-hooks-source.d.ts.map +1 -0
  54. package/dist/agents/plugins/codemie-code-hooks/shell-hooks-source.js +522 -0
  55. package/dist/agents/plugins/codemie-code-hooks/shell-hooks-source.js.map +1 -0
  56. package/dist/agents/plugins/codemie-code.plugin.d.ts +5 -2
  57. package/dist/agents/plugins/codemie-code.plugin.d.ts.map +1 -1
  58. package/dist/agents/plugins/codemie-code.plugin.js +235 -148
  59. package/dist/agents/plugins/codemie-code.plugin.js.map +1 -1
  60. package/dist/agents/plugins/gemini/gemini.plugin.js +1 -1
  61. package/dist/agents/plugins/gemini/gemini.plugin.js.map +1 -1
  62. package/dist/agents/plugins/opencode/opencode-message-types.d.ts +2 -0
  63. package/dist/agents/plugins/opencode/opencode-message-types.d.ts.map +1 -1
  64. package/dist/agents/plugins/opencode/opencode-message-types.js.map +1 -1
  65. package/dist/agents/plugins/opencode/opencode-model-configs.d.ts.map +1 -1
  66. package/dist/agents/plugins/opencode/opencode-model-configs.js +89 -0
  67. package/dist/agents/plugins/opencode/opencode-model-configs.js.map +1 -1
  68. package/dist/agents/plugins/opencode/opencode.paths.d.ts +16 -1
  69. package/dist/agents/plugins/opencode/opencode.paths.d.ts.map +1 -1
  70. package/dist/agents/plugins/opencode/opencode.paths.js +43 -5
  71. package/dist/agents/plugins/opencode/opencode.paths.js.map +1 -1
  72. package/dist/agents/plugins/opencode/opencode.plugin.d.ts.map +1 -1
  73. package/dist/agents/plugins/opencode/opencode.plugin.js +35 -120
  74. package/dist/agents/plugins/opencode/opencode.plugin.js.map +1 -1
  75. package/dist/agents/plugins/opencode/opencode.session.d.ts +5 -0
  76. package/dist/agents/plugins/opencode/opencode.session.d.ts.map +1 -1
  77. package/dist/agents/plugins/opencode/opencode.session.js +99 -2
  78. package/dist/agents/plugins/opencode/opencode.session.js.map +1 -1
  79. package/dist/agents/plugins/opencode/opencode.sqlite-reader.d.ts +59 -0
  80. package/dist/agents/plugins/opencode/opencode.sqlite-reader.d.ts.map +1 -0
  81. package/dist/agents/plugins/opencode/opencode.sqlite-reader.js +200 -0
  82. package/dist/agents/plugins/opencode/opencode.sqlite-reader.js.map +1 -0
  83. package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.d.ts +3 -0
  84. package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.d.ts.map +1 -1
  85. package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.js +35 -13
  86. package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.js.map +1 -1
  87. package/dist/agents/plugins/reasoning-sanitizer/index.d.ts +3 -0
  88. package/dist/agents/plugins/reasoning-sanitizer/index.d.ts.map +1 -0
  89. package/dist/agents/plugins/reasoning-sanitizer/index.js +3 -0
  90. package/dist/agents/plugins/reasoning-sanitizer/index.js.map +1 -0
  91. package/dist/agents/plugins/reasoning-sanitizer/inject-sanitizer.d.ts +3 -0
  92. package/dist/agents/plugins/reasoning-sanitizer/inject-sanitizer.d.ts.map +1 -0
  93. package/dist/agents/plugins/reasoning-sanitizer/inject-sanitizer.js +6 -0
  94. package/dist/agents/plugins/reasoning-sanitizer/inject-sanitizer.js.map +1 -0
  95. package/dist/agents/plugins/reasoning-sanitizer/reasoning-sanitizer-source.d.ts +17 -0
  96. package/dist/agents/plugins/reasoning-sanitizer/reasoning-sanitizer-source.d.ts.map +1 -0
  97. package/dist/agents/plugins/reasoning-sanitizer/reasoning-sanitizer-source.js +40 -0
  98. package/dist/agents/plugins/reasoning-sanitizer/reasoning-sanitizer-source.js.map +1 -0
  99. package/dist/cli/commands/analytics/data-loader.js +1 -1
  100. package/dist/cli/commands/analytics/data-loader.js.map +1 -1
  101. package/dist/cli/commands/doctor/checks/JWTAuthCheck.d.ts +9 -0
  102. package/dist/cli/commands/doctor/checks/JWTAuthCheck.d.ts.map +1 -0
  103. package/dist/cli/commands/doctor/checks/JWTAuthCheck.js +113 -0
  104. package/dist/cli/commands/doctor/checks/JWTAuthCheck.js.map +1 -0
  105. package/dist/cli/commands/doctor/checks/index.d.ts +1 -0
  106. package/dist/cli/commands/doctor/checks/index.d.ts.map +1 -1
  107. package/dist/cli/commands/doctor/checks/index.js +1 -0
  108. package/dist/cli/commands/doctor/checks/index.js.map +1 -1
  109. package/dist/cli/commands/doctor/index.d.ts.map +1 -1
  110. package/dist/cli/commands/doctor/index.js +93 -88
  111. package/dist/cli/commands/doctor/index.js.map +1 -1
  112. package/dist/cli/commands/hook.js +5 -5
  113. package/dist/cli/commands/hook.js.map +1 -1
  114. package/dist/cli/commands/test-metrics.d.ts +17 -0
  115. package/dist/cli/commands/test-metrics.d.ts.map +1 -0
  116. package/dist/cli/commands/test-metrics.js +198 -0
  117. package/dist/cli/commands/test-metrics.js.map +1 -0
  118. package/dist/cli/index.js +2 -0
  119. package/dist/cli/index.js.map +1 -1
  120. package/dist/env/types.d.ts +12 -2
  121. package/dist/env/types.d.ts.map +1 -1
  122. package/dist/env/types.js.map +1 -1
  123. package/dist/providers/core/types.d.ts +22 -1
  124. package/dist/providers/core/types.d.ts.map +1 -1
  125. package/dist/providers/core/types.js +12 -1
  126. package/dist/providers/core/types.js.map +1 -1
  127. package/dist/providers/index.d.ts +2 -0
  128. package/dist/providers/index.d.ts.map +1 -1
  129. package/dist/providers/index.js +2 -0
  130. package/dist/providers/index.js.map +1 -1
  131. package/dist/providers/integration/setup-ui.d.ts.map +1 -1
  132. package/dist/providers/integration/setup-ui.js +3 -1
  133. package/dist/providers/integration/setup-ui.js.map +1 -1
  134. package/dist/providers/plugins/bedrock/bedrock.utils.d.ts +12 -0
  135. package/dist/providers/plugins/bedrock/bedrock.utils.d.ts.map +1 -0
  136. package/dist/providers/plugins/bedrock/bedrock.utils.js +19 -0
  137. package/dist/providers/plugins/bedrock/bedrock.utils.js.map +1 -0
  138. package/dist/providers/plugins/jwt/index.d.ts +9 -0
  139. package/dist/providers/plugins/jwt/index.d.ts.map +1 -0
  140. package/dist/providers/plugins/jwt/index.js +13 -0
  141. package/dist/providers/plugins/jwt/index.js.map +1 -0
  142. package/dist/providers/plugins/jwt/jwt.setup-steps.d.ts +9 -0
  143. package/dist/providers/plugins/jwt/jwt.setup-steps.d.ts.map +1 -0
  144. package/dist/providers/plugins/jwt/jwt.setup-steps.js +153 -0
  145. package/dist/providers/plugins/jwt/jwt.setup-steps.js.map +1 -0
  146. package/dist/providers/plugins/jwt/jwt.template.d.ts +12 -0
  147. package/dist/providers/plugins/jwt/jwt.template.d.ts.map +1 -0
  148. package/dist/providers/plugins/jwt/jwt.template.js +55 -0
  149. package/dist/providers/plugins/jwt/jwt.template.js.map +1 -0
  150. package/dist/providers/plugins/sso/proxy/plugins/index.d.ts +3 -1
  151. package/dist/providers/plugins/sso/proxy/plugins/index.d.ts.map +1 -1
  152. package/dist/providers/plugins/sso/proxy/plugins/index.js +5 -1
  153. package/dist/providers/plugins/sso/proxy/plugins/index.js.map +1 -1
  154. package/dist/providers/plugins/sso/proxy/plugins/jwt-auth.plugin.d.ts +16 -0
  155. package/dist/providers/plugins/sso/proxy/plugins/jwt-auth.plugin.d.ts.map +1 -0
  156. package/dist/providers/plugins/sso/proxy/plugins/jwt-auth.plugin.js +53 -0
  157. package/dist/providers/plugins/sso/proxy/plugins/jwt-auth.plugin.js.map +1 -0
  158. package/dist/providers/plugins/sso/proxy/plugins/request-sanitizer.plugin.d.ts +25 -0
  159. package/dist/providers/plugins/sso/proxy/plugins/request-sanitizer.plugin.d.ts.map +1 -0
  160. package/dist/providers/plugins/sso/proxy/plugins/request-sanitizer.plugin.js +74 -0
  161. package/dist/providers/plugins/sso/proxy/plugins/request-sanitizer.plugin.js.map +1 -0
  162. package/dist/providers/plugins/sso/proxy/plugins/sso-auth.plugin.d.ts.map +1 -1
  163. package/dist/providers/plugins/sso/proxy/plugins/sso-auth.plugin.js +13 -2
  164. package/dist/providers/plugins/sso/proxy/plugins/sso-auth.plugin.js.map +1 -1
  165. package/dist/providers/plugins/sso/proxy/plugins/sso.session-sync.plugin.d.ts.map +1 -1
  166. package/dist/providers/plugins/sso/proxy/plugins/sso.session-sync.plugin.js +6 -3
  167. package/dist/providers/plugins/sso/proxy/plugins/sso.session-sync.plugin.js.map +1 -1
  168. package/dist/providers/plugins/sso/proxy/plugins/types.d.ts +2 -2
  169. package/dist/providers/plugins/sso/proxy/plugins/types.d.ts.map +1 -1
  170. package/dist/providers/plugins/sso/proxy/proxy-types.d.ts +2 -0
  171. package/dist/providers/plugins/sso/proxy/proxy-types.d.ts.map +1 -1
  172. package/dist/providers/plugins/sso/proxy/sso.proxy.d.ts +4 -0
  173. package/dist/providers/plugins/sso/proxy/sso.proxy.d.ts.map +1 -1
  174. package/dist/providers/plugins/sso/proxy/sso.proxy.js +39 -10
  175. package/dist/providers/plugins/sso/proxy/sso.proxy.js.map +1 -1
  176. package/dist/providers/plugins/sso/sso.http-client.d.ts +38 -8
  177. package/dist/providers/plugins/sso/sso.http-client.d.ts.map +1 -1
  178. package/dist/providers/plugins/sso/sso.http-client.js +83 -85
  179. package/dist/providers/plugins/sso/sso.http-client.js.map +1 -1
  180. package/dist/providers/plugins/sso/sso.models.d.ts.map +1 -1
  181. package/dist/providers/plugins/sso/sso.models.js +3 -3
  182. package/dist/providers/plugins/sso/sso.models.js.map +1 -1
  183. package/dist/providers/plugins/sso/sso.setup-steps.d.ts.map +1 -1
  184. package/dist/providers/plugins/sso/sso.setup-steps.js +4 -1
  185. package/dist/providers/plugins/sso/sso.setup-steps.js.map +1 -1
  186. package/dist/providers/plugins/sso/sso.template.d.ts.map +1 -1
  187. package/dist/providers/plugins/sso/sso.template.js +7 -0
  188. package/dist/providers/plugins/sso/sso.template.js.map +1 -1
  189. package/dist/utils/paths.d.ts +1 -1
  190. package/dist/utils/paths.js +1 -1
  191. package/dist/utils/security.d.ts +18 -1
  192. package/dist/utils/security.d.ts.map +1 -1
  193. package/dist/utils/security.js +102 -0
  194. package/dist/utils/security.js.map +1 -1
  195. package/package.json +1 -1
  196. package/scripts/copy-mr-skill-to-global.ts +0 -252
@@ -355,6 +355,108 @@ export class CredentialStore {
355
355
  // Ignore file not found errors
356
356
  }
357
357
  }
358
+ /**
359
+ * Store JWT credentials securely
360
+ * @param credentials - JWT credentials to store
361
+ * @param baseUrl - Optional base URL for per-URL storage
362
+ */
363
+ async storeJWTCredentials(credentials, baseUrl) {
364
+ const encrypted = this.encrypt(JSON.stringify(credentials));
365
+ // Determine storage key based on whether baseUrl is provided
366
+ // Use jwt- prefix to avoid collision with SSO credentials
367
+ const accountName = baseUrl ? `jwt-${this.getUrlStorageKey(baseUrl)}` : 'jwt-credentials';
368
+ const filePath = baseUrl
369
+ ? path.join(CREDENTIALS_DIR, `jwt-${this.getUrlStorageKey(baseUrl)}.enc`)
370
+ : path.join(CREDENTIALS_DIR, 'jwt-credentials.enc');
371
+ // Store to keychain if available (best effort, don't fail if it errors)
372
+ const keytarModule = await getKeytar();
373
+ if (keytarModule) {
374
+ try {
375
+ await keytarModule.setPassword(SERVICE_NAME, accountName, encrypted);
376
+ }
377
+ catch {
378
+ // Continue to file storage even if keychain fails
379
+ }
380
+ }
381
+ // Always store to file as well for consistency
382
+ await this.storeToFile(encrypted, filePath);
383
+ }
384
+ /**
385
+ * Retrieve JWT credentials from secure storage
386
+ * @param baseUrl - Optional base URL for per-URL retrieval
387
+ * @returns JWT credentials or null if not found or expired
388
+ */
389
+ async retrieveJWTCredentials(baseUrl) {
390
+ // Determine storage key based on whether baseUrl is provided
391
+ const accountName = baseUrl ? `jwt-${this.getUrlStorageKey(baseUrl)}` : 'jwt-credentials';
392
+ const filePath = baseUrl
393
+ ? path.join(CREDENTIALS_DIR, `jwt-${this.getUrlStorageKey(baseUrl)}.enc`)
394
+ : path.join(CREDENTIALS_DIR, 'jwt-credentials.enc');
395
+ // Try keychain first if available
396
+ const keytarModule = await getKeytar();
397
+ if (keytarModule) {
398
+ try {
399
+ const encrypted = await keytarModule.getPassword(SERVICE_NAME, accountName);
400
+ if (encrypted) {
401
+ const decrypted = this.decrypt(encrypted);
402
+ const credentials = JSON.parse(decrypted);
403
+ // Check token expiration
404
+ if (credentials.expiresAt && Date.now() > credentials.expiresAt) {
405
+ return null; // Token expired
406
+ }
407
+ return credentials;
408
+ }
409
+ }
410
+ catch {
411
+ // Fall through to file storage
412
+ }
413
+ }
414
+ // Always try file storage as fallback
415
+ try {
416
+ const encrypted = await this.retrieveFromFile(filePath);
417
+ if (encrypted) {
418
+ const decrypted = this.decrypt(encrypted);
419
+ const credentials = JSON.parse(decrypted);
420
+ // Check token expiration
421
+ if (credentials.expiresAt && Date.now() > credentials.expiresAt) {
422
+ return null; // Token expired
423
+ }
424
+ return credentials;
425
+ }
426
+ }
427
+ catch {
428
+ // Unable to decrypt file storage
429
+ }
430
+ return null;
431
+ }
432
+ /**
433
+ * Clear JWT credentials from secure storage
434
+ * @param baseUrl - Optional base URL for per-URL deletion
435
+ */
436
+ async clearJWTCredentials(baseUrl) {
437
+ // Determine storage key based on whether baseUrl is provided
438
+ const accountName = baseUrl ? `jwt-${this.getUrlStorageKey(baseUrl)}` : 'jwt-credentials';
439
+ const filePath = baseUrl
440
+ ? path.join(CREDENTIALS_DIR, `jwt-${this.getUrlStorageKey(baseUrl)}.enc`)
441
+ : path.join(CREDENTIALS_DIR, 'jwt-credentials.enc');
442
+ // Clear keychain if available
443
+ const keytarModule = await getKeytar();
444
+ if (keytarModule) {
445
+ try {
446
+ await keytarModule.deletePassword(SERVICE_NAME, accountName);
447
+ }
448
+ catch {
449
+ // Ignore errors, will try file storage next
450
+ }
451
+ }
452
+ // Also clear file storage
453
+ try {
454
+ await fs.unlink(filePath);
455
+ }
456
+ catch {
457
+ // Ignore file not found errors
458
+ }
459
+ }
358
460
  encrypt(text) {
359
461
  const iv = crypto.randomBytes(16);
360
462
  // Use a proper 32-byte key by hashing the encryptionKey
@@ -1 +1 @@
1
- {"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/utils/security.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/utils/security.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codemieai/code",
3
- "version": "0.0.41",
3
+ "version": "0.0.43",
4
4
  "description": "Unified AI coding assistant CLI - Manage Claude Code, Gemini & custom agents. Multi-provider support (OpenAI, Azure, LiteLLM, SSO). Built-in LangGraph agent with file operations & git integration.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,252 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- /**
4
- * Copy /mr skill from project scope to global scope
5
- *
6
- * This script copies the project-level /mr skill to ~/.claude/skills/mr/
7
- * making it available globally across all projects.
8
- *
9
- * Usage:
10
- * npm run build && node dist/scripts/copy-mr-skill-to-global.js
11
- * OR
12
- * npx tsx scripts/copy-mr-skill-to-global.ts
13
- */
14
-
15
- import * as fs from 'fs/promises';
16
- import * as path from 'path';
17
- import { parseFrontmatter } from '../src/skills/utils/frontmatter.js';
18
- import { SkillMetadataSchema } from '../src/skills/core/types.js';
19
- import { resolveHomeDir } from '../src/utils/paths.js';
20
- import { SkillManager } from '../src/skills/index.js';
21
- import * as readline from 'readline';
22
-
23
- interface CopyResult {
24
- success: boolean;
25
- message: string;
26
- copiedFiles?: string[];
27
- }
28
-
29
- /**
30
- * Validate source skill exists and has valid frontmatter
31
- */
32
- async function validateSourceSkill(sourceDir: string): Promise<void> {
33
- const skillPath = path.join(sourceDir, 'SKILL.md');
34
-
35
- // Check file exists
36
- try {
37
- await fs.access(skillPath, fs.constants.R_OK);
38
- } catch {
39
- throw new Error(`Source skill not found: ${skillPath}`);
40
- }
41
-
42
- // Validate frontmatter
43
- const content = await fs.readFile(skillPath, 'utf-8');
44
- const { metadata } = parseFrontmatter(content, skillPath);
45
- const validated = SkillMetadataSchema.parse(metadata);
46
-
47
- console.log(`✓ Source skill validated: ${validated.name}`);
48
- console.log(` Description: ${validated.description}`);
49
- }
50
-
51
- /**
52
- * Check if target already exists and prompt user for overwrite
53
- */
54
- async function checkTargetConflict(targetDir: string): Promise<void> {
55
- const targetSkillPath = path.join(targetDir, 'SKILL.md');
56
-
57
- try {
58
- await fs.access(targetSkillPath, fs.constants.F_OK);
59
-
60
- // File exists - prompt user
61
- const rl = readline.createInterface({
62
- input: process.stdin,
63
- output: process.stdout
64
- });
65
-
66
- const answer = await new Promise<string>((resolve) => {
67
- rl.question(
68
- `\n⚠️ Global /mr skill already exists. Overwrite? (y/N): `,
69
- resolve
70
- );
71
- });
72
-
73
- rl.close();
74
-
75
- if (answer.toLowerCase() !== 'y') {
76
- console.log('❌ Operation cancelled by user');
77
- process.exit(0);
78
- }
79
-
80
- // Create backup before overwriting
81
- const backupDir = `${targetDir}.backup-${Date.now()}`;
82
- await fs.rename(targetDir, backupDir);
83
- console.log(`✓ Backup created: ${backupDir}`);
84
- } catch {
85
- // File doesn't exist - proceed
86
- console.log('✓ No conflict detected');
87
- }
88
- }
89
-
90
- /**
91
- * Create necessary directories for the skill
92
- */
93
- async function prepareDirectories(targetDir: string): Promise<void> {
94
- // Create main directory
95
- await fs.mkdir(targetDir, { recursive: true });
96
-
97
- // Create references subdirectory
98
- const refsDir = path.join(targetDir, 'references');
99
- await fs.mkdir(refsDir, { recursive: true });
100
-
101
- console.log(`✓ Directories created: ${targetDir}`);
102
- }
103
-
104
- /**
105
- * Copy all skill files from source to target
106
- */
107
- async function copySkillFiles(
108
- sourceDir: string,
109
- targetDir: string
110
- ): Promise<string[]> {
111
- const filesToCopy = [
112
- { source: 'SKILL.md', target: 'SKILL.md' },
113
- { source: 'references/branch-naming.md', target: 'references/branch-naming.md' },
114
- { source: 'references/examples.md', target: 'references/examples.md' },
115
- ];
116
-
117
- const copiedFiles: string[] = [];
118
-
119
- for (const { source, target } of filesToCopy) {
120
- const sourcePath = path.join(sourceDir, source);
121
- const targetPath = path.join(targetDir, target);
122
-
123
- // Ensure subdirectory exists
124
- const targetSubdir = path.dirname(targetPath);
125
- await fs.mkdir(targetSubdir, { recursive: true });
126
-
127
- // Copy file
128
- await fs.copyFile(sourcePath, targetPath);
129
- copiedFiles.push(source);
130
-
131
- console.log(`✓ Copied: ${source}`);
132
- }
133
-
134
- return copiedFiles;
135
- }
136
-
137
- /**
138
- * Validate the copied skill has valid frontmatter
139
- */
140
- async function validateCopiedSkill(skillPath: string): Promise<void> {
141
- // Verify file exists
142
- await fs.access(skillPath, fs.constants.R_OK);
143
-
144
- // Validate frontmatter
145
- const content = await fs.readFile(skillPath, 'utf-8');
146
- const { metadata } = parseFrontmatter(content, skillPath);
147
- SkillMetadataSchema.parse(metadata);
148
-
149
- console.log(`✓ Copied skill validated successfully`);
150
- }
151
-
152
- /**
153
- * Test that the skill is discoverable by SkillManager
154
- */
155
- async function testDiscovery(): Promise<void> {
156
- const manager = SkillManager.getInstance();
157
- manager.reload(); // Clear cache
158
-
159
- const skills = await manager.listSkills({
160
- cwd: process.cwd(),
161
- forceReload: true,
162
- });
163
-
164
- const mrSkills = skills.filter(s => s.metadata.name === 'mr');
165
-
166
- if (mrSkills.length > 0) {
167
- console.log(`✓ Skill discoverable (${mrSkills.length} instance(s) found)`);
168
- mrSkills.forEach(skill => {
169
- console.log(` Source: ${skill.source}`);
170
- console.log(` Priority: ${skill.computedPriority}`);
171
- console.log(` Path: ${skill.filePath}`);
172
- });
173
- } else {
174
- console.warn('⚠️ Skill not immediately discoverable (may need agent restart)');
175
- }
176
- }
177
-
178
- /**
179
- * Print success message with next steps
180
- */
181
- function printSuccess(targetDir: string, files: string[]): void {
182
- console.log('\n' + '='.repeat(60));
183
- console.log('✅ Successfully copied /mr skill to global scope!');
184
- console.log('='.repeat(60));
185
- console.log(`\n📁 Location: ${targetDir}`);
186
- console.log(`📄 Files copied: ${files.length}`);
187
- console.log(`\n🔄 Next steps:`);
188
- console.log(`1. The skill is now available globally across all projects`);
189
- console.log(`2. Use /mr in any project to create pull requests`);
190
- console.log(`3. Run "codemie skill list" to verify it's loaded`);
191
- console.log(`4. Run "codemie skill reload" to refresh if needed`);
192
- console.log(`\n💡 Tip: Project-level skills (if present) take priority over global skills.\n`);
193
- }
194
-
195
- /**
196
- * Print error message with troubleshooting tips
197
- */
198
- function printError(error: unknown): void {
199
- console.error('\n' + '='.repeat(60));
200
- console.error('❌ Failed to copy /mr skill');
201
- console.error('='.repeat(60));
202
- console.error(`\nError: ${error instanceof Error ? error.message : String(error)}`);
203
- if (error instanceof Error && error.stack) {
204
- console.error(`\nStack trace:\n${error.stack}`);
205
- }
206
- console.error(`\n🔍 Troubleshooting:`);
207
- console.error(`- Check source exists: .codemie/skills/mr/SKILL.md`);
208
- console.error(`- Check permissions: ~/.claude/skills/`);
209
- console.error(`- Check disk space: df -h ~`);
210
- console.error(`- Validate frontmatter: codemie skill validate\n`);
211
- }
212
-
213
- /**
214
- * Main execution function
215
- */
216
- async function main(): Promise<void> {
217
- try {
218
- console.log('\n🚀 Starting /mr skill copy to global scope...\n');
219
-
220
- // Phase 1: Validate source
221
- console.log('Phase 1: Validating source skill...');
222
- const sourceDir = path.join(process.cwd(), '.codemie', 'skills', 'mr');
223
- await validateSourceSkill(sourceDir);
224
-
225
- // Phase 2: Check target
226
- console.log('\nPhase 2: Checking target location...');
227
- const targetDir = resolveHomeDir('.claude/skills/mr');
228
- await checkTargetConflict(targetDir);
229
-
230
- // Phase 3: Prepare directories
231
- console.log('\nPhase 3: Preparing directories...');
232
- await prepareDirectories(targetDir);
233
-
234
- // Phase 4: Copy files
235
- console.log('\nPhase 4: Copying skill files...');
236
- const files = await copySkillFiles(sourceDir, targetDir);
237
-
238
- // Phase 5: Validate
239
- console.log('\nPhase 5: Validating copied skill...');
240
- await validateCopiedSkill(path.join(targetDir, 'SKILL.md'));
241
- await testDiscovery();
242
-
243
- // Phase 6: Success feedback
244
- printSuccess(targetDir, files);
245
- } catch (error) {
246
- printError(error);
247
- process.exit(1);
248
- }
249
- }
250
-
251
- // Run main function
252
- main();