skillpkg-cli 0.1.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 +9 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +119 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/export.d.ts +13 -0
- package/dist/commands/export.d.ts.map +1 -0
- package/dist/commands/export.js +117 -0
- package/dist/commands/export.js.map +1 -0
- package/dist/commands/import.d.ts +12 -0
- package/dist/commands/import.d.ts.map +1 -0
- package/dist/commands/import.js +126 -0
- package/dist/commands/import.js.map +1 -0
- package/dist/commands/info.d.ts +10 -0
- package/dist/commands/info.d.ts.map +1 -0
- package/dist/commands/info.js +118 -0
- package/dist/commands/info.js.map +1 -0
- package/dist/commands/init.d.ts +10 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +161 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/install.d.ts +10 -0
- package/dist/commands/install.d.ts.map +1 -0
- package/dist/commands/install.js +190 -0
- package/dist/commands/install.js.map +1 -0
- package/dist/commands/list.d.ts +10 -0
- package/dist/commands/list.d.ts.map +1 -0
- package/dist/commands/list.js +74 -0
- package/dist/commands/list.js.map +1 -0
- package/dist/commands/login.d.ts +22 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/login.js +100 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/publish.d.ts +12 -0
- package/dist/commands/publish.d.ts.map +1 -0
- package/dist/commands/publish.js +161 -0
- package/dist/commands/publish.js.map +1 -0
- package/dist/commands/search.d.ts +13 -0
- package/dist/commands/search.d.ts.map +1 -0
- package/dist/commands/search.js +94 -0
- package/dist/commands/search.js.map +1 -0
- package/dist/commands/sync.d.ts +10 -0
- package/dist/commands/sync.d.ts.map +1 -0
- package/dist/commands/sync.js +162 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/commands/uninstall.d.ts +10 -0
- package/dist/commands/uninstall.d.ts.map +1 -0
- package/dist/commands/uninstall.js +48 -0
- package/dist/commands/uninstall.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/ui/index.d.ts +8 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +8 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/ui/logger.d.ts +43 -0
- package/dist/ui/logger.d.ts.map +1 -0
- package/dist/ui/logger.js +77 -0
- package/dist/ui/logger.js.map +1 -0
- package/dist/ui/prompt.d.ts +35 -0
- package/dist/ui/prompt.d.ts.map +1 -0
- package/dist/ui/prompt.js +66 -0
- package/dist/ui/prompt.js.map +1 -0
- package/dist/ui/spinner.d.ts +16 -0
- package/dist/ui/spinner.d.ts.map +1 -0
- package/dist/ui/spinner.js +30 -0
- package/dist/ui/spinner.js.map +1 -0
- package/dist/ui/table.d.ts +20 -0
- package/dist/ui/table.d.ts.map +1 -0
- package/dist/ui/table.js +46 -0
- package/dist/ui/table.js.map +1 -0
- package/package.json +67 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Conditionally apply chalk styling
|
|
3
|
+
*/
|
|
4
|
+
declare const c: import("chalk").ChalkInstance | {
|
|
5
|
+
green: (s: string) => string;
|
|
6
|
+
red: (s: string) => string;
|
|
7
|
+
yellow: (s: string) => string;
|
|
8
|
+
blue: (s: string) => string;
|
|
9
|
+
cyan: (s: string) => string;
|
|
10
|
+
gray: (s: string) => string;
|
|
11
|
+
bold: (s: string) => string;
|
|
12
|
+
dim: (s: string) => string;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Logger object with various log levels
|
|
16
|
+
*/
|
|
17
|
+
export declare const logger: {
|
|
18
|
+
/** Log info message (blue) */
|
|
19
|
+
info: (message: string) => void;
|
|
20
|
+
/** Log success message (green) */
|
|
21
|
+
success: (message: string) => void;
|
|
22
|
+
/** Log warning message (yellow) */
|
|
23
|
+
warn: (message: string) => void;
|
|
24
|
+
/** Log error message (red) */
|
|
25
|
+
error: (message: string) => void;
|
|
26
|
+
/** Log debug message (gray) */
|
|
27
|
+
debug: (message: string) => void;
|
|
28
|
+
/** Log plain message */
|
|
29
|
+
log: (message: string) => void;
|
|
30
|
+
/** Log a blank line */
|
|
31
|
+
blank: () => void;
|
|
32
|
+
/** Log a header */
|
|
33
|
+
header: (title: string) => void;
|
|
34
|
+
/** Log key-value pair */
|
|
35
|
+
pair: (key: string, value: string) => void;
|
|
36
|
+
/** Log a list item */
|
|
37
|
+
item: (text: string) => void;
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Chalk colors for external use
|
|
41
|
+
*/
|
|
42
|
+
export { c as colors };
|
|
43
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/ui/logger.ts"],"names":[],"mappings":"AAUA;;GAEG;AACH,QAAA,MAAM,CAAC;eAEU,MAAM;aACR,MAAM;gBACH,MAAM;cACR,MAAM;cACN,MAAM;cACN,MAAM;cACN,MAAM;aACP,MAAM;CAEZ,CAAC;AAEV;;GAEG;AACH,eAAO,MAAM,MAAM;IACjB,8BAA8B;oBACd,MAAM;IAItB,kCAAkC;uBACf,MAAM;IAIzB,mCAAmC;oBACnB,MAAM;IAItB,8BAA8B;qBACb,MAAM;IAIvB,+BAA+B;qBACd,MAAM;IAMvB,wBAAwB;mBACT,MAAM;IAIrB,uBAAuB;;IAKvB,mBAAmB;oBACH,MAAM;IAMtB,yBAAyB;gBACb,MAAM,SAAS,MAAM;IAIjC,sBAAsB;iBACT,MAAM;CAGpB,CAAC;AAEF;;GAEG;AACH,OAAO,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Logger utilities with chalk colors
|
|
3
|
+
*/
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
/**
|
|
6
|
+
* Check if colors should be disabled
|
|
7
|
+
*/
|
|
8
|
+
const noColor = process.env.NO_COLOR !== undefined || process.env.TERM === 'dumb';
|
|
9
|
+
/**
|
|
10
|
+
* Conditionally apply chalk styling
|
|
11
|
+
*/
|
|
12
|
+
const c = noColor
|
|
13
|
+
? {
|
|
14
|
+
green: (s) => s,
|
|
15
|
+
red: (s) => s,
|
|
16
|
+
yellow: (s) => s,
|
|
17
|
+
blue: (s) => s,
|
|
18
|
+
cyan: (s) => s,
|
|
19
|
+
gray: (s) => s,
|
|
20
|
+
bold: (s) => s,
|
|
21
|
+
dim: (s) => s,
|
|
22
|
+
}
|
|
23
|
+
: chalk;
|
|
24
|
+
/**
|
|
25
|
+
* Logger object with various log levels
|
|
26
|
+
*/
|
|
27
|
+
export const logger = {
|
|
28
|
+
/** Log info message (blue) */
|
|
29
|
+
info: (message) => {
|
|
30
|
+
console.log(c.blue('ℹ'), message);
|
|
31
|
+
},
|
|
32
|
+
/** Log success message (green) */
|
|
33
|
+
success: (message) => {
|
|
34
|
+
console.log(c.green('✓'), message);
|
|
35
|
+
},
|
|
36
|
+
/** Log warning message (yellow) */
|
|
37
|
+
warn: (message) => {
|
|
38
|
+
console.log(c.yellow('⚠'), message);
|
|
39
|
+
},
|
|
40
|
+
/** Log error message (red) */
|
|
41
|
+
error: (message) => {
|
|
42
|
+
console.error(c.red('✖'), message);
|
|
43
|
+
},
|
|
44
|
+
/** Log debug message (gray) */
|
|
45
|
+
debug: (message) => {
|
|
46
|
+
if (process.env.DEBUG) {
|
|
47
|
+
console.log(c.gray('⋯'), c.gray(message));
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
/** Log plain message */
|
|
51
|
+
log: (message) => {
|
|
52
|
+
console.log(message);
|
|
53
|
+
},
|
|
54
|
+
/** Log a blank line */
|
|
55
|
+
blank: () => {
|
|
56
|
+
console.log();
|
|
57
|
+
},
|
|
58
|
+
/** Log a header */
|
|
59
|
+
header: (title) => {
|
|
60
|
+
console.log();
|
|
61
|
+
console.log(c.bold(title));
|
|
62
|
+
console.log(c.dim('─'.repeat(title.length)));
|
|
63
|
+
},
|
|
64
|
+
/** Log key-value pair */
|
|
65
|
+
pair: (key, value) => {
|
|
66
|
+
console.log(` ${c.dim(key + ':')} ${value}`);
|
|
67
|
+
},
|
|
68
|
+
/** Log a list item */
|
|
69
|
+
item: (text) => {
|
|
70
|
+
console.log(` ${c.dim('•')} ${text}`);
|
|
71
|
+
},
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Chalk colors for external use
|
|
75
|
+
*/
|
|
76
|
+
export { c as colors };
|
|
77
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/ui/logger.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;GAEG;AACH,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC;AAElF;;GAEG;AACH,MAAM,CAAC,GAAG,OAAO;IACf,CAAC,CAAC;QACE,KAAK,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC;QACvB,GAAG,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC;QACrB,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC;QACxB,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC;QACtB,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC;QACtB,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC;QACtB,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC;QACtB,GAAG,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC;KACtB;IACH,CAAC,CAAC,KAAK,CAAC;AAEV;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,8BAA8B;IAC9B,IAAI,EAAE,CAAC,OAAe,EAAE,EAAE;QACxB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,kCAAkC;IAClC,OAAO,EAAE,CAAC,OAAe,EAAE,EAAE;QAC3B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,mCAAmC;IACnC,IAAI,EAAE,CAAC,OAAe,EAAE,EAAE;QACxB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,8BAA8B;IAC9B,KAAK,EAAE,CAAC,OAAe,EAAE,EAAE;QACzB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,+BAA+B;IAC/B,KAAK,EAAE,CAAC,OAAe,EAAE,EAAE;QACzB,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,wBAAwB;IACxB,GAAG,EAAE,CAAC,OAAe,EAAE,EAAE;QACvB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IAED,uBAAuB;IACvB,KAAK,EAAE,GAAG,EAAE;QACV,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAED,mBAAmB;IACnB,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;QACxB,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,yBAAyB;IACzB,IAAI,EAAE,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE;QACnC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,sBAAsB;IACtB,IAAI,EAAE,CAAC,IAAY,EAAE,EAAE;QACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,OAAO,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export type PromptQuestion = {
|
|
2
|
+
type: 'input' | 'password' | 'confirm' | 'list' | 'checkbox';
|
|
3
|
+
name: string;
|
|
4
|
+
message: string;
|
|
5
|
+
default?: unknown;
|
|
6
|
+
choices?: Array<{
|
|
7
|
+
name: string;
|
|
8
|
+
value: unknown;
|
|
9
|
+
} | string>;
|
|
10
|
+
validate?: (input: unknown) => boolean | string;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Create an interactive prompt
|
|
14
|
+
*/
|
|
15
|
+
export declare function createPrompt<T extends Record<string, unknown>>(questions: PromptQuestion[]): Promise<T>;
|
|
16
|
+
/**
|
|
17
|
+
* Simple confirm prompt
|
|
18
|
+
*/
|
|
19
|
+
export declare function confirm(message: string, defaultValue?: boolean): Promise<boolean>;
|
|
20
|
+
/**
|
|
21
|
+
* Simple input prompt
|
|
22
|
+
*/
|
|
23
|
+
export declare function input(message: string, defaultValue?: string): Promise<string>;
|
|
24
|
+
/**
|
|
25
|
+
* Simple password prompt
|
|
26
|
+
*/
|
|
27
|
+
export declare function password(message: string): Promise<string>;
|
|
28
|
+
/**
|
|
29
|
+
* Simple list selection prompt
|
|
30
|
+
*/
|
|
31
|
+
export declare function select<T>(message: string, choices: Array<{
|
|
32
|
+
name: string;
|
|
33
|
+
value: T;
|
|
34
|
+
}>): Promise<T>;
|
|
35
|
+
//# sourceMappingURL=prompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/ui/prompt.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,CAAC;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,GAAG,MAAM,CAAC,CAAC;IAC3D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,GAAG,MAAM,CAAC;CACjD,CAAC;AAEF;;GAEG;AACH,wBAAsB,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClE,SAAS,EAAE,cAAc,EAAE,GAC1B,OAAO,CAAC,CAAC,CAAC,CAEZ;AAED;;GAEG;AACH,wBAAsB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,UAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAUrF;AAED;;GAEG;AACH,wBAAsB,KAAK,CACzB,OAAO,EAAE,MAAM,EACf,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC,CAUjB;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAS/D;AAED;;GAEG;AACH,wBAAsB,MAAM,CAAC,CAAC,EAC5B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC,GACzC,OAAO,CAAC,CAAC,CAAC,CAUZ"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Prompt utilities using inquirer
|
|
3
|
+
*/
|
|
4
|
+
import inquirer from 'inquirer';
|
|
5
|
+
/**
|
|
6
|
+
* Create an interactive prompt
|
|
7
|
+
*/
|
|
8
|
+
export async function createPrompt(questions) {
|
|
9
|
+
return inquirer.prompt(questions);
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Simple confirm prompt
|
|
13
|
+
*/
|
|
14
|
+
export async function confirm(message, defaultValue = false) {
|
|
15
|
+
const { result } = await createPrompt([
|
|
16
|
+
{
|
|
17
|
+
type: 'confirm',
|
|
18
|
+
name: 'result',
|
|
19
|
+
message,
|
|
20
|
+
default: defaultValue,
|
|
21
|
+
},
|
|
22
|
+
]);
|
|
23
|
+
return result;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Simple input prompt
|
|
27
|
+
*/
|
|
28
|
+
export async function input(message, defaultValue) {
|
|
29
|
+
const { result } = await createPrompt([
|
|
30
|
+
{
|
|
31
|
+
type: 'input',
|
|
32
|
+
name: 'result',
|
|
33
|
+
message,
|
|
34
|
+
default: defaultValue,
|
|
35
|
+
},
|
|
36
|
+
]);
|
|
37
|
+
return result;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Simple password prompt
|
|
41
|
+
*/
|
|
42
|
+
export async function password(message) {
|
|
43
|
+
const { result } = await createPrompt([
|
|
44
|
+
{
|
|
45
|
+
type: 'password',
|
|
46
|
+
name: 'result',
|
|
47
|
+
message,
|
|
48
|
+
},
|
|
49
|
+
]);
|
|
50
|
+
return result;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Simple list selection prompt
|
|
54
|
+
*/
|
|
55
|
+
export async function select(message, choices) {
|
|
56
|
+
const { result } = await createPrompt([
|
|
57
|
+
{
|
|
58
|
+
type: 'list',
|
|
59
|
+
name: 'result',
|
|
60
|
+
message,
|
|
61
|
+
choices,
|
|
62
|
+
},
|
|
63
|
+
]);
|
|
64
|
+
return result;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/ui/prompt.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,QAAQ,MAAM,UAAU,CAAC;AAWhC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,SAA2B;IAE3B,OAAO,QAAQ,CAAC,MAAM,CAAC,SAAkD,CAAe,CAAC;AAC3F,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAAe,EAAE,YAAY,GAAG,KAAK;IACjE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,YAAY,CAAsB;QACzD;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,QAAQ;YACd,OAAO;YACP,OAAO,EAAE,YAAY;SACtB;KACF,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CACzB,OAAe,EACf,YAAqB;IAErB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,YAAY,CAAqB;QACxD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,QAAQ;YACd,OAAO;YACP,OAAO,EAAE,YAAY;SACtB;KACF,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAe;IAC5C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,YAAY,CAAqB;QACxD;YACE,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,QAAQ;YACd,OAAO;SACR;KACF,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,OAAe,EACf,OAA0C;IAE1C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,YAAY,CAAgB;QACnD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,QAAQ;YACd,OAAO;YACP,OAAO;SACR;KACF,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Spinner utilities with ora
|
|
3
|
+
*/
|
|
4
|
+
import { type Ora } from 'ora';
|
|
5
|
+
/**
|
|
6
|
+
* Create a spinner instance
|
|
7
|
+
*/
|
|
8
|
+
export declare function createSpinner(text: string): Ora;
|
|
9
|
+
/**
|
|
10
|
+
* Run an async task with a spinner
|
|
11
|
+
*/
|
|
12
|
+
export declare function withSpinner<T>(text: string, task: () => Promise<T>, options?: {
|
|
13
|
+
successText?: string;
|
|
14
|
+
failText?: string;
|
|
15
|
+
}): Promise<T>;
|
|
16
|
+
//# sourceMappingURL=spinner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spinner.d.ts","sourceRoot":"","sources":["../../src/ui/spinner.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAY,EAAE,KAAK,GAAG,EAAE,MAAM,KAAK,CAAC;AAEpC;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAK/C;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,CAAC,EACjC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACtB,OAAO,GAAE;IACP,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACd,GACL,OAAO,CAAC,CAAC,CAAC,CAYZ"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Spinner utilities with ora
|
|
3
|
+
*/
|
|
4
|
+
import ora, {} from 'ora';
|
|
5
|
+
/**
|
|
6
|
+
* Create a spinner instance
|
|
7
|
+
*/
|
|
8
|
+
export function createSpinner(text) {
|
|
9
|
+
return ora({
|
|
10
|
+
text,
|
|
11
|
+
spinner: 'dots',
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Run an async task with a spinner
|
|
16
|
+
*/
|
|
17
|
+
export async function withSpinner(text, task, options = {}) {
|
|
18
|
+
const spinner = createSpinner(text);
|
|
19
|
+
spinner.start();
|
|
20
|
+
try {
|
|
21
|
+
const result = await task();
|
|
22
|
+
spinner.succeed(options.successText || text);
|
|
23
|
+
return result;
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
spinner.fail(options.failText || text);
|
|
27
|
+
throw error;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=spinner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../src/ui/spinner.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,GAAG,EAAE,EAAY,MAAM,KAAK,CAAC;AAEpC;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,GAAG,CAAC;QACT,IAAI;QACJ,OAAO,EAAE,MAAM;KAChB,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,IAAY,EACZ,IAAsB,EACtB,UAGI,EAAE;IAEN,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACpC,OAAO,CAAC,KAAK,EAAE,CAAC;IAEhB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;QAC5B,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;QACvC,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Table utilities with cli-table3
|
|
3
|
+
*/
|
|
4
|
+
import Table from 'cli-table3';
|
|
5
|
+
/**
|
|
6
|
+
* Table options
|
|
7
|
+
*/
|
|
8
|
+
export interface TableOptions {
|
|
9
|
+
head: string[];
|
|
10
|
+
colWidths?: number[];
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Create a styled table
|
|
14
|
+
*/
|
|
15
|
+
export declare function createTable(options: TableOptions): Table.Table;
|
|
16
|
+
/**
|
|
17
|
+
* Print a table
|
|
18
|
+
*/
|
|
19
|
+
export declare function printTable(table: Table.Table): void;
|
|
20
|
+
//# sourceMappingURL=table.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/ui/table.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,YAAY,CAAC;AAG/B;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,KAAK,CAAC,KAAK,CAgC9D;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAEnD"}
|
package/dist/ui/table.js
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Table utilities with cli-table3
|
|
3
|
+
*/
|
|
4
|
+
import Table from 'cli-table3';
|
|
5
|
+
import { colors } from './logger.js';
|
|
6
|
+
/**
|
|
7
|
+
* Create a styled table
|
|
8
|
+
*/
|
|
9
|
+
export function createTable(options) {
|
|
10
|
+
const tableConfig = {
|
|
11
|
+
head: options.head.map((h) => colors.cyan(h)),
|
|
12
|
+
style: {
|
|
13
|
+
head: [],
|
|
14
|
+
border: [],
|
|
15
|
+
},
|
|
16
|
+
chars: {
|
|
17
|
+
top: '─',
|
|
18
|
+
'top-mid': '┬',
|
|
19
|
+
'top-left': '┌',
|
|
20
|
+
'top-right': '┐',
|
|
21
|
+
bottom: '─',
|
|
22
|
+
'bottom-mid': '┴',
|
|
23
|
+
'bottom-left': '└',
|
|
24
|
+
'bottom-right': '┘',
|
|
25
|
+
left: '│',
|
|
26
|
+
'left-mid': '├',
|
|
27
|
+
mid: '─',
|
|
28
|
+
'mid-mid': '┼',
|
|
29
|
+
right: '│',
|
|
30
|
+
'right-mid': '┤',
|
|
31
|
+
middle: '│',
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
// Only add colWidths if provided (cli-table3 crashes with undefined)
|
|
35
|
+
if (options.colWidths) {
|
|
36
|
+
tableConfig.colWidths = options.colWidths;
|
|
37
|
+
}
|
|
38
|
+
return new Table(tableConfig);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Print a table
|
|
42
|
+
*/
|
|
43
|
+
export function printTable(table) {
|
|
44
|
+
console.log(table.toString());
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/ui/table.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAUrC;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,OAAqB;IAC/C,MAAM,WAAW,GAAkC;QACjD,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7C,KAAK,EAAE;YACL,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,EAAE;SACX;QACD,KAAK,EAAE;YACL,GAAG,EAAE,GAAG;YACR,SAAS,EAAE,GAAG;YACd,UAAU,EAAE,GAAG;YACf,WAAW,EAAE,GAAG;YAChB,MAAM,EAAE,GAAG;YACX,YAAY,EAAE,GAAG;YACjB,aAAa,EAAE,GAAG;YAClB,cAAc,EAAE,GAAG;YACnB,IAAI,EAAE,GAAG;YACT,UAAU,EAAE,GAAG;YACf,GAAG,EAAE,GAAG;YACR,SAAS,EAAE,GAAG;YACd,KAAK,EAAE,GAAG;YACV,WAAW,EAAE,GAAG;YAChB,MAAM,EAAE,GAAG;SACZ;KACF,CAAC;IAEF,qEAAqE;IACrE,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,WAAW,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAC5C,CAAC;IAED,OAAO,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,KAAkB;IAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;AAChC,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "skillpkg-cli",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "CLI for skillpkg - Agent Skills Package Manager. Install once, use everywhere.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"skillpkg": "./dist/index.js"
|
|
8
|
+
},
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"import": "./dist/index.js",
|
|
12
|
+
"types": "./dist/index.d.ts"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"files": [
|
|
16
|
+
"dist"
|
|
17
|
+
],
|
|
18
|
+
"scripts": {
|
|
19
|
+
"build": "tsc",
|
|
20
|
+
"dev": "tsc --watch",
|
|
21
|
+
"start": "node dist/index.js"
|
|
22
|
+
},
|
|
23
|
+
"keywords": [
|
|
24
|
+
"cli",
|
|
25
|
+
"skillpkg",
|
|
26
|
+
"agent",
|
|
27
|
+
"skills",
|
|
28
|
+
"ai",
|
|
29
|
+
"claude",
|
|
30
|
+
"copilot",
|
|
31
|
+
"codex",
|
|
32
|
+
"llm",
|
|
33
|
+
"package-manager"
|
|
34
|
+
],
|
|
35
|
+
"author": "miles990",
|
|
36
|
+
"license": "MIT",
|
|
37
|
+
"repository": {
|
|
38
|
+
"type": "git",
|
|
39
|
+
"url": "git+https://github.com/miles990/skillpkg.git",
|
|
40
|
+
"directory": "packages/cli"
|
|
41
|
+
},
|
|
42
|
+
"homepage": "https://github.com/miles990/skillpkg#readme",
|
|
43
|
+
"bugs": {
|
|
44
|
+
"url": "https://github.com/miles990/skillpkg/issues"
|
|
45
|
+
},
|
|
46
|
+
"publishConfig": {
|
|
47
|
+
"access": "public"
|
|
48
|
+
},
|
|
49
|
+
"engines": {
|
|
50
|
+
"node": ">=18.0.0"
|
|
51
|
+
},
|
|
52
|
+
"dependencies": {
|
|
53
|
+
"skillpkg-core": "workspace:*",
|
|
54
|
+
"chalk": "^5.3.0",
|
|
55
|
+
"cli-table3": "^0.6.3",
|
|
56
|
+
"commander": "^12.0.0",
|
|
57
|
+
"inquirer": "^9.2.0",
|
|
58
|
+
"ora": "^8.0.0",
|
|
59
|
+
"tar-stream": "^3.1.7"
|
|
60
|
+
},
|
|
61
|
+
"devDependencies": {
|
|
62
|
+
"@types/inquirer": "^9.0.0",
|
|
63
|
+
"@types/node": "^20.10.0",
|
|
64
|
+
"@types/tar-stream": "^3.1.4",
|
|
65
|
+
"typescript": "^5.3.0"
|
|
66
|
+
}
|
|
67
|
+
}
|