@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.
- package/README.md +3 -3
- package/dist/agents/codemie-code/agent.d.ts.map +1 -1
- package/dist/agents/codemie-code/agent.js +5 -0
- package/dist/agents/codemie-code/agent.js.map +1 -1
- package/dist/agents/core/AgentCLI.d.ts.map +1 -1
- package/dist/agents/core/AgentCLI.js +43 -16
- package/dist/agents/core/AgentCLI.js.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.d.ts +1 -0
- package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.js +49 -15
- package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
- package/dist/agents/core/plugin-injector.d.ts +18 -0
- package/dist/agents/core/plugin-injector.d.ts.map +1 -0
- package/dist/agents/core/plugin-injector.js +50 -0
- package/dist/agents/core/plugin-injector.js.map +1 -0
- package/dist/agents/core/session/ensure-session.d.ts +10 -0
- package/dist/agents/core/session/ensure-session.d.ts.map +1 -0
- package/dist/agents/core/session/ensure-session.js +58 -0
- package/dist/agents/core/session/ensure-session.js.map +1 -0
- package/dist/agents/core/temp-config.d.ts +10 -0
- package/dist/agents/core/temp-config.d.ts.map +1 -0
- package/dist/agents/core/temp-config.js +45 -0
- package/dist/agents/core/temp-config.js.map +1 -0
- package/dist/agents/core/types.d.ts +8 -0
- package/dist/agents/core/types.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude-acp.plugin.d.ts +7 -0
- package/dist/agents/plugins/claude/claude-acp.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude-acp.plugin.js +10 -0
- package/dist/agents/plugins/claude/claude-acp.plugin.js.map +1 -1
- package/dist/agents/plugins/claude/claude.plugin-installer.d.ts +11 -0
- package/dist/agents/plugins/claude/claude.plugin-installer.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude.plugin-installer.js +32 -0
- package/dist/agents/plugins/claude/claude.plugin-installer.js.map +1 -1
- package/dist/agents/plugins/claude/claude.plugin.js +4 -4
- package/dist/agents/plugins/claude/claude.plugin.js.map +1 -1
- package/dist/agents/plugins/claude/plugin/.claude-plugin/plugin.json +1 -1
- package/dist/agents/plugins/claude/plugin/hooks/hooks.json +10 -0
- package/dist/agents/plugins/claude/plugin/hooks/hooks.windows.json +98 -0
- package/dist/agents/plugins/claude/plugin/scripts/bash/rtk-auto-wrapper.sh +81 -0
- package/dist/agents/plugins/claude/plugin/scripts/bash/rtk-baseline.sh +39 -0
- package/dist/agents/plugins/claude/sounds-installer.d.ts.map +1 -1
- package/dist/agents/plugins/claude/sounds-installer.js +0 -4
- package/dist/agents/plugins/claude/sounds-installer.js.map +1 -1
- package/dist/agents/plugins/codemie-code-hooks/index.d.ts +3 -0
- package/dist/agents/plugins/codemie-code-hooks/index.d.ts.map +1 -0
- package/dist/agents/plugins/codemie-code-hooks/index.js +3 -0
- package/dist/agents/plugins/codemie-code-hooks/index.js.map +1 -0
- package/dist/agents/plugins/codemie-code-hooks/inject-hooks.d.ts +3 -0
- package/dist/agents/plugins/codemie-code-hooks/inject-hooks.d.ts.map +1 -0
- package/dist/agents/plugins/codemie-code-hooks/inject-hooks.js +6 -0
- package/dist/agents/plugins/codemie-code-hooks/inject-hooks.js.map +1 -0
- package/dist/agents/plugins/codemie-code-hooks/shell-hooks-source.d.ts +15 -0
- package/dist/agents/plugins/codemie-code-hooks/shell-hooks-source.d.ts.map +1 -0
- package/dist/agents/plugins/codemie-code-hooks/shell-hooks-source.js +522 -0
- package/dist/agents/plugins/codemie-code-hooks/shell-hooks-source.js.map +1 -0
- package/dist/agents/plugins/codemie-code.plugin.d.ts +5 -2
- package/dist/agents/plugins/codemie-code.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/codemie-code.plugin.js +235 -148
- package/dist/agents/plugins/codemie-code.plugin.js.map +1 -1
- package/dist/agents/plugins/gemini/gemini.plugin.js +1 -1
- package/dist/agents/plugins/gemini/gemini.plugin.js.map +1 -1
- package/dist/agents/plugins/opencode/opencode-message-types.d.ts +2 -0
- package/dist/agents/plugins/opencode/opencode-message-types.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/opencode-message-types.js.map +1 -1
- package/dist/agents/plugins/opencode/opencode-model-configs.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/opencode-model-configs.js +89 -0
- package/dist/agents/plugins/opencode/opencode-model-configs.js.map +1 -1
- package/dist/agents/plugins/opencode/opencode.paths.d.ts +16 -1
- package/dist/agents/plugins/opencode/opencode.paths.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/opencode.paths.js +43 -5
- package/dist/agents/plugins/opencode/opencode.paths.js.map +1 -1
- package/dist/agents/plugins/opencode/opencode.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/opencode.plugin.js +35 -120
- package/dist/agents/plugins/opencode/opencode.plugin.js.map +1 -1
- package/dist/agents/plugins/opencode/opencode.session.d.ts +5 -0
- package/dist/agents/plugins/opencode/opencode.session.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/opencode.session.js +99 -2
- package/dist/agents/plugins/opencode/opencode.session.js.map +1 -1
- package/dist/agents/plugins/opencode/opencode.sqlite-reader.d.ts +59 -0
- package/dist/agents/plugins/opencode/opencode.sqlite-reader.d.ts.map +1 -0
- package/dist/agents/plugins/opencode/opencode.sqlite-reader.js +200 -0
- package/dist/agents/plugins/opencode/opencode.sqlite-reader.js.map +1 -0
- package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.d.ts +3 -0
- package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.js +35 -13
- package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.js.map +1 -1
- package/dist/agents/plugins/reasoning-sanitizer/index.d.ts +3 -0
- package/dist/agents/plugins/reasoning-sanitizer/index.d.ts.map +1 -0
- package/dist/agents/plugins/reasoning-sanitizer/index.js +3 -0
- package/dist/agents/plugins/reasoning-sanitizer/index.js.map +1 -0
- package/dist/agents/plugins/reasoning-sanitizer/inject-sanitizer.d.ts +3 -0
- package/dist/agents/plugins/reasoning-sanitizer/inject-sanitizer.d.ts.map +1 -0
- package/dist/agents/plugins/reasoning-sanitizer/inject-sanitizer.js +6 -0
- package/dist/agents/plugins/reasoning-sanitizer/inject-sanitizer.js.map +1 -0
- package/dist/agents/plugins/reasoning-sanitizer/reasoning-sanitizer-source.d.ts +17 -0
- package/dist/agents/plugins/reasoning-sanitizer/reasoning-sanitizer-source.d.ts.map +1 -0
- package/dist/agents/plugins/reasoning-sanitizer/reasoning-sanitizer-source.js +40 -0
- package/dist/agents/plugins/reasoning-sanitizer/reasoning-sanitizer-source.js.map +1 -0
- package/dist/cli/commands/analytics/data-loader.js +1 -1
- package/dist/cli/commands/analytics/data-loader.js.map +1 -1
- package/dist/cli/commands/doctor/checks/JWTAuthCheck.d.ts +9 -0
- package/dist/cli/commands/doctor/checks/JWTAuthCheck.d.ts.map +1 -0
- package/dist/cli/commands/doctor/checks/JWTAuthCheck.js +113 -0
- package/dist/cli/commands/doctor/checks/JWTAuthCheck.js.map +1 -0
- package/dist/cli/commands/doctor/checks/index.d.ts +1 -0
- package/dist/cli/commands/doctor/checks/index.d.ts.map +1 -1
- package/dist/cli/commands/doctor/checks/index.js +1 -0
- package/dist/cli/commands/doctor/checks/index.js.map +1 -1
- package/dist/cli/commands/doctor/index.d.ts.map +1 -1
- package/dist/cli/commands/doctor/index.js +93 -88
- package/dist/cli/commands/doctor/index.js.map +1 -1
- package/dist/cli/commands/hook.js +5 -5
- package/dist/cli/commands/hook.js.map +1 -1
- package/dist/cli/commands/test-metrics.d.ts +17 -0
- package/dist/cli/commands/test-metrics.d.ts.map +1 -0
- package/dist/cli/commands/test-metrics.js +198 -0
- package/dist/cli/commands/test-metrics.js.map +1 -0
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/env/types.d.ts +12 -2
- package/dist/env/types.d.ts.map +1 -1
- package/dist/env/types.js.map +1 -1
- package/dist/providers/core/types.d.ts +22 -1
- package/dist/providers/core/types.d.ts.map +1 -1
- package/dist/providers/core/types.js +12 -1
- package/dist/providers/core/types.js.map +1 -1
- package/dist/providers/index.d.ts +2 -0
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +2 -0
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/integration/setup-ui.d.ts.map +1 -1
- package/dist/providers/integration/setup-ui.js +3 -1
- package/dist/providers/integration/setup-ui.js.map +1 -1
- package/dist/providers/plugins/bedrock/bedrock.utils.d.ts +12 -0
- package/dist/providers/plugins/bedrock/bedrock.utils.d.ts.map +1 -0
- package/dist/providers/plugins/bedrock/bedrock.utils.js +19 -0
- package/dist/providers/plugins/bedrock/bedrock.utils.js.map +1 -0
- package/dist/providers/plugins/jwt/index.d.ts +9 -0
- package/dist/providers/plugins/jwt/index.d.ts.map +1 -0
- package/dist/providers/plugins/jwt/index.js +13 -0
- package/dist/providers/plugins/jwt/index.js.map +1 -0
- package/dist/providers/plugins/jwt/jwt.setup-steps.d.ts +9 -0
- package/dist/providers/plugins/jwt/jwt.setup-steps.d.ts.map +1 -0
- package/dist/providers/plugins/jwt/jwt.setup-steps.js +153 -0
- package/dist/providers/plugins/jwt/jwt.setup-steps.js.map +1 -0
- package/dist/providers/plugins/jwt/jwt.template.d.ts +12 -0
- package/dist/providers/plugins/jwt/jwt.template.d.ts.map +1 -0
- package/dist/providers/plugins/jwt/jwt.template.js +55 -0
- package/dist/providers/plugins/jwt/jwt.template.js.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/index.d.ts +3 -1
- package/dist/providers/plugins/sso/proxy/plugins/index.d.ts.map +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/index.js +5 -1
- package/dist/providers/plugins/sso/proxy/plugins/index.js.map +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/jwt-auth.plugin.d.ts +16 -0
- package/dist/providers/plugins/sso/proxy/plugins/jwt-auth.plugin.d.ts.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/jwt-auth.plugin.js +53 -0
- package/dist/providers/plugins/sso/proxy/plugins/jwt-auth.plugin.js.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/request-sanitizer.plugin.d.ts +25 -0
- package/dist/providers/plugins/sso/proxy/plugins/request-sanitizer.plugin.d.ts.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/request-sanitizer.plugin.js +74 -0
- package/dist/providers/plugins/sso/proxy/plugins/request-sanitizer.plugin.js.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/sso-auth.plugin.d.ts.map +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/sso-auth.plugin.js +13 -2
- package/dist/providers/plugins/sso/proxy/plugins/sso-auth.plugin.js.map +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/sso.session-sync.plugin.d.ts.map +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/sso.session-sync.plugin.js +6 -3
- package/dist/providers/plugins/sso/proxy/plugins/sso.session-sync.plugin.js.map +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/types.d.ts +2 -2
- package/dist/providers/plugins/sso/proxy/plugins/types.d.ts.map +1 -1
- package/dist/providers/plugins/sso/proxy/proxy-types.d.ts +2 -0
- package/dist/providers/plugins/sso/proxy/proxy-types.d.ts.map +1 -1
- package/dist/providers/plugins/sso/proxy/sso.proxy.d.ts +4 -0
- package/dist/providers/plugins/sso/proxy/sso.proxy.d.ts.map +1 -1
- package/dist/providers/plugins/sso/proxy/sso.proxy.js +39 -10
- package/dist/providers/plugins/sso/proxy/sso.proxy.js.map +1 -1
- package/dist/providers/plugins/sso/sso.http-client.d.ts +38 -8
- package/dist/providers/plugins/sso/sso.http-client.d.ts.map +1 -1
- package/dist/providers/plugins/sso/sso.http-client.js +83 -85
- package/dist/providers/plugins/sso/sso.http-client.js.map +1 -1
- package/dist/providers/plugins/sso/sso.models.d.ts.map +1 -1
- package/dist/providers/plugins/sso/sso.models.js +3 -3
- package/dist/providers/plugins/sso/sso.models.js.map +1 -1
- package/dist/providers/plugins/sso/sso.setup-steps.d.ts.map +1 -1
- package/dist/providers/plugins/sso/sso.setup-steps.js +4 -1
- package/dist/providers/plugins/sso/sso.setup-steps.js.map +1 -1
- package/dist/providers/plugins/sso/sso.template.d.ts.map +1 -1
- package/dist/providers/plugins/sso/sso.template.js +7 -0
- package/dist/providers/plugins/sso/sso.template.js.map +1 -1
- package/dist/utils/paths.d.ts +1 -1
- package/dist/utils/paths.js +1 -1
- package/dist/utils/security.d.ts +18 -1
- package/dist/utils/security.d.ts.map +1 -1
- package/dist/utils/security.js +102 -0
- package/dist/utils/security.js.map +1 -1
- package/package.json +1 -1
- package/scripts/copy-mr-skill-to-global.ts +0 -252
package/dist/utils/security.js
CHANGED
|
@@ -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.
|
|
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();
|