craftdesk 0.3.0 → 0.5.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/CHANGELOG.md +88 -0
- package/README.md +1609 -132
- package/dist/commands/add.d.ts +5 -0
- package/dist/commands/add.d.ts.map +1 -1
- package/dist/commands/add.js +306 -8
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/convert.d.ts +8 -0
- package/dist/commands/convert.d.ts.map +1 -0
- package/dist/commands/convert.js +146 -0
- package/dist/commands/convert.js.map +1 -0
- package/dist/commands/detect-agents.d.ts +14 -0
- package/dist/commands/detect-agents.d.ts.map +1 -0
- package/dist/commands/detect-agents.js +86 -0
- package/dist/commands/detect-agents.js.map +1 -0
- package/dist/commands/embed.d.ts +14 -0
- package/dist/commands/embed.d.ts.map +1 -0
- package/dist/commands/embed.js +147 -0
- package/dist/commands/embed.js.map +1 -0
- package/dist/commands/info.d.ts +8 -0
- package/dist/commands/info.d.ts.map +1 -0
- package/dist/commands/info.js +66 -0
- package/dist/commands/info.js.map +1 -0
- package/dist/commands/init.d.ts +5 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +8 -2
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/install.d.ts +5 -0
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +24 -4
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/list.d.ts +5 -0
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +75 -7
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/login.d.ts +8 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/login.js +158 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/logout.d.ts +8 -0
- package/dist/commands/logout.d.ts.map +1 -0
- package/dist/commands/logout.js +51 -0
- package/dist/commands/logout.js.map +1 -0
- package/dist/commands/outdated.d.ts +23 -0
- package/dist/commands/outdated.d.ts.map +1 -0
- package/dist/commands/outdated.js +268 -0
- package/dist/commands/outdated.js.map +1 -0
- package/dist/commands/publish.d.ts +8 -0
- package/dist/commands/publish.d.ts.map +1 -0
- package/dist/commands/publish.js +203 -0
- package/dist/commands/publish.js.map +1 -0
- package/dist/commands/remove.d.ts +5 -0
- package/dist/commands/remove.d.ts.map +1 -1
- package/dist/commands/remove.js +51 -10
- package/dist/commands/remove.js.map +1 -1
- package/dist/commands/search.d.ts +8 -0
- package/dist/commands/search.d.ts.map +1 -0
- package/dist/commands/search.js +60 -0
- package/dist/commands/search.js.map +1 -0
- package/dist/commands/setup-multi-agent.d.ts +17 -0
- package/dist/commands/setup-multi-agent.d.ts.map +1 -0
- package/dist/commands/setup-multi-agent.js +188 -0
- package/dist/commands/setup-multi-agent.js.map +1 -0
- package/dist/commands/sync.d.ts +14 -0
- package/dist/commands/sync.d.ts.map +1 -0
- package/dist/commands/sync.js +144 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/commands/unembed.d.ts +14 -0
- package/dist/commands/unembed.d.ts.map +1 -0
- package/dist/commands/unembed.js +96 -0
- package/dist/commands/unembed.js.map +1 -0
- package/dist/commands/update.d.ts +8 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +372 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/commands/verify.d.ts +14 -0
- package/dist/commands/verify.d.ts.map +1 -0
- package/dist/commands/verify.js +143 -0
- package/dist/commands/verify.js.map +1 -0
- package/dist/commands/whoami.d.ts +8 -0
- package/dist/commands/whoami.d.ts.map +1 -0
- package/dist/commands/whoami.js +58 -0
- package/dist/commands/whoami.js.map +1 -0
- package/dist/converters/base-converter.d.ts +89 -0
- package/dist/converters/base-converter.d.ts.map +1 -0
- package/dist/converters/base-converter.js +249 -0
- package/dist/converters/base-converter.js.map +1 -0
- package/dist/converters/continue-converter.d.ts +53 -0
- package/dist/converters/continue-converter.d.ts.map +1 -0
- package/dist/converters/continue-converter.js +243 -0
- package/dist/converters/continue-converter.js.map +1 -0
- package/dist/converters/cursor-converter.d.ts +70 -0
- package/dist/converters/cursor-converter.d.ts.map +1 -0
- package/dist/converters/cursor-converter.js +272 -0
- package/dist/converters/cursor-converter.js.map +1 -0
- package/dist/index.js +56 -3
- package/dist/index.js.map +1 -1
- package/dist/services/agent-detector.d.ts +57 -0
- package/dist/services/agent-detector.d.ts.map +1 -0
- package/dist/services/agent-detector.js +146 -0
- package/dist/services/agent-detector.js.map +1 -0
- package/dist/services/config-manager.d.ts +128 -10
- package/dist/services/config-manager.d.ts.map +1 -1
- package/dist/services/config-manager.js +190 -18
- package/dist/services/config-manager.js.map +1 -1
- package/dist/services/converter.d.ts +53 -0
- package/dist/services/converter.d.ts.map +1 -0
- package/dist/services/converter.js +185 -0
- package/dist/services/converter.js.map +1 -0
- package/dist/services/craft-wrapper.d.ts +108 -0
- package/dist/services/craft-wrapper.d.ts.map +1 -0
- package/dist/services/craft-wrapper.js +268 -0
- package/dist/services/craft-wrapper.js.map +1 -0
- package/dist/services/git-resolver.d.ts +9 -3
- package/dist/services/git-resolver.d.ts.map +1 -1
- package/dist/services/git-resolver.js +44 -20
- package/dist/services/git-resolver.js.map +1 -1
- package/dist/services/gitignore-manager.d.ts +74 -0
- package/dist/services/gitignore-manager.d.ts.map +1 -0
- package/dist/services/gitignore-manager.js +188 -0
- package/dist/services/gitignore-manager.js.map +1 -0
- package/dist/services/installer.d.ts +60 -1
- package/dist/services/installer.d.ts.map +1 -1
- package/dist/services/installer.js +295 -20
- package/dist/services/installer.js.map +1 -1
- package/dist/services/multi-agent-sync.d.ts +88 -0
- package/dist/services/multi-agent-sync.d.ts.map +1 -0
- package/dist/services/multi-agent-sync.js +316 -0
- package/dist/services/multi-agent-sync.js.map +1 -0
- package/dist/services/plugin-resolver.d.ts +80 -0
- package/dist/services/plugin-resolver.d.ts.map +1 -0
- package/dist/services/plugin-resolver.js +183 -0
- package/dist/services/plugin-resolver.js.map +1 -0
- package/dist/services/registry-client.d.ts +132 -5
- package/dist/services/registry-client.d.ts.map +1 -1
- package/dist/services/registry-client.js +239 -34
- package/dist/services/registry-client.js.map +1 -1
- package/dist/services/settings-manager.d.ts +151 -0
- package/dist/services/settings-manager.d.ts.map +1 -0
- package/dist/services/settings-manager.js +333 -0
- package/dist/services/settings-manager.js.map +1 -0
- package/dist/types/claude-settings.d.ts +155 -0
- package/dist/types/claude-settings.d.ts.map +1 -0
- package/dist/types/claude-settings.js +20 -0
- package/dist/types/claude-settings.js.map +1 -0
- package/dist/types/converter.d.ts +98 -0
- package/dist/types/converter.d.ts.map +1 -0
- package/dist/types/converter.js +6 -0
- package/dist/types/converter.js.map +1 -0
- package/dist/types/craftdesk-json.d.ts +76 -3
- package/dist/types/craftdesk-json.d.ts.map +1 -1
- package/dist/types/craftdesk-lock.d.ts +62 -1
- package/dist/types/craftdesk-lock.d.ts.map +1 -1
- package/dist/types/multi-agent.d.ts +85 -0
- package/dist/types/multi-agent.d.ts.map +1 -0
- package/dist/types/multi-agent.js +6 -0
- package/dist/types/multi-agent.js.map +1 -0
- package/dist/utils/crypto.d.ts +23 -0
- package/dist/utils/crypto.d.ts.map +1 -0
- package/dist/utils/crypto.js +52 -0
- package/dist/utils/crypto.js.map +1 -0
- package/dist/utils/file-system.d.ts +43 -0
- package/dist/utils/file-system.d.ts.map +1 -1
- package/dist/utils/file-system.js +45 -2
- package/dist/utils/file-system.js.map +1 -1
- package/dist/utils/logger.d.ts +75 -0
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +76 -1
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/version-utils.d.ts +63 -0
- package/dist/utils/version-utils.d.ts.map +1 -0
- package/dist/utils/version-utils.js +130 -0
- package/dist/utils/version-utils.js.map +1 -0
- package/package.json +36 -9
- package/.claude/settings.local.json +0 -19
- package/.github/workflows/ci.yml +0 -94
- package/API.md +0 -414
- package/TESTING.md +0 -263
- package/dist/commands/config.d.ts +0 -3
- package/dist/commands/config.d.ts.map +0 -1
- package/dist/commands/config.js +0 -56
- package/dist/commands/config.js.map +0 -1
- package/dist/types/config.d.ts +0 -17
- package/dist/types/config.d.ts.map +0 -1
- package/dist/types/config.js +0 -3
- package/dist/types/config.js.map +0 -1
- package/docs/DEPENDENCY_RESOLUTION.md +0 -237
- package/examples/craftdesk-all-sources.json +0 -79
- package/examples/craftdesk-git-monorepo.json +0 -41
- package/examples/craftdesk-multi-registry.json +0 -40
- package/examples/craftdesk-with-registries.json +0 -49
- package/examples/simple-craftdesk.json +0 -10
- package/src/commands/add.ts +0 -314
- package/src/commands/init.ts +0 -55
- package/src/commands/install.ts +0 -126
- package/src/commands/list.ts +0 -126
- package/src/commands/remove.ts +0 -82
- package/src/index.ts +0 -56
- package/src/services/config-manager.ts +0 -150
- package/src/services/git-resolver.ts +0 -373
- package/src/services/installer.ts +0 -314
- package/src/services/registry-client.ts +0 -163
- package/src/types/craftdesk-json.ts +0 -53
- package/src/types/craftdesk-lock.ts +0 -38
- package/src/utils/file-system.ts +0 -55
- package/src/utils/logger.ts +0 -82
- package/tests/fixtures/craftdesk-git.json +0 -17
- package/tests/fixtures/craftdesk.json +0 -15
- package/tests/helpers/test-utils.ts +0 -60
- package/tests/integration/init-command.test.ts +0 -70
- package/tests/integration/list-command.test.ts +0 -77
- package/tests/unit/config-manager.test.ts +0 -228
- package/tests/unit/git-resolver.test.ts +0 -303
- package/tests/unit/installer.test.ts +0 -105
- package/tsconfig.json +0 -20
- package/vitest.config.ts +0 -29
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* detect-agents command - Detect AI coding assistants
|
|
3
|
+
*
|
|
4
|
+
* Scans the project directory for known AI agent configuration directories
|
|
5
|
+
* and displays which agents are detected and enabled.
|
|
6
|
+
*/
|
|
7
|
+
import { Command } from 'commander';
|
|
8
|
+
/**
|
|
9
|
+
* Creates the 'detect-agents' command for detecting AI coding assistants
|
|
10
|
+
*
|
|
11
|
+
* @returns Commander command instance configured for agent detection
|
|
12
|
+
*/
|
|
13
|
+
export declare function createDetectAgentsCommand(): Command;
|
|
14
|
+
//# sourceMappingURL=detect-agents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detect-agents.d.ts","sourceRoot":"","sources":["../../src/commands/detect-agents.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBpC;;;;GAIG;AACH,wBAAgB,yBAAyB,IAAI,OAAO,CA4EnD"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* detect-agents command - Detect AI coding assistants
|
|
4
|
+
*
|
|
5
|
+
* Scans the project directory for known AI agent configuration directories
|
|
6
|
+
* and displays which agents are detected and enabled.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.createDetectAgentsCommand = createDetectAgentsCommand;
|
|
10
|
+
const commander_1 = require("commander");
|
|
11
|
+
const logger_1 = require("../utils/logger");
|
|
12
|
+
const agent_detector_1 = require("../services/agent-detector");
|
|
13
|
+
/**
|
|
14
|
+
* Creates the 'detect-agents' command for detecting AI coding assistants
|
|
15
|
+
*
|
|
16
|
+
* @returns Commander command instance configured for agent detection
|
|
17
|
+
*/
|
|
18
|
+
function createDetectAgentsCommand() {
|
|
19
|
+
return new commander_1.Command('detect-agents')
|
|
20
|
+
.description('Detect AI coding assistants in the project')
|
|
21
|
+
.option('-v, --verbose', 'Show detailed detection information')
|
|
22
|
+
.option('-f, --format <format>', 'Output format (text or json)', 'text')
|
|
23
|
+
.action(async (options) => {
|
|
24
|
+
try {
|
|
25
|
+
logger_1.logger.startSpinner('Detecting AI coding assistants...');
|
|
26
|
+
const result = await agent_detector_1.agentDetector.detectAgents();
|
|
27
|
+
logger_1.logger.stopSpinner();
|
|
28
|
+
if (options.format === 'json') {
|
|
29
|
+
// JSON output
|
|
30
|
+
console.log(JSON.stringify(result, null, 2));
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
// Text output
|
|
34
|
+
console.log('\n🔍 AI Coding Assistant Detection\n');
|
|
35
|
+
if (result.detected.length === 0) {
|
|
36
|
+
console.log('❌ No AI coding assistants detected\n');
|
|
37
|
+
console.log('Tip: Initialize a .claude/ directory with `craftdesk init`');
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
// Show detected agents
|
|
41
|
+
console.log('Detected Agents:');
|
|
42
|
+
for (const agent of result.detected) {
|
|
43
|
+
const status = agent.enabled ? '✅ Enabled' : agent.detected ? '⚪ Available' : '⚫ Not found';
|
|
44
|
+
const marker = agent.enabled ? '✓' : agent.detected ? '○' : '·';
|
|
45
|
+
console.log(` ${marker} ${agent.displayName}`);
|
|
46
|
+
console.log(` Directory: ${agent.skillsDir}`);
|
|
47
|
+
if (agent.detected) {
|
|
48
|
+
console.log(` Status: ${status}`);
|
|
49
|
+
}
|
|
50
|
+
if (options.verbose) {
|
|
51
|
+
console.log(` Name: ${agent.name}`);
|
|
52
|
+
console.log(` Detected: ${agent.detected}`);
|
|
53
|
+
console.log(` Enabled: ${agent.enabled}`);
|
|
54
|
+
}
|
|
55
|
+
console.log('');
|
|
56
|
+
}
|
|
57
|
+
// Show summary
|
|
58
|
+
const enabledCount = result.enabled.length;
|
|
59
|
+
const detectedCount = result.detected.filter(a => a.detected).length;
|
|
60
|
+
console.log(`Summary:`);
|
|
61
|
+
console.log(` Detected: ${detectedCount} agent(s)`);
|
|
62
|
+
console.log(` Enabled: ${enabledCount} agent(s)`);
|
|
63
|
+
if (result.suggested.length > 0) {
|
|
64
|
+
console.log(`\n💡 Suggested Actions:`);
|
|
65
|
+
console.log(` ${result.suggested.length} agent(s) available but not enabled for sync`);
|
|
66
|
+
console.log(` Run \`craftdesk setup-multi-agent\` to enable multi-agent sync\n`);
|
|
67
|
+
}
|
|
68
|
+
else if (enabledCount === 1 && detectedCount > 1) {
|
|
69
|
+
console.log(`\n💡 Tip:`);
|
|
70
|
+
console.log(` You have multiple agents but sync is only enabled for one.`);
|
|
71
|
+
console.log(` Run \`craftdesk setup-multi-agent\` to sync across all agents.\n`);
|
|
72
|
+
}
|
|
73
|
+
else if (enabledCount > 1) {
|
|
74
|
+
console.log(`\n✨ Multi-agent sync is active!`);
|
|
75
|
+
console.log(` Skills will be synced across all enabled agents.\n`);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
logger_1.logger.failSpinner('Failed to detect agents');
|
|
80
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
81
|
+
logger_1.logger.error(`Error: ${message}`);
|
|
82
|
+
process.exit(1);
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=detect-agents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detect-agents.js","sourceRoot":"","sources":["../../src/commands/detect-agents.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAuBH,8DA4EC;AAjGD,yCAAoC;AACpC,4CAAyC;AACzC,+DAA2D;AAc3D;;;;GAIG;AACH,SAAgB,yBAAyB;IACvC,OAAO,IAAI,mBAAO,CAAC,eAAe,CAAC;SAClC,WAAW,CAAC,4CAA4C,CAAC;SACzD,MAAM,CAAC,eAAe,EAAE,qCAAqC,CAAC;SAC9D,MAAM,CAAC,uBAAuB,EAAE,8BAA8B,EAAE,MAAM,CAAC;SACvE,MAAM,CAAC,KAAK,EAAE,OAA4B,EAAE,EAAE;QAC7C,IAAI,CAAC;YACH,eAAM,CAAC,YAAY,CAAC,mCAAmC,CAAC,CAAC;YAEzD,MAAM,MAAM,GAAG,MAAM,8BAAa,CAAC,YAAY,EAAE,CAAC;YAElD,eAAM,CAAC,WAAW,EAAE,CAAC;YAErB,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC9B,cAAc;gBACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC7C,OAAO;YACT,CAAC;YAED,cAAc;YACd,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;YAEpD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjC,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;gBACpD,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;gBAC1E,OAAO;YACT,CAAC;YAED,uBAAuB;YACvB,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAChC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC;gBAC5F,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBAEhE,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;gBAChD,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;gBACjD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACnB,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,EAAE,CAAC,CAAC;gBACvC,CAAC;gBAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpB,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;oBACvC,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAC/C,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC/C,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC;YAED,eAAe;YACf,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YAC3C,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;YAErE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,eAAe,aAAa,WAAW,CAAC,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,cAAc,YAAY,WAAW,CAAC,CAAC;YAEnD,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;gBACvC,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,SAAS,CAAC,MAAM,8CAA8C,CAAC,CAAC;gBACxF,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC;YACpF,CAAC;iBAAM,IAAI,YAAY,KAAK,CAAC,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;gBACnD,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;gBAC5E,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC;YACpF,CAAC;iBAAM,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;gBAC/C,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;YACtE,CAAC;QAEH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC;YAC9C,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,eAAM,CAAC,KAAK,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* embed command - Register a local/embedded skill
|
|
3
|
+
*
|
|
4
|
+
* Marks a skill as embedded (project-specific, committed to git)
|
|
5
|
+
* instead of managed (installed via craftdesk install).
|
|
6
|
+
*/
|
|
7
|
+
import { Command } from 'commander';
|
|
8
|
+
/**
|
|
9
|
+
* Creates the 'embed' command for registering embedded skills
|
|
10
|
+
*
|
|
11
|
+
* @returns Commander command instance configured for embedding skills
|
|
12
|
+
*/
|
|
13
|
+
export declare function createEmbedCommand(): Command;
|
|
14
|
+
//# sourceMappingURL=embed.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embed.d.ts","sourceRoot":"","sources":["../../src/commands/embed.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqBpC;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAuH5C"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* embed command - Register a local/embedded skill
|
|
4
|
+
*
|
|
5
|
+
* Marks a skill as embedded (project-specific, committed to git)
|
|
6
|
+
* instead of managed (installed via craftdesk install).
|
|
7
|
+
*/
|
|
8
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.createEmbedCommand = createEmbedCommand;
|
|
13
|
+
const commander_1 = require("commander");
|
|
14
|
+
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
15
|
+
const path_1 = __importDefault(require("path"));
|
|
16
|
+
const logger_1 = require("../utils/logger");
|
|
17
|
+
const config_manager_1 = require("../services/config-manager");
|
|
18
|
+
const gitignore_manager_1 = require("../services/gitignore-manager");
|
|
19
|
+
const multi_agent_sync_1 = require("../services/multi-agent-sync");
|
|
20
|
+
/**
|
|
21
|
+
* Creates the 'embed' command for registering embedded skills
|
|
22
|
+
*
|
|
23
|
+
* @returns Commander command instance configured for embedding skills
|
|
24
|
+
*/
|
|
25
|
+
function createEmbedCommand() {
|
|
26
|
+
return new commander_1.Command('embed')
|
|
27
|
+
.description('Register a local/embedded skill (committed to git)')
|
|
28
|
+
.argument('<name>', 'Name of the skill to embed')
|
|
29
|
+
.option('-t, --type <type>', 'Craft type (skill, agent, command, hook)', 'skill')
|
|
30
|
+
.option('--skip-sync', 'Skip multi-agent sync after embedding')
|
|
31
|
+
.action(async (name, options) => {
|
|
32
|
+
try {
|
|
33
|
+
logger_1.logger.startSpinner(`Embedding ${name}...`);
|
|
34
|
+
const craftDeskPath = path_1.default.join(process.cwd(), 'craftdesk.json');
|
|
35
|
+
// Check if craftdesk.json exists
|
|
36
|
+
if (!await fs_extra_1.default.pathExists(craftDeskPath)) {
|
|
37
|
+
logger_1.logger.failSpinner('No craftdesk.json found');
|
|
38
|
+
logger_1.logger.error('Run `craftdesk init` first to create craftdesk.json');
|
|
39
|
+
process.exit(1);
|
|
40
|
+
}
|
|
41
|
+
// Read current config directly from file (don't use cache)
|
|
42
|
+
const config = await fs_extra_1.default.readJson(craftDeskPath);
|
|
43
|
+
if (!config) {
|
|
44
|
+
logger_1.logger.failSpinner('Failed to read craftdesk.json');
|
|
45
|
+
process.exit(1);
|
|
46
|
+
}
|
|
47
|
+
// Check if skill directory exists
|
|
48
|
+
const installPath = config_manager_1.configManager.getInstallPath();
|
|
49
|
+
const typeDir = getTypeDirectory(options.type || 'skill');
|
|
50
|
+
const craftDir = path_1.default.join(process.cwd(), installPath, typeDir, name);
|
|
51
|
+
if (!await fs_extra_1.default.pathExists(craftDir)) {
|
|
52
|
+
logger_1.logger.failSpinner(`${name} not found`);
|
|
53
|
+
logger_1.logger.error(`Directory not found: ${craftDir}`);
|
|
54
|
+
logger_1.logger.info(`Create the ${options.type || 'skill'} first or use --type to specify correct type`);
|
|
55
|
+
process.exit(1);
|
|
56
|
+
}
|
|
57
|
+
// Check if already embedded
|
|
58
|
+
const embedded = config.embedded || [];
|
|
59
|
+
if (embedded.includes(name)) {
|
|
60
|
+
logger_1.logger.failSpinner(`${name} is already embedded`);
|
|
61
|
+
logger_1.logger.info('Use `craftdesk unembed` to remove it from embedded list');
|
|
62
|
+
process.exit(1);
|
|
63
|
+
}
|
|
64
|
+
// Check if it's a managed dependency
|
|
65
|
+
if (config.dependencies && name in config.dependencies) {
|
|
66
|
+
logger_1.logger.failSpinner(`${name} is a managed dependency`);
|
|
67
|
+
logger_1.logger.error(`Cannot embed a managed dependency. Remove it from dependencies first with:`);
|
|
68
|
+
logger_1.logger.info(` craftdesk remove ${name}`);
|
|
69
|
+
process.exit(1);
|
|
70
|
+
}
|
|
71
|
+
// Add to embedded list
|
|
72
|
+
const updatedConfig = {
|
|
73
|
+
...config,
|
|
74
|
+
embedded: [...embedded, name]
|
|
75
|
+
};
|
|
76
|
+
// Write updated config
|
|
77
|
+
await fs_extra_1.default.writeFile(craftDeskPath, JSON.stringify(updatedConfig, null, 2) + '\n', 'utf-8');
|
|
78
|
+
logger_1.logger.succeedSpinner(`Embedded ${name}`);
|
|
79
|
+
// Update .gitignore
|
|
80
|
+
logger_1.logger.startSpinner('Updating .gitignore...');
|
|
81
|
+
await gitignore_manager_1.gitIgnoreManager.autoUpdate();
|
|
82
|
+
logger_1.logger.succeedSpinner('Updated .gitignore');
|
|
83
|
+
// Sync to other agents if multi-agent enabled
|
|
84
|
+
if (!options.skipSync) {
|
|
85
|
+
const multiAgentConfig = updatedConfig.multiAgent;
|
|
86
|
+
if (multiAgentConfig?.enabled && multiAgentConfig?.autoSync) {
|
|
87
|
+
logger_1.logger.startSpinner('Syncing to other agents...');
|
|
88
|
+
try {
|
|
89
|
+
const result = await multi_agent_sync_1.multiAgentSync.syncCraft(name, craftDir);
|
|
90
|
+
if (result.synced.length > 1) {
|
|
91
|
+
logger_1.logger.succeedSpinner(`Synced to ${result.synced.length - 1} agent(s)`);
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
logger_1.logger.succeedSpinner('Sync complete');
|
|
95
|
+
}
|
|
96
|
+
if (result.failed.length > 0) {
|
|
97
|
+
logger_1.logger.warn(`Failed to sync to ${result.failed.length} location(s)`);
|
|
98
|
+
for (const failure of result.failed) {
|
|
99
|
+
logger_1.logger.warn(` ${failure.path}: ${failure.error}`);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
catch (error) {
|
|
104
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
105
|
+
logger_1.logger.warn(`Failed to sync: ${message}`);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
console.log('');
|
|
110
|
+
console.log(`✅ ${name} is now embedded (committed to git)`);
|
|
111
|
+
console.log('');
|
|
112
|
+
console.log('Next steps:');
|
|
113
|
+
console.log(` • Edit the ${options.type || 'skill'} in: ${craftDir}`);
|
|
114
|
+
console.log(` • Commit to git: git add ${craftDir}`);
|
|
115
|
+
console.log(` • Team members will get it via git clone (not craftdesk install)`);
|
|
116
|
+
console.log('');
|
|
117
|
+
}
|
|
118
|
+
catch (error) {
|
|
119
|
+
logger_1.logger.failSpinner('Failed to embed skill');
|
|
120
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
121
|
+
logger_1.logger.error(`Error: ${message}`);
|
|
122
|
+
process.exit(1);
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Get type directory name
|
|
128
|
+
*
|
|
129
|
+
* @param type - The craft type
|
|
130
|
+
* @returns Directory name for the craft type
|
|
131
|
+
* @private
|
|
132
|
+
*/
|
|
133
|
+
function getTypeDirectory(type) {
|
|
134
|
+
switch (type) {
|
|
135
|
+
case 'skill':
|
|
136
|
+
return 'skills';
|
|
137
|
+
case 'agent':
|
|
138
|
+
return 'agents';
|
|
139
|
+
case 'command':
|
|
140
|
+
return 'commands';
|
|
141
|
+
case 'hook':
|
|
142
|
+
return 'hooks';
|
|
143
|
+
default:
|
|
144
|
+
return 'skills';
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=embed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embed.js","sourceRoot":"","sources":["../../src/commands/embed.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
/**
|
|
3
|
+
* Creates the 'info' command for displaying detailed craft information
|
|
4
|
+
*
|
|
5
|
+
* @returns Commander command instance configured for showing craft info
|
|
6
|
+
*/
|
|
7
|
+
export declare function createInfoCommand(): Command;
|
|
8
|
+
//# sourceMappingURL=info.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../src/commands/info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAQ3C"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createInfoCommand = createInfoCommand;
|
|
4
|
+
const commander_1 = require("commander");
|
|
5
|
+
const registry_client_1 = require("../services/registry-client");
|
|
6
|
+
const logger_1 = require("../utils/logger");
|
|
7
|
+
/**
|
|
8
|
+
* Creates the 'info' command for displaying detailed craft information
|
|
9
|
+
*
|
|
10
|
+
* @returns Commander command instance configured for showing craft info
|
|
11
|
+
*/
|
|
12
|
+
function createInfoCommand() {
|
|
13
|
+
return new commander_1.Command('info')
|
|
14
|
+
.description('Show detailed information about a craft')
|
|
15
|
+
.argument('<craft>', 'Craft name (author/name format)')
|
|
16
|
+
.option('--json', 'Output as JSON')
|
|
17
|
+
.action(async (craftName, options) => {
|
|
18
|
+
await infoCommand(craftName, options);
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
async function infoCommand(craftName, options) {
|
|
22
|
+
try {
|
|
23
|
+
logger_1.logger.startSpinner(`Fetching info for ${craftName}...`);
|
|
24
|
+
const craftInfo = await registry_client_1.registryClient.getCraftInfo(craftName);
|
|
25
|
+
if (!craftInfo) {
|
|
26
|
+
logger_1.logger.failSpinner(`Craft '${craftName}' not found in registry`);
|
|
27
|
+
process.exit(1);
|
|
28
|
+
}
|
|
29
|
+
logger_1.logger.succeedSpinner(`Found ${craftInfo.author}/${craftInfo.name}`);
|
|
30
|
+
if (options.json) {
|
|
31
|
+
console.log(JSON.stringify(craftInfo, null, 2));
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
console.log('');
|
|
35
|
+
console.log(` Name: ${craftInfo.author}/${craftInfo.name}`);
|
|
36
|
+
console.log(` Version: ${craftInfo.version}`);
|
|
37
|
+
console.log(` Type: ${craftInfo.type}`);
|
|
38
|
+
if (craftInfo.description) {
|
|
39
|
+
console.log(` Description: ${craftInfo.description}`);
|
|
40
|
+
}
|
|
41
|
+
// Fetch available versions
|
|
42
|
+
logger_1.logger.startSpinner('Fetching available versions...');
|
|
43
|
+
const versions = await registry_client_1.registryClient.listVersions(craftName);
|
|
44
|
+
logger_1.logger.succeedSpinner('');
|
|
45
|
+
if (versions && versions.length > 0) {
|
|
46
|
+
console.log(` Available versions: ${versions.join(', ')}`);
|
|
47
|
+
}
|
|
48
|
+
if (craftInfo.dependencies && Object.keys(craftInfo.dependencies).length > 0) {
|
|
49
|
+
console.log('\n Dependencies:');
|
|
50
|
+
for (const [dep, version] of Object.entries(craftInfo.dependencies)) {
|
|
51
|
+
console.log(` - ${dep}: ${version}`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
console.log('');
|
|
55
|
+
console.log(`To install: craftdesk add ${craftInfo.author}/${craftInfo.name}`);
|
|
56
|
+
console.log(`To install specific version: craftdesk add ${craftInfo.author}/${craftInfo.name}@${craftInfo.version}`);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
logger_1.logger.failSpinner();
|
|
61
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
62
|
+
logger_1.logger.error(`Failed to get craft info: ${message}`);
|
|
63
|
+
process.exit(1);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=info.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/commands/info.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/init.d.ts
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
|
+
/**
|
|
3
|
+
* Creates the 'init' command for initializing a new craftdesk.json file
|
|
4
|
+
*
|
|
5
|
+
* @returns Commander command instance configured for project initialization
|
|
6
|
+
*/
|
|
2
7
|
export declare function createInitCommand(): Command;
|
|
3
8
|
//# sourceMappingURL=init.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBpC;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAa3C"}
|
package/dist/commands/init.js
CHANGED
|
@@ -8,6 +8,11 @@ const commander_1 = require("commander");
|
|
|
8
8
|
const path_1 = __importDefault(require("path"));
|
|
9
9
|
const file_system_1 = require("../utils/file-system");
|
|
10
10
|
const logger_1 = require("../utils/logger");
|
|
11
|
+
/**
|
|
12
|
+
* Creates the 'init' command for initializing a new craftdesk.json file
|
|
13
|
+
*
|
|
14
|
+
* @returns Commander command instance configured for project initialization
|
|
15
|
+
*/
|
|
11
16
|
function createInitCommand() {
|
|
12
17
|
return new commander_1.Command('init')
|
|
13
18
|
.description('Initialize a new craftdesk.json file')
|
|
@@ -31,7 +36,7 @@ async function initCommand(options) {
|
|
|
31
36
|
}
|
|
32
37
|
const config = {
|
|
33
38
|
name: options.name || path_1.default.basename(process.cwd()),
|
|
34
|
-
version: options.projectVersion,
|
|
39
|
+
version: options.projectVersion || '1.0.0',
|
|
35
40
|
type: options.type,
|
|
36
41
|
description: options.description || undefined,
|
|
37
42
|
author: options.author || undefined,
|
|
@@ -50,7 +55,8 @@ async function initCommand(options) {
|
|
|
50
55
|
logger_1.logger.info('Run "craftdesk add <craft>" to add dependencies');
|
|
51
56
|
}
|
|
52
57
|
catch (error) {
|
|
53
|
-
|
|
58
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
59
|
+
logger_1.logger.error(`Failed to initialize: ${message}`);
|
|
54
60
|
process.exit(1);
|
|
55
61
|
}
|
|
56
62
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":";;;;;AAwBA,8CAaC;AArCD,yCAAoC;AACpC,gDAAwB;AAExB,sDAAkE;AAClE,4CAAyC;AAezC;;;;GAIG;AACH,SAAgB,iBAAiB;IAC/B,OAAO,IAAI,mBAAO,CAAC,MAAM,CAAC;SACvB,WAAW,CAAC,sCAAsC,CAAC;SACnD,MAAM,CAAC,WAAW,EAAE,+BAA+B,CAAC;SACpD,MAAM,CAAC,mBAAmB,EAAE,cAAc,CAAC;SAC3C,MAAM,CAAC,6BAA6B,EAAE,iBAAiB,EAAE,OAAO,CAAC;SACjE,MAAM,CAAC,mBAAmB,EAAE,oDAAoD,EAAE,OAAO,CAAC;SAC1F,MAAM,CAAC,0BAA0B,EAAE,qBAAqB,CAAC;SACzD,MAAM,CAAC,uBAAuB,EAAE,aAAa,CAAC;SAC9C,MAAM,CAAC,yBAAyB,EAAE,SAAS,EAAE,KAAK,CAAC;SACnD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,OAA2B;IACpD,IAAI,CAAC;QACH,yCAAyC;QACzC,IAAI,MAAM,IAAA,oBAAM,EAAC,gBAAgB,CAAC,EAAE,CAAC;YACnC,eAAM,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;YAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,MAAM,GAAkB;YAC5B,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,cAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YAClD,OAAO,EAAE,OAAO,CAAC,cAAc,IAAI,OAAO;YAC1C,IAAI,EAAE,OAAO,CAAC,IAAoF;YAClG,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,SAAS;YAC7C,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,SAAS;YACnC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,SAAS;YACrC,YAAY,EAAE,EAAE;YAChB,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,GAAG,EAAE,sBAAsB;iBAC5B;aACF;SACF,CAAC;QAEF,uBAAuB;QACvB,MAAM,IAAA,gCAAkB,EAAC,MAAM,CAAC,CAAC;QAEjC,eAAM,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QACzC,eAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QAC/D,eAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;IACjE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,eAAM,CAAC,KAAK,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
|
+
/**
|
|
3
|
+
* Creates the 'install' command for installing all dependencies from craftdesk.json
|
|
4
|
+
*
|
|
5
|
+
* @returns Commander command instance configured for dependency installation
|
|
6
|
+
*/
|
|
2
7
|
export declare function createInstallCommand(): Command;
|
|
3
8
|
//# sourceMappingURL=install.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAepC;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAQ9C"}
|
package/dist/commands/install.js
CHANGED
|
@@ -7,6 +7,11 @@ const logger_1 = require("../utils/logger");
|
|
|
7
7
|
const registry_client_1 = require("../services/registry-client");
|
|
8
8
|
const git_resolver_1 = require("../services/git-resolver");
|
|
9
9
|
const installer_1 = require("../services/installer");
|
|
10
|
+
/**
|
|
11
|
+
* Creates the 'install' command for installing all dependencies from craftdesk.json
|
|
12
|
+
*
|
|
13
|
+
* @returns Commander command instance configured for dependency installation
|
|
14
|
+
*/
|
|
10
15
|
function createInstallCommand() {
|
|
11
16
|
return new commander_1.Command('install')
|
|
12
17
|
.description('Install all dependencies from craftdesk.json')
|
|
@@ -34,6 +39,13 @@ async function installCommand(options) {
|
|
|
34
39
|
if (lockfile) {
|
|
35
40
|
// Install from lockfile
|
|
36
41
|
logger_1.logger.info('Installing from craftdesk.lock...');
|
|
42
|
+
// Show plugin tree info if present
|
|
43
|
+
if (lockfile.pluginTree && Object.keys(lockfile.pluginTree).length > 0) {
|
|
44
|
+
const pluginCount = Object.keys(lockfile.pluginTree).length;
|
|
45
|
+
const directPlugins = Object.values(lockfile.pluginTree).filter(p => !p.isDependency).length;
|
|
46
|
+
const depPlugins = pluginCount - directPlugins;
|
|
47
|
+
logger_1.logger.info(`Plugin dependencies: ${directPlugins} direct, ${depPlugins} transitive`);
|
|
48
|
+
}
|
|
37
49
|
logger_1.logger.startSpinner('Installing crafts...');
|
|
38
50
|
await installer_1.installer.installFromLockfile(lockfile);
|
|
39
51
|
logger_1.logger.success('Installation complete!');
|
|
@@ -63,13 +75,20 @@ async function installCommand(options) {
|
|
|
63
75
|
// For registry dependencies that need resolution, fetch their info
|
|
64
76
|
logger_1.logger.startSpinner('Fetching registry crafts...');
|
|
65
77
|
for (const [name, entry] of Object.entries(resolution.resolved)) {
|
|
66
|
-
if
|
|
78
|
+
// Check if this is a registry dependency that needs resolution
|
|
79
|
+
if (entry.resolved === 'registry' && entry.integrity === 'pending') {
|
|
67
80
|
const craftInfo = await registry_client_1.registryClient.getCraftInfo(name, entry.version, entry.registry);
|
|
68
81
|
if (craftInfo) {
|
|
82
|
+
// Require download_url from registry - no defaults for security
|
|
83
|
+
if (!craftInfo.download_url) {
|
|
84
|
+
logger_1.logger.failSpinner();
|
|
85
|
+
logger_1.logger.error(`Registry did not provide download URL for ${name}@${craftInfo.version}`);
|
|
86
|
+
process.exit(1);
|
|
87
|
+
}
|
|
69
88
|
resolution.resolved[name] = {
|
|
70
89
|
version: craftInfo.version,
|
|
71
|
-
resolved: craftInfo.download_url
|
|
72
|
-
integrity: craftInfo.integrity || 'sha256-
|
|
90
|
+
resolved: craftInfo.download_url,
|
|
91
|
+
integrity: craftInfo.integrity || 'sha256-pending',
|
|
73
92
|
type: craftInfo.type,
|
|
74
93
|
author: craftInfo.author,
|
|
75
94
|
dependencies: craftInfo.dependencies || {}
|
|
@@ -101,8 +120,9 @@ async function installCommand(options) {
|
|
|
101
120
|
}
|
|
102
121
|
}
|
|
103
122
|
catch (error) {
|
|
123
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
104
124
|
logger_1.logger.failSpinner();
|
|
105
|
-
logger_1.logger.error(`Installation failed: ${
|
|
125
|
+
logger_1.logger.error(`Installation failed: ${message}`);
|
|
106
126
|
process.exit(1);
|
|
107
127
|
}
|
|
108
128
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/list.d.ts
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
|
+
/**
|
|
3
|
+
* Creates the 'list' command for listing installed crafts
|
|
4
|
+
*
|
|
5
|
+
* @returns Commander command instance configured for listing crafts
|
|
6
|
+
*/
|
|
2
7
|
export declare function createListCommand(): Command;
|
|
3
8
|
//# sourceMappingURL=list.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAS3C"}
|