skillpkg-cli 0.5.4 → 0.5.7
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 +28 -15
- package/dist/cli.js.map +1 -1
- package/dist/commands/config.d.ts +37 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +238 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/doctor.d.ts +11 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +154 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/info.d.ts +2 -2
- package/dist/commands/info.d.ts.map +1 -1
- package/dist/commands/info.js.map +1 -1
- package/dist/commands/init.d.ts +4 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +456 -75
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/install.d.ts +2 -0
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +79 -10
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/login.d.ts +2 -2
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/publish.d.ts +2 -2
- package/dist/commands/publish.d.ts.map +1 -1
- package/dist/commands/publish.js.map +1 -1
- package/dist/commands/search.d.ts +3 -2
- package/dist/commands/search.d.ts.map +1 -1
- package/dist/commands/search.js +97 -31
- package/dist/commands/search.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 +26 -0
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -1
- package/package.json +8 -7
- package/dist/commands/sync.d.ts +0 -10
- package/dist/commands/sync.js +0 -161
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBzC;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+KvD"}
|
package/dist/cli.js
CHANGED
|
@@ -2,28 +2,33 @@ import { initCommand } from './commands/init.js';
|
|
|
2
2
|
import { installCommand } from './commands/install.js';
|
|
3
3
|
import { listCommand } from './commands/list.js';
|
|
4
4
|
import { uninstallCommand } from './commands/uninstall.js';
|
|
5
|
-
import { syncCommand } from './commands/sync.js';
|
|
6
5
|
import { importCommand } from './commands/import.js';
|
|
7
6
|
import { exportCommand } from './commands/export.js';
|
|
8
7
|
import { searchCommand } from './commands/search.js';
|
|
9
8
|
import { infoCommand } from './commands/info.js';
|
|
9
|
+
import { configCommand } from './commands/config.js';
|
|
10
10
|
// Registry commands - hidden until public registry is available
|
|
11
11
|
// import { loginCommand, logoutCommand, whoamiCommand } from './commands/login.js';
|
|
12
12
|
// import { publishCommand } from './commands/publish.js';
|
|
13
13
|
import { depsCommand, whyCommand, treeCommand } from './commands/deps.js';
|
|
14
14
|
import { statusCommand } from './commands/status.js';
|
|
15
15
|
import { newCommand } from './commands/new.js';
|
|
16
|
+
import { doctorCommand } from './commands/doctor.js';
|
|
16
17
|
// import { migrateCommand } from './commands/migrate.js'; // Hidden until needed
|
|
17
18
|
/**
|
|
18
19
|
* Register all CLI commands
|
|
19
20
|
*/
|
|
20
21
|
export function registerCommands(program) {
|
|
21
|
-
// init - Initialize a skillpkg project
|
|
22
|
+
// init - Initialize a skillpkg project with Claude Code configuration
|
|
22
23
|
program
|
|
23
24
|
.command('init')
|
|
24
|
-
.description('Initialize
|
|
25
|
+
.description('Initialize Claude Code configuration (skillpkg.json + rules + memory)')
|
|
25
26
|
.option('-y, --yes', 'Use default values without prompts')
|
|
26
27
|
.option('-n, --name <name>', 'Project name')
|
|
28
|
+
.option('-p, --preset <preset>', 'Use preset (minimal, standard, full, custom)')
|
|
29
|
+
.option('-d, --domain <domain>', 'Add domain-specific rules (frontend, backend, fullstack, devops)')
|
|
30
|
+
.option('-t, --template <template>', 'Use custom template from GitHub')
|
|
31
|
+
.option('-i, --install', 'Auto-install skills after init')
|
|
27
32
|
.action(initCommand);
|
|
28
33
|
// new - Create a new skill
|
|
29
34
|
program
|
|
@@ -38,6 +43,8 @@ export function registerCommands(program) {
|
|
|
38
43
|
.description('Install a skill from registry or local path')
|
|
39
44
|
.option('-g, --global', 'Install globally')
|
|
40
45
|
.option('--registry <url>', 'Use custom registry')
|
|
46
|
+
.option('--dry-run', 'Show what would be installed without making changes')
|
|
47
|
+
.option('--essential-only', 'Install only SKILL.md without additional files (scripts, references)')
|
|
41
48
|
.action(installCommand);
|
|
42
49
|
// list - List installed skills
|
|
43
50
|
program
|
|
@@ -55,14 +62,14 @@ export function registerCommands(program) {
|
|
|
55
62
|
.option('-g, --global', 'Uninstall from global store')
|
|
56
63
|
.option('-c, --clean', 'Also remove synced files from all platforms')
|
|
57
64
|
.option('-f, --force', 'Force uninstall even if other skills depend on it')
|
|
65
|
+
.option('--dry-run', 'Show what would be removed without making changes')
|
|
58
66
|
.action(uninstallCommand);
|
|
59
|
-
//
|
|
67
|
+
// config - Manage global configuration
|
|
60
68
|
program
|
|
61
|
-
.command('
|
|
62
|
-
.description('
|
|
63
|
-
.option('
|
|
64
|
-
.
|
|
65
|
-
.action(syncCommand);
|
|
69
|
+
.command('config [subcommand] [key] [value]')
|
|
70
|
+
.description('Manage global skillpkg configuration')
|
|
71
|
+
.option('--json', 'Output as JSON')
|
|
72
|
+
.action(configCommand);
|
|
66
73
|
// import - Import skills from platform formats
|
|
67
74
|
program
|
|
68
75
|
.command('import [path]')
|
|
@@ -82,15 +89,13 @@ export function registerCommands(program) {
|
|
|
82
89
|
.option('-a, --all', 'Export all skills')
|
|
83
90
|
.option('--overwrite', 'Overwrite existing files')
|
|
84
91
|
.action(exportCommand);
|
|
85
|
-
// search -
|
|
92
|
+
// search - Multi-source skill discovery
|
|
86
93
|
program
|
|
87
94
|
.command('search <query>')
|
|
88
|
-
.description('Search for skills
|
|
89
|
-
.option('-l, --limit <number>', '
|
|
90
|
-
.option('-
|
|
91
|
-
.option('-s, --sort <field>', 'Sort by (relevance, downloads, updated, name)')
|
|
95
|
+
.description('Search for skills across multiple sources')
|
|
96
|
+
.option('-l, --limit <number>', 'Maximum results to return', '20')
|
|
97
|
+
.option('-s, --source <source>', 'Source to search (local, skillsmp, awesome, github, all)')
|
|
92
98
|
.option('--json', 'Output as JSON')
|
|
93
|
-
.option('--registry <url>', 'Use custom registry')
|
|
94
99
|
.action(searchCommand);
|
|
95
100
|
// info - Get detailed information about a skill
|
|
96
101
|
program
|
|
@@ -152,6 +157,14 @@ export function registerCommands(program) {
|
|
|
152
157
|
.description('Show overall project status (skills, MCP, sync)')
|
|
153
158
|
.option('--json', 'Output as JSON')
|
|
154
159
|
.action(statusCommand);
|
|
160
|
+
// doctor - Diagnose and repair state
|
|
161
|
+
program
|
|
162
|
+
.command('doctor')
|
|
163
|
+
.description('Diagnose and repair skillpkg state inconsistencies')
|
|
164
|
+
.option('--fix', 'Automatically fix detected issues')
|
|
165
|
+
.option('--dry-run', 'Show what would be fixed without making changes')
|
|
166
|
+
.option('--json', 'Output as JSON')
|
|
167
|
+
.action(doctorCommand);
|
|
155
168
|
// migrate - Migrate from v1.x to v2.0
|
|
156
169
|
// Hidden: Not registered in CLI until public release needs migration support
|
|
157
170
|
// To enable: uncomment the command registration below
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* config list - Show all configuration
|
|
3
|
+
*/
|
|
4
|
+
export declare function configListCommand(): Promise<void>;
|
|
5
|
+
/**
|
|
6
|
+
* config get - Get a specific config value
|
|
7
|
+
*/
|
|
8
|
+
export declare function configGetCommand(key: string): Promise<void>;
|
|
9
|
+
/**
|
|
10
|
+
* config set - Set a config value
|
|
11
|
+
*/
|
|
12
|
+
export declare function configSetCommand(key: string, value: string): Promise<void>;
|
|
13
|
+
/**
|
|
14
|
+
* config reset - Reset config to defaults
|
|
15
|
+
*/
|
|
16
|
+
export declare function configResetCommand(): Promise<void>;
|
|
17
|
+
interface SyncTargetsOptions {
|
|
18
|
+
json?: boolean;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* config sync-targets - List auto-sync targets
|
|
22
|
+
*/
|
|
23
|
+
export declare function syncTargetsListCommand(options: SyncTargetsOptions): Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
* config sync-targets add - Add an auto-sync target
|
|
26
|
+
*/
|
|
27
|
+
export declare function syncTargetsAddCommand(target: string): Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* config sync-targets remove - Remove an auto-sync target
|
|
30
|
+
*/
|
|
31
|
+
export declare function syncTargetsRemoveCommand(target: string): Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Main config command router
|
|
34
|
+
*/
|
|
35
|
+
export declare function configCommand(subcommand: string | undefined, keyOrTarget: string | undefined, value: string | undefined, options: SyncTargetsOptions): Promise<void>;
|
|
36
|
+
export {};
|
|
37
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAqBA;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAuBvD;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBjE;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBhF;AAED;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAKxD;AAED,UAAU,kBAAkB;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsCvF;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BzE;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAe5E;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAuDf"}
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* config command - Manage global skillpkg configuration
|
|
3
|
+
*
|
|
4
|
+
* Subcommands:
|
|
5
|
+
* - config get <key> - Get a config value
|
|
6
|
+
* - config set <key> <value> - Set a config value
|
|
7
|
+
* - config list - List all config values
|
|
8
|
+
* - config sync-targets - List auto-sync targets
|
|
9
|
+
* - config sync-targets add <target> - Add an auto-sync target
|
|
10
|
+
* - config sync-targets remove <target> - Remove an auto-sync target
|
|
11
|
+
*/
|
|
12
|
+
import { loadConfig, saveConfig, getDefaultConfig, getGlobalDir, getImplementedTargets, } from 'skillpkg-core';
|
|
13
|
+
import { logger, colors } from '../ui/index.js';
|
|
14
|
+
/**
|
|
15
|
+
* config list - Show all configuration
|
|
16
|
+
*/
|
|
17
|
+
export async function configListCommand() {
|
|
18
|
+
const globalDir = getGlobalDir();
|
|
19
|
+
const config = await loadConfig(globalDir);
|
|
20
|
+
logger.header('Global Configuration');
|
|
21
|
+
logger.blank();
|
|
22
|
+
logger.log(`${colors.cyan('registry')}: ${config.registry}`);
|
|
23
|
+
logger.log(`${colors.cyan('autoSync')}: ${config.autoSync}`);
|
|
24
|
+
logger.blank();
|
|
25
|
+
logger.log(`${colors.cyan('autoSyncTargets')}:`);
|
|
26
|
+
const targets = Object.entries(config.autoSyncTargets);
|
|
27
|
+
if (targets.length === 0) {
|
|
28
|
+
logger.log(' (none)');
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
for (const [target, enabled] of targets) {
|
|
32
|
+
const status = enabled ? colors.green('✓') : colors.dim('✗');
|
|
33
|
+
logger.log(` ${status} ${target}`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
logger.blank();
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* config get - Get a specific config value
|
|
40
|
+
*/
|
|
41
|
+
export async function configGetCommand(key) {
|
|
42
|
+
const globalDir = getGlobalDir();
|
|
43
|
+
const config = await loadConfig(globalDir);
|
|
44
|
+
if (key === 'autoSyncTargets') {
|
|
45
|
+
const targets = Object.entries(config.autoSyncTargets)
|
|
46
|
+
.filter(([_, enabled]) => enabled)
|
|
47
|
+
.map(([target]) => target);
|
|
48
|
+
logger.log(targets.join(', ') || '(none)');
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
const value = config[key];
|
|
52
|
+
if (value === undefined) {
|
|
53
|
+
logger.error(`Unknown config key: ${key}`);
|
|
54
|
+
process.exit(1);
|
|
55
|
+
}
|
|
56
|
+
if (typeof value === 'object') {
|
|
57
|
+
logger.log(JSON.stringify(value, null, 2));
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
logger.log(String(value));
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* config set - Set a config value
|
|
65
|
+
*/
|
|
66
|
+
export async function configSetCommand(key, value) {
|
|
67
|
+
const globalDir = getGlobalDir();
|
|
68
|
+
const config = await loadConfig(globalDir);
|
|
69
|
+
if (key === 'autoSync') {
|
|
70
|
+
config.autoSync = value === 'true' || value === '1';
|
|
71
|
+
}
|
|
72
|
+
else if (key === 'registry') {
|
|
73
|
+
config.registry = value;
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
logger.error(`Cannot set config key: ${key}`);
|
|
77
|
+
logger.log('Settable keys: autoSync, registry');
|
|
78
|
+
logger.log(`For autoSyncTargets, use ${colors.cyan('skillpkg config sync-targets add/remove')}`);
|
|
79
|
+
process.exit(1);
|
|
80
|
+
}
|
|
81
|
+
await saveConfig(globalDir, config);
|
|
82
|
+
logger.success(`Set ${key} = ${value}`);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* config reset - Reset config to defaults
|
|
86
|
+
*/
|
|
87
|
+
export async function configResetCommand() {
|
|
88
|
+
const globalDir = getGlobalDir();
|
|
89
|
+
const defaultConfig = getDefaultConfig();
|
|
90
|
+
await saveConfig(globalDir, defaultConfig);
|
|
91
|
+
logger.success('Configuration reset to defaults');
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* config sync-targets - List auto-sync targets
|
|
95
|
+
*/
|
|
96
|
+
export async function syncTargetsListCommand(options) {
|
|
97
|
+
const globalDir = getGlobalDir();
|
|
98
|
+
const config = await loadConfig(globalDir);
|
|
99
|
+
const implementedTargets = getImplementedTargets();
|
|
100
|
+
const implementedIds = new Set(implementedTargets.map((t) => t.id));
|
|
101
|
+
if (options.json) {
|
|
102
|
+
logger.log(JSON.stringify(config.autoSyncTargets, null, 2));
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
logger.header('Auto-Sync Targets');
|
|
106
|
+
logger.blank();
|
|
107
|
+
const enabledTargets = Object.entries(config.autoSyncTargets)
|
|
108
|
+
.filter(([_, enabled]) => enabled)
|
|
109
|
+
.map(([target]) => target);
|
|
110
|
+
if (enabledTargets.length === 0) {
|
|
111
|
+
logger.log('No auto-sync targets configured.');
|
|
112
|
+
logger.log(`Use ${colors.cyan('skillpkg config sync-targets add <target>')} to add one.`);
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
logger.log('Enabled targets:');
|
|
116
|
+
for (const target of enabledTargets) {
|
|
117
|
+
const implemented = implementedIds.has(target);
|
|
118
|
+
const status = implemented ? '' : colors.dim(' (not implemented)');
|
|
119
|
+
logger.item(`${colors.cyan(target)}${status}`);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
logger.blank();
|
|
123
|
+
logger.log('Available targets:');
|
|
124
|
+
for (const t of implementedTargets) {
|
|
125
|
+
const enabled = config.autoSyncTargets[t.id];
|
|
126
|
+
const status = enabled ? colors.green(' (enabled)') : '';
|
|
127
|
+
logger.item(`${colors.cyan(t.id)} - ${t.description}${status}`);
|
|
128
|
+
}
|
|
129
|
+
logger.blank();
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* config sync-targets add - Add an auto-sync target
|
|
133
|
+
*/
|
|
134
|
+
export async function syncTargetsAddCommand(target) {
|
|
135
|
+
const globalDir = getGlobalDir();
|
|
136
|
+
const config = await loadConfig(globalDir);
|
|
137
|
+
const implementedTargets = getImplementedTargets();
|
|
138
|
+
const implementedIds = implementedTargets.map((t) => t.id);
|
|
139
|
+
// Validate target
|
|
140
|
+
if (!implementedIds.includes(target)) {
|
|
141
|
+
logger.error(`Unknown or not implemented target: ${target}`);
|
|
142
|
+
logger.blank();
|
|
143
|
+
logger.log('Available targets:');
|
|
144
|
+
for (const t of implementedTargets) {
|
|
145
|
+
logger.item(`${colors.cyan(t.id)} - ${t.description}`);
|
|
146
|
+
}
|
|
147
|
+
process.exit(1);
|
|
148
|
+
}
|
|
149
|
+
// Check if already enabled
|
|
150
|
+
if (config.autoSyncTargets[target]) {
|
|
151
|
+
logger.warn(`Target ${colors.cyan(target)} is already enabled`);
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
// Add target
|
|
155
|
+
config.autoSyncTargets[target] = true;
|
|
156
|
+
await saveConfig(globalDir, config);
|
|
157
|
+
logger.success(`Added auto-sync target: ${colors.cyan(target)}`);
|
|
158
|
+
logger.log('Skills will be synced to this target after install/update.');
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* config sync-targets remove - Remove an auto-sync target
|
|
162
|
+
*/
|
|
163
|
+
export async function syncTargetsRemoveCommand(target) {
|
|
164
|
+
const globalDir = getGlobalDir();
|
|
165
|
+
const config = await loadConfig(globalDir);
|
|
166
|
+
// Check if target exists
|
|
167
|
+
if (!config.autoSyncTargets[target]) {
|
|
168
|
+
logger.warn(`Target ${colors.cyan(target)} is not in auto-sync targets`);
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
// Remove target
|
|
172
|
+
delete config.autoSyncTargets[target];
|
|
173
|
+
await saveConfig(globalDir, config);
|
|
174
|
+
logger.success(`Removed auto-sync target: ${colors.cyan(target)}`);
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Main config command router
|
|
178
|
+
*/
|
|
179
|
+
export async function configCommand(subcommand, keyOrTarget, value, options) {
|
|
180
|
+
// Handle sync-targets subcommand
|
|
181
|
+
if (subcommand === 'sync-targets') {
|
|
182
|
+
if (!keyOrTarget) {
|
|
183
|
+
await syncTargetsListCommand(options);
|
|
184
|
+
}
|
|
185
|
+
else if (keyOrTarget === 'add' && value) {
|
|
186
|
+
await syncTargetsAddCommand(value);
|
|
187
|
+
}
|
|
188
|
+
else if (keyOrTarget === 'remove' && value) {
|
|
189
|
+
await syncTargetsRemoveCommand(value);
|
|
190
|
+
}
|
|
191
|
+
else if (keyOrTarget === 'add' || keyOrTarget === 'remove') {
|
|
192
|
+
logger.error(`Usage: skillpkg config sync-targets ${keyOrTarget} <target>`);
|
|
193
|
+
process.exit(1);
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
// keyOrTarget is actually the target to add (shorthand)
|
|
197
|
+
await syncTargetsAddCommand(keyOrTarget);
|
|
198
|
+
}
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
// Handle other subcommands
|
|
202
|
+
switch (subcommand) {
|
|
203
|
+
case 'list':
|
|
204
|
+
case undefined:
|
|
205
|
+
await configListCommand();
|
|
206
|
+
break;
|
|
207
|
+
case 'get':
|
|
208
|
+
if (!keyOrTarget) {
|
|
209
|
+
logger.error('Usage: skillpkg config get <key>');
|
|
210
|
+
process.exit(1);
|
|
211
|
+
}
|
|
212
|
+
await configGetCommand(keyOrTarget);
|
|
213
|
+
break;
|
|
214
|
+
case 'set':
|
|
215
|
+
if (!keyOrTarget || value === undefined) {
|
|
216
|
+
logger.error('Usage: skillpkg config set <key> <value>');
|
|
217
|
+
process.exit(1);
|
|
218
|
+
}
|
|
219
|
+
await configSetCommand(keyOrTarget, value);
|
|
220
|
+
break;
|
|
221
|
+
case 'reset':
|
|
222
|
+
await configResetCommand();
|
|
223
|
+
break;
|
|
224
|
+
default:
|
|
225
|
+
logger.error(`Unknown subcommand: ${subcommand}`);
|
|
226
|
+
logger.blank();
|
|
227
|
+
logger.log('Available subcommands:');
|
|
228
|
+
logger.item(`${colors.cyan('list')} - List all configuration`);
|
|
229
|
+
logger.item(`${colors.cyan('get <key>')} - Get a config value`);
|
|
230
|
+
logger.item(`${colors.cyan('set <key> <value>')} - Set a config value`);
|
|
231
|
+
logger.item(`${colors.cyan('sync-targets')} - List auto-sync targets`);
|
|
232
|
+
logger.item(`${colors.cyan('sync-targets add <target>')} - Add auto-sync target`);
|
|
233
|
+
logger.item(`${colors.cyan('sync-targets remove <target>')} - Remove auto-sync target`);
|
|
234
|
+
logger.item(`${colors.cyan('reset')} - Reset to defaults`);
|
|
235
|
+
process.exit(1);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAeA,UAAU,aAAa;IACrB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAuJzE"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* doctor command - Diagnose and repair skillpkg state
|
|
3
|
+
*
|
|
4
|
+
* Detects inconsistencies between state.json, registry.json, and disk files,
|
|
5
|
+
* and provides options to repair them.
|
|
6
|
+
*/
|
|
7
|
+
import { createDoctor, createStateManager, createConfigManager, createLocalStore, } from 'skillpkg-core';
|
|
8
|
+
import { logger, colors } from '../ui/index.js';
|
|
9
|
+
/**
|
|
10
|
+
* doctor command handler
|
|
11
|
+
*/
|
|
12
|
+
export async function doctorCommand(options) {
|
|
13
|
+
const cwd = process.cwd();
|
|
14
|
+
const stateManager = createStateManager();
|
|
15
|
+
const configManager = createConfigManager();
|
|
16
|
+
const storeManager = createLocalStore();
|
|
17
|
+
// Check if store is initialized
|
|
18
|
+
if (!(await storeManager.isInitialized())) {
|
|
19
|
+
if (options.json) {
|
|
20
|
+
console.log(JSON.stringify({ healthy: true, issues: [], message: 'No skillpkg store found' }));
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
logger.info('No skillpkg store found');
|
|
24
|
+
logger.log(`Run ${colors.cyan('skillpkg install <skill>')} to install skills`);
|
|
25
|
+
}
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const doctor = createDoctor(stateManager, configManager, storeManager);
|
|
29
|
+
// Run diagnosis
|
|
30
|
+
const diagnosis = await doctor.diagnose(cwd);
|
|
31
|
+
// JSON output mode
|
|
32
|
+
if (options.json) {
|
|
33
|
+
console.log(JSON.stringify(diagnosis, null, 2));
|
|
34
|
+
if (options.fix && !options.dryRun) {
|
|
35
|
+
const repairResult = await doctor.repair(cwd, {
|
|
36
|
+
removeOrphans: true,
|
|
37
|
+
dryRun: options.dryRun,
|
|
38
|
+
});
|
|
39
|
+
console.log(JSON.stringify({ diagnosis, repair: repairResult }, null, 2));
|
|
40
|
+
}
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
// Human-readable output
|
|
44
|
+
logger.header('skillpkg Doctor');
|
|
45
|
+
logger.blank();
|
|
46
|
+
// Stats
|
|
47
|
+
logger.log(colors.bold('Status'));
|
|
48
|
+
logger.item(`State entries: ${colors.cyan(String(diagnosis.stats.stateCount))}`);
|
|
49
|
+
logger.item(`Registry entries: ${colors.cyan(String(diagnosis.stats.registryCount))}`);
|
|
50
|
+
logger.item(`Disk skills: ${colors.cyan(String(diagnosis.stats.diskCount))}`);
|
|
51
|
+
logger.item(`Synced: ${colors.cyan(String(diagnosis.stats.syncedCount))}`);
|
|
52
|
+
logger.blank();
|
|
53
|
+
// Health status
|
|
54
|
+
if (diagnosis.healthy) {
|
|
55
|
+
logger.success('✓ Everything looks healthy!');
|
|
56
|
+
logger.blank();
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
// Show issues
|
|
60
|
+
logger.log(colors.bold('Issues Found'));
|
|
61
|
+
logger.blank();
|
|
62
|
+
// Group issues by severity
|
|
63
|
+
const errors = diagnosis.issues.filter(i => i.severity === 'error');
|
|
64
|
+
const warnings = diagnosis.issues.filter(i => i.severity === 'warning');
|
|
65
|
+
const infos = diagnosis.issues.filter(i => i.severity === 'info');
|
|
66
|
+
if (errors.length > 0) {
|
|
67
|
+
logger.log(colors.red(`✗ ${errors.length} Error(s)`));
|
|
68
|
+
for (const issue of errors) {
|
|
69
|
+
printIssue(issue);
|
|
70
|
+
}
|
|
71
|
+
logger.blank();
|
|
72
|
+
}
|
|
73
|
+
if (warnings.length > 0) {
|
|
74
|
+
logger.log(colors.yellow(`⚠ ${warnings.length} Warning(s)`));
|
|
75
|
+
for (const issue of warnings) {
|
|
76
|
+
printIssue(issue);
|
|
77
|
+
}
|
|
78
|
+
logger.blank();
|
|
79
|
+
}
|
|
80
|
+
if (infos.length > 0) {
|
|
81
|
+
logger.log(colors.dim(`ℹ ${infos.length} Info`));
|
|
82
|
+
for (const issue of infos) {
|
|
83
|
+
printIssue(issue);
|
|
84
|
+
}
|
|
85
|
+
logger.blank();
|
|
86
|
+
}
|
|
87
|
+
// Offer repair
|
|
88
|
+
const fixableCount = diagnosis.issues.filter(i => i.autoFixable).length;
|
|
89
|
+
if (!options.fix) {
|
|
90
|
+
if (fixableCount > 0) {
|
|
91
|
+
logger.log(colors.dim('─'.repeat(50)));
|
|
92
|
+
logger.log(`${colors.cyan(String(fixableCount))} issue(s) can be auto-fixed.`);
|
|
93
|
+
logger.log(`Run ${colors.cyan('skillpkg doctor --fix')} to repair.`);
|
|
94
|
+
logger.log(`Run ${colors.cyan('skillpkg doctor --fix --dry-run')} to preview changes.`);
|
|
95
|
+
}
|
|
96
|
+
logger.blank();
|
|
97
|
+
process.exit(errors.length > 0 ? 1 : 0);
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
// Perform repair
|
|
101
|
+
logger.log(colors.bold('Repairing...'));
|
|
102
|
+
logger.blank();
|
|
103
|
+
const repairResult = await doctor.repair(cwd, {
|
|
104
|
+
removeOrphans: true,
|
|
105
|
+
dryRun: options.dryRun,
|
|
106
|
+
});
|
|
107
|
+
if (options.dryRun) {
|
|
108
|
+
logger.warn('Dry run - no changes made');
|
|
109
|
+
logger.blank();
|
|
110
|
+
}
|
|
111
|
+
// Show actions
|
|
112
|
+
if (repairResult.actions.length > 0) {
|
|
113
|
+
for (const action of repairResult.actions) {
|
|
114
|
+
const icon = options.dryRun ? colors.dim('○') : colors.green('✓');
|
|
115
|
+
logger.log(` ${icon} ${action.description}`);
|
|
116
|
+
}
|
|
117
|
+
logger.blank();
|
|
118
|
+
}
|
|
119
|
+
// Show errors
|
|
120
|
+
if (repairResult.errors.length > 0) {
|
|
121
|
+
logger.error('Some repairs failed:');
|
|
122
|
+
for (const error of repairResult.errors) {
|
|
123
|
+
logger.log(` ${colors.red('×')} ${error}`);
|
|
124
|
+
}
|
|
125
|
+
logger.blank();
|
|
126
|
+
}
|
|
127
|
+
// Summary
|
|
128
|
+
if (options.dryRun) {
|
|
129
|
+
logger.log(`Would fix: ${colors.green(String(repairResult.actions.length))} issue(s)`);
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
logger.log(`Fixed: ${colors.green(String(repairResult.issuesFixed))}, ` +
|
|
133
|
+
`Remaining: ${colors.yellow(String(repairResult.issuesRemaining))}`);
|
|
134
|
+
}
|
|
135
|
+
logger.blank();
|
|
136
|
+
if (!repairResult.success) {
|
|
137
|
+
process.exit(1);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Print a single issue
|
|
142
|
+
*/
|
|
143
|
+
function printIssue(issue) {
|
|
144
|
+
const icon = issue.severity === 'error'
|
|
145
|
+
? colors.red('×')
|
|
146
|
+
: issue.severity === 'warning'
|
|
147
|
+
? colors.yellow('!')
|
|
148
|
+
: colors.dim('•');
|
|
149
|
+
const fixable = issue.autoFixable ? colors.dim(' [auto-fixable]') : '';
|
|
150
|
+
logger.log(` ${icon} ${colors.cyan(issue.skillName)}${fixable}`);
|
|
151
|
+
logger.log(` ${issue.message}`);
|
|
152
|
+
logger.log(` ${colors.dim(`→ ${issue.suggestion}`)}`);
|
|
153
|
+
}
|
|
154
|
+
//# sourceMappingURL=doctor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/info.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
interface
|
|
1
|
+
interface InfoOptions {
|
|
2
2
|
json?: boolean;
|
|
3
3
|
global?: boolean;
|
|
4
4
|
}
|
|
5
5
|
/**
|
|
6
6
|
* info command handler
|
|
7
7
|
*/
|
|
8
|
-
export declare function infoCommand(skillName: string | undefined, options:
|
|
8
|
+
export declare function infoCommand(skillName: string | undefined, options: InfoOptions): Promise<void>;
|
|
9
9
|
export {};
|
|
10
10
|
//# sourceMappingURL=info.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../src/commands/info.ts"],"names":[],"mappings":"AAMA,UAAU,
|
|
1
|
+
{"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../src/commands/info.ts"],"names":[],"mappings":"AAMA,UAAU,WAAW;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,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,CAiGf"}
|