skillpkg-cli 0.1.1 → 0.3.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/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +40 -3
- package/dist/cli.js.map +1 -1
- package/dist/commands/deps.d.ts +17 -0
- package/dist/commands/deps.d.ts.map +1 -0
- package/dist/commands/deps.js +234 -0
- package/dist/commands/deps.js.map +1 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +77 -107
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +272 -148
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +47 -17
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/migrate.d.ts +10 -0
- package/dist/commands/migrate.d.ts.map +1 -0
- package/dist/commands/migrate.js +122 -0
- package/dist/commands/migrate.js.map +1 -0
- package/dist/commands/search.d.ts +0 -3
- package/dist/commands/search.d.ts.map +1 -1
- package/dist/commands/search.js +38 -44
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/status.d.ts +9 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +180 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +105 -127
- package/dist/commands/sync.js.map +1 -1
- package/dist/commands/uninstall.d.ts +1 -0
- package/dist/commands/uninstall.d.ts.map +1 -1
- package/dist/commands/uninstall.js +56 -12
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/index.js +0 -0
- package/package.json +8 -8
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/commands/migrate.ts"],"names":[],"mappings":"AAeA,UAAU,cAAc;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAkI3E"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* migrate command - Migrate from v1.x to v2.0
|
|
3
|
+
*
|
|
4
|
+
* Generates skillpkg.json and state.json from existing v1.x store.
|
|
5
|
+
*/
|
|
6
|
+
import { existsSync } from 'fs';
|
|
7
|
+
import { join } from 'path';
|
|
8
|
+
import { createConfigManager, createStateManager, createLocalStore, } from 'skillpkg-core';
|
|
9
|
+
import { logger, colors, withSpinner } from '../ui/index.js';
|
|
10
|
+
/**
|
|
11
|
+
* migrate command handler
|
|
12
|
+
*/
|
|
13
|
+
export async function migrateCommand(options) {
|
|
14
|
+
const cwd = process.cwd();
|
|
15
|
+
const storeDir = join(cwd, '.skillpkg');
|
|
16
|
+
const skillpkgJsonPath = join(cwd, 'skillpkg.json');
|
|
17
|
+
const stateJsonPath = join(storeDir, 'state.json');
|
|
18
|
+
logger.header('Migrate to skillpkg v2.0');
|
|
19
|
+
// Check if v1.x store exists
|
|
20
|
+
if (!existsSync(storeDir)) {
|
|
21
|
+
logger.error('No .skillpkg directory found');
|
|
22
|
+
logger.log('Nothing to migrate. Use `skillpkg init` to create a new project.');
|
|
23
|
+
process.exit(1);
|
|
24
|
+
}
|
|
25
|
+
// Check if already migrated
|
|
26
|
+
if (existsSync(skillpkgJsonPath) && !options.force) {
|
|
27
|
+
logger.warn('skillpkg.json already exists');
|
|
28
|
+
logger.log(`Use ${colors.cyan('--force')} to overwrite`);
|
|
29
|
+
process.exit(1);
|
|
30
|
+
}
|
|
31
|
+
if (existsSync(stateJsonPath) && !options.force) {
|
|
32
|
+
logger.warn('state.json already exists');
|
|
33
|
+
logger.log(`Use ${colors.cyan('--force')} to overwrite`);
|
|
34
|
+
process.exit(1);
|
|
35
|
+
}
|
|
36
|
+
// Get existing skills from v1.x store
|
|
37
|
+
const store = createLocalStore();
|
|
38
|
+
if (!(await store.isInitialized())) {
|
|
39
|
+
logger.error('Store is not properly initialized');
|
|
40
|
+
logger.log('Run `skillpkg init` to create a new project.');
|
|
41
|
+
process.exit(1);
|
|
42
|
+
}
|
|
43
|
+
const skills = await store.listSkills();
|
|
44
|
+
if (skills.length === 0) {
|
|
45
|
+
logger.warn('No skills found in store');
|
|
46
|
+
logger.log('Creating empty skillpkg.json...');
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
logger.log(`Found ${colors.cyan(String(skills.length))} skill(s) to migrate`);
|
|
50
|
+
}
|
|
51
|
+
if (options.dryRun) {
|
|
52
|
+
logger.blank();
|
|
53
|
+
logger.warn('Dry run mode - no changes will be made');
|
|
54
|
+
logger.blank();
|
|
55
|
+
// Show what would be created
|
|
56
|
+
logger.log('Would create:');
|
|
57
|
+
logger.item(`${colors.cyan('skillpkg.json')} - Project configuration`);
|
|
58
|
+
logger.item(`${colors.cyan('.skillpkg/state.json')} - Dependency state`);
|
|
59
|
+
if (skills.length > 0) {
|
|
60
|
+
logger.blank();
|
|
61
|
+
logger.log('Skills to include:');
|
|
62
|
+
for (const skill of skills) {
|
|
63
|
+
logger.item(`${colors.cyan(skill.name)} v${skill.version}`);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
logger.blank();
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
// Create skillpkg.json
|
|
70
|
+
const configManager = createConfigManager();
|
|
71
|
+
const stateManager = createStateManager();
|
|
72
|
+
const newConfig = {
|
|
73
|
+
name: 'migrated-project',
|
|
74
|
+
version: '1.0.0',
|
|
75
|
+
skills: {},
|
|
76
|
+
mcp: {},
|
|
77
|
+
sync_targets: {
|
|
78
|
+
'claude-code': true,
|
|
79
|
+
},
|
|
80
|
+
};
|
|
81
|
+
// Add skills to config (skills is Record<string, string> - name -> source)
|
|
82
|
+
for (const skill of skills) {
|
|
83
|
+
// Determine source from registry entry
|
|
84
|
+
const entry = await store.getSkillEntry(skill.name);
|
|
85
|
+
const source = entry?.sourceUrl || `local:.skillpkg/skills/${skill.name}`;
|
|
86
|
+
// newConfig.skills is optional, but we initialized it above
|
|
87
|
+
if (newConfig.skills) {
|
|
88
|
+
newConfig.skills[skill.name] = source;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
await withSpinner('Creating skillpkg.json', async () => {
|
|
92
|
+
await configManager.saveProjectConfig(cwd, newConfig);
|
|
93
|
+
});
|
|
94
|
+
// Create state.json
|
|
95
|
+
await withSpinner('Creating state.json', async () => {
|
|
96
|
+
// Initialize empty state first
|
|
97
|
+
await stateManager.loadState(cwd);
|
|
98
|
+
// Record each skill as installed by "user" (since they were manually installed in v1.x)
|
|
99
|
+
for (const skill of skills) {
|
|
100
|
+
const entry = await store.getSkillEntry(skill.name);
|
|
101
|
+
const source = entry?.sourceUrl || `local:.skillpkg/skills/${skill.name}`;
|
|
102
|
+
await stateManager.recordSkillInstall(cwd, skill.name, {
|
|
103
|
+
version: skill.version,
|
|
104
|
+
source,
|
|
105
|
+
installed_by: 'user',
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
logger.blank();
|
|
110
|
+
logger.success('Migration complete!');
|
|
111
|
+
logger.blank();
|
|
112
|
+
logger.log('Created files:');
|
|
113
|
+
logger.item(`${colors.cyan('skillpkg.json')} - Project configuration`);
|
|
114
|
+
logger.item(`${colors.cyan('.skillpkg/state.json')} - Dependency state`);
|
|
115
|
+
logger.blank();
|
|
116
|
+
logger.log('Next steps:');
|
|
117
|
+
logger.item(`Edit ${colors.cyan('skillpkg.json')} to customize your project`);
|
|
118
|
+
logger.item(`Run ${colors.cyan('skillpkg sync')} to sync skills to platforms`);
|
|
119
|
+
logger.item(`Run ${colors.cyan('skillpkg status')} to see project status`);
|
|
120
|
+
logger.blank();
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=migrate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/commands/migrate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AASA,UAAU,oBAAoB;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC,CA+Ef"}
|
package/dist/commands/search.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* search command - Search for skills
|
|
2
|
+
* search command - Search for skills on GitHub
|
|
3
|
+
*
|
|
4
|
+
* Uses GitHub API to find repositories with SKILL.md files.
|
|
5
|
+
* SKILL.md is the industry standard for Claude Code and OpenAI Codex.
|
|
3
6
|
*/
|
|
4
|
-
import {
|
|
7
|
+
import { searchGitHubSkills } from 'skillpkg-core';
|
|
5
8
|
import { logger, colors } from '../ui/index.js';
|
|
6
9
|
/**
|
|
7
10
|
* search command handler
|
|
@@ -12,77 +15,68 @@ export async function searchCommand(query, options) {
|
|
|
12
15
|
logger.log(`Usage: ${colors.cyan('skillpkg search <query>')}`);
|
|
13
16
|
process.exit(1);
|
|
14
17
|
}
|
|
15
|
-
|
|
16
|
-
registryUrl: options.registry || DEFAULT_REGISTRY_URL,
|
|
17
|
-
});
|
|
18
|
-
logger.header('Search Skills');
|
|
18
|
+
logger.header('Search Skills on GitHub');
|
|
19
19
|
logger.log(`Searching for: ${colors.cyan(query)}`);
|
|
20
20
|
logger.blank();
|
|
21
21
|
try {
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
searchOptions.limit = parseInt(options.limit, 10);
|
|
25
|
-
}
|
|
26
|
-
if (options.page) {
|
|
27
|
-
searchOptions.page = parseInt(options.page, 10);
|
|
28
|
-
}
|
|
29
|
-
if (options.sort) {
|
|
30
|
-
searchOptions.sort = options.sort;
|
|
31
|
-
}
|
|
32
|
-
const result = await client.search(query, searchOptions);
|
|
22
|
+
const limit = options.limit ? parseInt(options.limit, 10) : 20;
|
|
23
|
+
const results = await searchGitHubSkills(query, { limit });
|
|
33
24
|
// JSON output mode
|
|
34
25
|
if (options.json) {
|
|
35
|
-
console.log(JSON.stringify(
|
|
26
|
+
console.log(JSON.stringify(results, null, 2));
|
|
36
27
|
return;
|
|
37
28
|
}
|
|
38
|
-
if (
|
|
29
|
+
if (results.length === 0) {
|
|
39
30
|
logger.warn('No skills found matching your query');
|
|
31
|
+
logger.log(colors.dim('Try different keywords or check GitHub directly.'));
|
|
40
32
|
return;
|
|
41
33
|
}
|
|
42
|
-
|
|
34
|
+
// Count skills with SKILL.md
|
|
35
|
+
const withSkillMd = results.filter((r) => r.hasSkill).length;
|
|
36
|
+
logger.log(`Found ${colors.cyan(String(results.length))} repository(s)` +
|
|
37
|
+
(withSkillMd > 0 ? ` (${colors.green(String(withSkillMd))} with SKILL.md)` : ''));
|
|
43
38
|
logger.blank();
|
|
44
39
|
// Display results
|
|
45
|
-
for (const item of
|
|
40
|
+
for (const item of results) {
|
|
46
41
|
const name = colors.cyan(item.name);
|
|
47
|
-
const
|
|
48
|
-
const
|
|
49
|
-
logger.log(`${name}${
|
|
42
|
+
const hasSkill = item.hasSkill ? colors.green(' ✓ SKILL.md') : '';
|
|
43
|
+
const stars = colors.yellow(`⭐${formatNumber(item.stars)}`);
|
|
44
|
+
logger.log(`${name}${hasSkill} ${stars}`);
|
|
45
|
+
logger.log(` ${colors.dim(item.fullName)}`);
|
|
50
46
|
if (item.description) {
|
|
51
|
-
logger.log(` ${
|
|
47
|
+
logger.log(` ${item.description}`);
|
|
52
48
|
}
|
|
53
|
-
if (item.
|
|
54
|
-
logger.log(` ${colors.dim('
|
|
49
|
+
if (item.topics && item.topics.length > 0) {
|
|
50
|
+
logger.log(` ${colors.dim('Topics:')} ${item.topics.slice(0, 5).join(', ')}`);
|
|
51
|
+
}
|
|
52
|
+
if (item.installSource) {
|
|
53
|
+
logger.log(` ${colors.dim('Install:')} skillpkg install ${item.installSource}`);
|
|
55
54
|
}
|
|
56
55
|
logger.blank();
|
|
57
56
|
}
|
|
58
|
-
//
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
colors.dim(`Use --page to navigate.`));
|
|
57
|
+
// Tip
|
|
58
|
+
if (withSkillMd === 0) {
|
|
59
|
+
logger.log(colors.dim('Tip: Repositories with SKILL.md can be installed directly. ' +
|
|
60
|
+
'Others may require manual setup.'));
|
|
63
61
|
}
|
|
64
62
|
}
|
|
65
63
|
catch (error) {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
logger.error(`Registry error: ${error.message}`);
|
|
74
|
-
}
|
|
64
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
65
|
+
if (message.includes('rate limit')) {
|
|
66
|
+
logger.error('GitHub API rate limit exceeded');
|
|
67
|
+
logger.log(colors.dim('Set GITHUB_TOKEN environment variable for higher limits:'));
|
|
68
|
+
logger.log(colors.dim(' export GITHUB_TOKEN=your_token_here'));
|
|
75
69
|
}
|
|
76
70
|
else {
|
|
77
|
-
logger.error(`Search failed: ${
|
|
71
|
+
logger.error(`Search failed: ${message}`);
|
|
78
72
|
}
|
|
79
73
|
process.exit(1);
|
|
80
74
|
}
|
|
81
75
|
}
|
|
82
76
|
/**
|
|
83
|
-
* Format
|
|
77
|
+
* Format number for display (1000 -> 1K, 1000000 -> 1M)
|
|
84
78
|
*/
|
|
85
|
-
function
|
|
79
|
+
function formatNumber(count) {
|
|
86
80
|
if (count >= 1000000) {
|
|
87
81
|
return `${(count / 1000000).toFixed(1)}M`;
|
|
88
82
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAcA,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAgCD;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAuLzE"}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* status command - Show overall project status
|
|
3
|
+
*
|
|
4
|
+
* v2.0: Shows skills, MCP, and sync status
|
|
5
|
+
*/
|
|
6
|
+
import { existsSync } from 'fs';
|
|
7
|
+
import { join } from 'path';
|
|
8
|
+
import { createStateManager, createConfigManager, getImplementedTargets, } from 'skillpkg-core';
|
|
9
|
+
import { logger, colors } from '../ui/index.js';
|
|
10
|
+
/**
|
|
11
|
+
* status command handler
|
|
12
|
+
*/
|
|
13
|
+
export async function statusCommand(options) {
|
|
14
|
+
const cwd = process.cwd();
|
|
15
|
+
const stateManager = createStateManager();
|
|
16
|
+
const configManager = createConfigManager();
|
|
17
|
+
// Load state and config
|
|
18
|
+
const state = await stateManager.loadState(cwd);
|
|
19
|
+
const config = await configManager.loadProjectConfig(cwd);
|
|
20
|
+
// Build status output
|
|
21
|
+
const output = {
|
|
22
|
+
project: {
|
|
23
|
+
name: config?.name || null,
|
|
24
|
+
configExists: config !== null,
|
|
25
|
+
stateExists: Object.keys(state.skills).length > 0,
|
|
26
|
+
},
|
|
27
|
+
skills: {
|
|
28
|
+
total: 0,
|
|
29
|
+
userInstalled: 0,
|
|
30
|
+
transitive: 0,
|
|
31
|
+
list: [],
|
|
32
|
+
},
|
|
33
|
+
mcp: {
|
|
34
|
+
configured: 0,
|
|
35
|
+
list: [],
|
|
36
|
+
},
|
|
37
|
+
sync: {
|
|
38
|
+
targetsEnabled: [],
|
|
39
|
+
lastSync: {},
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
// Skills info
|
|
43
|
+
for (const [name, skillState] of Object.entries(state.skills)) {
|
|
44
|
+
output.skills.total++;
|
|
45
|
+
if (skillState.installed_by === 'user') {
|
|
46
|
+
output.skills.userInstalled++;
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
output.skills.transitive++;
|
|
50
|
+
}
|
|
51
|
+
output.skills.list.push({
|
|
52
|
+
name,
|
|
53
|
+
version: skillState.version,
|
|
54
|
+
installedBy: skillState.installed_by,
|
|
55
|
+
source: skillState.source,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
// MCP info
|
|
59
|
+
if (config?.mcp) {
|
|
60
|
+
for (const [name, mcpConfig] of Object.entries(config.mcp)) {
|
|
61
|
+
output.mcp.configured++;
|
|
62
|
+
output.mcp.list.push({
|
|
63
|
+
name,
|
|
64
|
+
command: mcpConfig.command || mcpConfig.package,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
// Sync info
|
|
69
|
+
if (config?.sync_targets) {
|
|
70
|
+
output.sync.targetsEnabled = Object.entries(config.sync_targets)
|
|
71
|
+
.filter(([_, enabled]) => enabled)
|
|
72
|
+
.map(([name]) => name);
|
|
73
|
+
}
|
|
74
|
+
// Get sync history from state
|
|
75
|
+
if (state.sync_history) {
|
|
76
|
+
for (const [target, timestamp] of Object.entries(state.sync_history)) {
|
|
77
|
+
output.sync.lastSync[target] = timestamp
|
|
78
|
+
? new Date(timestamp).toLocaleString()
|
|
79
|
+
: null;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
if (options.json) {
|
|
83
|
+
console.log(JSON.stringify(output, null, 2));
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
// Human-readable output
|
|
87
|
+
logger.header('skillpkg Status');
|
|
88
|
+
logger.blank();
|
|
89
|
+
// Project section
|
|
90
|
+
logger.log(colors.bold('Project'));
|
|
91
|
+
if (config) {
|
|
92
|
+
logger.item(`Name: ${colors.cyan(config.name)}`);
|
|
93
|
+
logger.item(`Config: ${colors.green('skillpkg.json found')}`);
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
logger.item(`Config: ${colors.yellow('No skillpkg.json')}`);
|
|
97
|
+
logger.log(` Run ${colors.cyan('skillpkg init')} to create one`);
|
|
98
|
+
}
|
|
99
|
+
logger.blank();
|
|
100
|
+
// Skills section
|
|
101
|
+
logger.log(colors.bold('Skills'));
|
|
102
|
+
if (output.skills.total === 0) {
|
|
103
|
+
logger.item(colors.dim('No skills installed'));
|
|
104
|
+
logger.log(` Run ${colors.cyan('skillpkg install <skill>')} to install`);
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
logger.item(`Total: ${colors.cyan(String(output.skills.total))} ` +
|
|
108
|
+
`(${output.skills.userInstalled} direct, ${output.skills.transitive} transitive)`);
|
|
109
|
+
// List skills grouped by install type
|
|
110
|
+
const userSkills = output.skills.list.filter((s) => s.installedBy === 'user');
|
|
111
|
+
const transitiveSkills = output.skills.list.filter((s) => s.installedBy !== 'user');
|
|
112
|
+
if (userSkills.length > 0) {
|
|
113
|
+
logger.log(' Direct:');
|
|
114
|
+
for (const skill of userSkills) {
|
|
115
|
+
logger.log(` ${colors.cyan(skill.name)} ${colors.dim(`v${skill.version}`)}`);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
if (transitiveSkills.length > 0) {
|
|
119
|
+
logger.log(' Transitive:');
|
|
120
|
+
for (const skill of transitiveSkills) {
|
|
121
|
+
logger.log(` ${colors.dim(skill.name)} ${colors.dim(`v${skill.version}`)} ` +
|
|
122
|
+
colors.dim(`(via ${skill.installedBy})`));
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
logger.blank();
|
|
127
|
+
// MCP section
|
|
128
|
+
logger.log(colors.bold('MCP Servers'));
|
|
129
|
+
if (output.mcp.configured === 0) {
|
|
130
|
+
logger.item(colors.dim('No MCP servers configured'));
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
logger.item(`Configured: ${colors.cyan(String(output.mcp.configured))}`);
|
|
134
|
+
for (const mcp of output.mcp.list) {
|
|
135
|
+
logger.log(` ${colors.cyan(mcp.name)}: ${colors.dim(mcp.command)}`);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
logger.blank();
|
|
139
|
+
// Sync section
|
|
140
|
+
logger.log(colors.bold('Sync Targets'));
|
|
141
|
+
const implementedTargets = getImplementedTargets();
|
|
142
|
+
const implementedIds = implementedTargets.map((t) => t.id);
|
|
143
|
+
if (output.sync.targetsEnabled.length === 0) {
|
|
144
|
+
logger.item(colors.dim('No sync targets enabled'));
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
for (const target of output.sync.targetsEnabled) {
|
|
148
|
+
const isImplemented = implementedIds.includes(target);
|
|
149
|
+
const lastSync = output.sync.lastSync[target];
|
|
150
|
+
const status = isImplemented
|
|
151
|
+
? lastSync
|
|
152
|
+
? colors.green(`synced ${lastSync}`)
|
|
153
|
+
: colors.yellow('not synced')
|
|
154
|
+
: colors.dim('(not implemented)');
|
|
155
|
+
logger.item(`${colors.cyan(target)}: ${status}`);
|
|
156
|
+
// Check if target directory exists
|
|
157
|
+
const targetConfig = implementedTargets.find((t) => t.id === target);
|
|
158
|
+
if (targetConfig) {
|
|
159
|
+
const targetPath = join(cwd, targetConfig.outputPath);
|
|
160
|
+
const exists = existsSync(targetPath);
|
|
161
|
+
if (!exists) {
|
|
162
|
+
logger.log(` ${colors.dim('Directory not created yet')}`);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
logger.blank();
|
|
168
|
+
// Quick actions
|
|
169
|
+
logger.log(colors.bold('Quick Actions'));
|
|
170
|
+
if (output.skills.total === 0) {
|
|
171
|
+
logger.item(`${colors.cyan('skillpkg search <query>')} - Find skills`);
|
|
172
|
+
logger.item(`${colors.cyan('skillpkg install <skill>')} - Install a skill`);
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
logger.item(`${colors.cyan('skillpkg sync')} - Sync skills to platforms`);
|
|
176
|
+
logger.item(`${colors.cyan('skillpkg tree')} - View dependency tree`);
|
|
177
|
+
}
|
|
178
|
+
logger.blank();
|
|
179
|
+
}
|
|
180
|
+
//# sourceMappingURL=status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAkBA,UAAU,WAAW;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CA+Jf"}
|