claude-skills-cli 0.0.14 → 0.0.15
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/help.js +291 -0
- package/dist/help.js.map +1 -0
- package/dist/index.js +32 -47
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/help.js
ADDED
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
// Help data structures and formatting for commands
|
|
2
|
+
export const INIT_HELP = {
|
|
3
|
+
command: 'init',
|
|
4
|
+
description: 'Create a new skill',
|
|
5
|
+
usage: 'claude-skills-cli init [options]',
|
|
6
|
+
options: [
|
|
7
|
+
{
|
|
8
|
+
flag: '--name',
|
|
9
|
+
type: 'string',
|
|
10
|
+
required: true,
|
|
11
|
+
description: 'Skill name (kebab-case, lowercase)',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
flag: '--description',
|
|
15
|
+
type: 'string',
|
|
16
|
+
required: true,
|
|
17
|
+
description: 'Brief description with trigger keywords',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
flag: '--path',
|
|
21
|
+
type: 'string',
|
|
22
|
+
description: 'Custom path (alternative to --name)',
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
flag: '--with-examples',
|
|
26
|
+
type: 'boolean',
|
|
27
|
+
description: 'Include example files (scripts/, assets/)',
|
|
28
|
+
},
|
|
29
|
+
{ flag: '--help, -h', description: 'Show this help' },
|
|
30
|
+
],
|
|
31
|
+
examples: [
|
|
32
|
+
'claude-skills-cli init --name my-skill --description "Brief description"',
|
|
33
|
+
'claude-skills-cli init --name my-skill --description "..." --with-examples',
|
|
34
|
+
'claude-skills-cli init --path /custom/path/my-skill --description "..."',
|
|
35
|
+
],
|
|
36
|
+
};
|
|
37
|
+
export const INSTALL_HELP = {
|
|
38
|
+
command: 'install',
|
|
39
|
+
description: 'Install a bundled skill',
|
|
40
|
+
usage: 'claude-skills-cli install <skill-name> [options]',
|
|
41
|
+
options: [
|
|
42
|
+
{
|
|
43
|
+
flag: '<skill-name>',
|
|
44
|
+
required: true,
|
|
45
|
+
description: 'Name of bundled skill (e.g., skill-creator)',
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
flag: '--force',
|
|
49
|
+
type: 'boolean',
|
|
50
|
+
description: 'Replace existing skill without prompting',
|
|
51
|
+
},
|
|
52
|
+
{ flag: '--help, -h', description: 'Show this help' },
|
|
53
|
+
],
|
|
54
|
+
examples: [
|
|
55
|
+
'claude-skills-cli install skill-creator',
|
|
56
|
+
'claude-skills-cli install skill-creator --force',
|
|
57
|
+
],
|
|
58
|
+
};
|
|
59
|
+
export const VALIDATE_HELP = {
|
|
60
|
+
command: 'validate',
|
|
61
|
+
description: 'Validate a skill',
|
|
62
|
+
usage: 'claude-skills-cli validate <skill-path> [options]',
|
|
63
|
+
options: [
|
|
64
|
+
{
|
|
65
|
+
flag: '<skill-path>',
|
|
66
|
+
required: true,
|
|
67
|
+
description: 'Path to skill directory',
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
flag: '--format',
|
|
71
|
+
type: 'json|text',
|
|
72
|
+
description: 'Output format (default: text)',
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
flag: '--strict',
|
|
76
|
+
type: 'boolean',
|
|
77
|
+
description: 'Fail validation if warnings present',
|
|
78
|
+
},
|
|
79
|
+
{ flag: '--help, -h', description: 'Show this help' },
|
|
80
|
+
],
|
|
81
|
+
examples: [
|
|
82
|
+
'claude-skills-cli validate .claude/skills/my-skill',
|
|
83
|
+
'claude-skills-cli validate .claude/skills/my-skill --format json',
|
|
84
|
+
'claude-skills-cli validate .claude/skills/my-skill --strict',
|
|
85
|
+
],
|
|
86
|
+
};
|
|
87
|
+
export const DOCTOR_HELP = {
|
|
88
|
+
command: 'doctor',
|
|
89
|
+
description: 'Fix common skill issues automatically',
|
|
90
|
+
usage: 'claude-skills-cli doctor <skill-path>',
|
|
91
|
+
options: [
|
|
92
|
+
{
|
|
93
|
+
flag: '<skill-path>',
|
|
94
|
+
required: true,
|
|
95
|
+
description: 'Path to skill directory',
|
|
96
|
+
},
|
|
97
|
+
{ flag: '--help, -h', description: 'Show this help' },
|
|
98
|
+
],
|
|
99
|
+
examples: ['claude-skills-cli doctor .claude/skills/my-skill'],
|
|
100
|
+
};
|
|
101
|
+
export const PACKAGE_HELP = {
|
|
102
|
+
command: 'package',
|
|
103
|
+
description: 'Package a skill to zip',
|
|
104
|
+
usage: 'claude-skills-cli package <skill-path> [options]',
|
|
105
|
+
options: [
|
|
106
|
+
{
|
|
107
|
+
flag: '<skill-path>',
|
|
108
|
+
required: true,
|
|
109
|
+
description: 'Path to skill directory',
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
flag: '--output',
|
|
113
|
+
type: 'string',
|
|
114
|
+
description: 'Output path for zip file',
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
flag: '--skip-validation',
|
|
118
|
+
type: 'boolean',
|
|
119
|
+
description: 'Skip validation before packaging',
|
|
120
|
+
},
|
|
121
|
+
{ flag: '--help, -h', description: 'Show this help' },
|
|
122
|
+
],
|
|
123
|
+
examples: [
|
|
124
|
+
'claude-skills-cli package .claude/skills/my-skill',
|
|
125
|
+
'claude-skills-cli package .claude/skills/my-skill --output my-skill.zip',
|
|
126
|
+
],
|
|
127
|
+
};
|
|
128
|
+
export const STATS_HELP = {
|
|
129
|
+
command: 'stats',
|
|
130
|
+
description: 'Show overview of all skills in a directory',
|
|
131
|
+
usage: 'claude-skills-cli stats [directory]',
|
|
132
|
+
options: [
|
|
133
|
+
{
|
|
134
|
+
flag: '[directory]',
|
|
135
|
+
description: 'Directory containing skills (default: .claude/skills)',
|
|
136
|
+
},
|
|
137
|
+
{ flag: '--help, -h', description: 'Show this help' },
|
|
138
|
+
],
|
|
139
|
+
examples: [
|
|
140
|
+
'claude-skills-cli stats',
|
|
141
|
+
'claude-skills-cli stats .claude/skills',
|
|
142
|
+
],
|
|
143
|
+
};
|
|
144
|
+
export const ADD_HOOK_HELP = {
|
|
145
|
+
command: 'add-hook',
|
|
146
|
+
description: 'Add skill activation hook to .claude/settings.json',
|
|
147
|
+
usage: 'claude-skills-cli add-hook [options]',
|
|
148
|
+
options: [
|
|
149
|
+
{
|
|
150
|
+
flag: '--type',
|
|
151
|
+
type: 'forced-eval|llm-eval|simple-script|simple-inline',
|
|
152
|
+
description: 'Hook type (default: forced-eval)',
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
flag: '--project',
|
|
156
|
+
type: 'boolean',
|
|
157
|
+
description: 'Install in project .claude/settings.json',
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
flag: '--local',
|
|
161
|
+
type: 'boolean',
|
|
162
|
+
description: 'Install in project .claude/settings.local.json',
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
flag: '--force',
|
|
166
|
+
type: 'boolean',
|
|
167
|
+
description: 'Replace existing hook without prompting',
|
|
168
|
+
},
|
|
169
|
+
{ flag: '--help, -h', description: 'Show this help' },
|
|
170
|
+
],
|
|
171
|
+
examples: [
|
|
172
|
+
'claude-skills-cli add-hook',
|
|
173
|
+
'claude-skills-cli add-hook --type llm-eval',
|
|
174
|
+
'claude-skills-cli add-hook --project',
|
|
175
|
+
'claude-skills-cli add-hook --type forced-eval --force',
|
|
176
|
+
],
|
|
177
|
+
};
|
|
178
|
+
export const MAIN_HELP = {
|
|
179
|
+
name: 'claude-skills-cli',
|
|
180
|
+
description: 'CLI toolkit for creating Claude Agent Skills',
|
|
181
|
+
usage: 'claude-skills-cli <command> [options]',
|
|
182
|
+
commands: [
|
|
183
|
+
{ command: 'init', description: 'Create a new skill' },
|
|
184
|
+
{
|
|
185
|
+
command: 'install',
|
|
186
|
+
description: 'Install a bundled skill (e.g., skill-creator)',
|
|
187
|
+
},
|
|
188
|
+
{ command: 'validate', description: 'Validate a skill' },
|
|
189
|
+
{
|
|
190
|
+
command: 'doctor',
|
|
191
|
+
description: 'Fix common skill issues automatically',
|
|
192
|
+
},
|
|
193
|
+
{ command: 'package', description: 'Package a skill to zip' },
|
|
194
|
+
{
|
|
195
|
+
command: 'stats',
|
|
196
|
+
description: 'Show overview of all skills in a directory',
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
command: 'add-hook',
|
|
200
|
+
description: 'Add skill activation hook to .claude/settings.json',
|
|
201
|
+
},
|
|
202
|
+
],
|
|
203
|
+
globalOptions: [
|
|
204
|
+
{ flag: '--help, -h', description: 'Show help' },
|
|
205
|
+
{ flag: '--version, -v', description: 'Show version' },
|
|
206
|
+
{
|
|
207
|
+
flag: '--format',
|
|
208
|
+
type: 'text|json',
|
|
209
|
+
description: 'Output format for help (default: text)',
|
|
210
|
+
},
|
|
211
|
+
],
|
|
212
|
+
examples: [
|
|
213
|
+
'claude-skills-cli init --name my-skill --description "Description"',
|
|
214
|
+
'claude-skills-cli validate .claude/skills/my-skill',
|
|
215
|
+
'claude-skills-cli add-hook',
|
|
216
|
+
'claude-skills-cli --help --format json',
|
|
217
|
+
],
|
|
218
|
+
notes: [
|
|
219
|
+
'IMPORTANT FOR LLMs:',
|
|
220
|
+
' ALWAYS run validate after creating or editing a skill:',
|
|
221
|
+
' claude-skills-cli validate <skill-path>',
|
|
222
|
+
' Skills MUST pass validation before use.',
|
|
223
|
+
' Fix all errors immediately. Address warnings promptly.',
|
|
224
|
+
],
|
|
225
|
+
};
|
|
226
|
+
export function show_command_help(help, format) {
|
|
227
|
+
if (format === 'json') {
|
|
228
|
+
console.log(JSON.stringify(help, null, 2));
|
|
229
|
+
return;
|
|
230
|
+
}
|
|
231
|
+
// Text format (human-friendly)
|
|
232
|
+
console.log(`claude-skills-cli ${help.command} - ${help.description}\n`);
|
|
233
|
+
console.log('Usage:');
|
|
234
|
+
console.log(` ${help.usage}\n`);
|
|
235
|
+
if (help.options.length > 0) {
|
|
236
|
+
console.log('Options:');
|
|
237
|
+
for (const opt of help.options) {
|
|
238
|
+
const flag_part = opt.flag.padEnd(20);
|
|
239
|
+
const type_part = opt.type ? `<${opt.type}>`.padEnd(15) : '';
|
|
240
|
+
const req_part = opt.required ? '[required]'.padEnd(12) : '';
|
|
241
|
+
console.log(` ${flag_part}${type_part}${opt.description}`);
|
|
242
|
+
}
|
|
243
|
+
console.log('');
|
|
244
|
+
}
|
|
245
|
+
if (help.examples.length > 0) {
|
|
246
|
+
console.log('Examples:');
|
|
247
|
+
for (const example of help.examples) {
|
|
248
|
+
console.log(` ${example}`);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
export function show_main_help(format) {
|
|
253
|
+
if (format === 'json') {
|
|
254
|
+
console.log(JSON.stringify(MAIN_HELP, null, 2));
|
|
255
|
+
return;
|
|
256
|
+
}
|
|
257
|
+
// Text format (human-friendly)
|
|
258
|
+
console.log(`${MAIN_HELP.name} - ${MAIN_HELP.description}\n`);
|
|
259
|
+
console.log('Usage:');
|
|
260
|
+
console.log(` ${MAIN_HELP.usage}\n`);
|
|
261
|
+
if (MAIN_HELP.commands.length > 0) {
|
|
262
|
+
console.log('Commands:');
|
|
263
|
+
for (const cmd of MAIN_HELP.commands) {
|
|
264
|
+
const cmd_part = cmd.command.padEnd(12);
|
|
265
|
+
console.log(` ${cmd_part}${cmd.description}`);
|
|
266
|
+
}
|
|
267
|
+
console.log('');
|
|
268
|
+
}
|
|
269
|
+
if (MAIN_HELP.globalOptions.length > 0) {
|
|
270
|
+
console.log('Global Options:');
|
|
271
|
+
for (const opt of MAIN_HELP.globalOptions) {
|
|
272
|
+
const flag_part = opt.flag.padEnd(20);
|
|
273
|
+
const type_part = opt.type ? `<${opt.type}>`.padEnd(15) : '';
|
|
274
|
+
console.log(` ${flag_part}${type_part}${opt.description}`);
|
|
275
|
+
}
|
|
276
|
+
console.log('');
|
|
277
|
+
}
|
|
278
|
+
if (MAIN_HELP.examples.length > 0) {
|
|
279
|
+
console.log('Examples:');
|
|
280
|
+
for (const example of MAIN_HELP.examples) {
|
|
281
|
+
console.log(` ${example}`);
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
if (MAIN_HELP.notes && MAIN_HELP.notes.length > 0) {
|
|
285
|
+
console.log('');
|
|
286
|
+
for (const note of MAIN_HELP.notes) {
|
|
287
|
+
console.log(note);
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
//# sourceMappingURL=help.js.map
|
package/dist/help.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -6,53 +6,9 @@ import { install_command } from './commands/install.js';
|
|
|
6
6
|
import { package_command } from './commands/package.js';
|
|
7
7
|
import { stats_command } from './commands/stats.js';
|
|
8
8
|
import { validate_command } from './commands/validate.js';
|
|
9
|
+
import { ADD_HOOK_HELP, DOCTOR_HELP, INIT_HELP, INSTALL_HELP, PACKAGE_HELP, STATS_HELP, VALIDATE_HELP, show_command_help, show_main_help, } from './help.js';
|
|
9
10
|
const args = process.argv.slice(2);
|
|
10
11
|
const command = args[0];
|
|
11
|
-
function show_help() {
|
|
12
|
-
console.log('claude-skills-cli - CLI toolkit for creating Claude Agent Skills\n');
|
|
13
|
-
console.log('Usage:');
|
|
14
|
-
console.log(' claude-skills-cli <command> [options]\n');
|
|
15
|
-
console.log('Commands:');
|
|
16
|
-
console.log(' init Create a new skill');
|
|
17
|
-
console.log(' install Install a bundled skill (e.g., skill-creator)');
|
|
18
|
-
console.log(' validate Validate a skill');
|
|
19
|
-
console.log(' doctor Fix common skill issues automatically');
|
|
20
|
-
console.log(' package Package a skill to zip');
|
|
21
|
-
console.log(' stats Show overview of all skills in a directory');
|
|
22
|
-
console.log(' add-hook Add skill activation hook to .claude/settings.json\n');
|
|
23
|
-
console.log('Options:');
|
|
24
|
-
console.log(' --help, -h Show help');
|
|
25
|
-
console.log(' --version, -v Show version');
|
|
26
|
-
console.log(' --with-examples Include example files when creating skill');
|
|
27
|
-
console.log(' --format <type> Output format: text (default) or json');
|
|
28
|
-
console.log(' --strict Fail validation if warnings present');
|
|
29
|
-
console.log(' --force Replace existing hook without prompting\n');
|
|
30
|
-
console.log('Examples:');
|
|
31
|
-
console.log(' claude-skills-cli init --name my-skill --description "Description"');
|
|
32
|
-
console.log(' claude-skills-cli init --name my-skill --description "..." --with-examples');
|
|
33
|
-
console.log(' claude-skills-cli install skill-creator');
|
|
34
|
-
console.log(' claude-skills-cli validate .claude/skills/my-skill');
|
|
35
|
-
console.log(' claude-skills-cli validate .claude/skills/my-skill --format json');
|
|
36
|
-
console.log(' claude-skills-cli validate .claude/skills/my-skill --strict');
|
|
37
|
-
console.log(' claude-skills-cli doctor .claude/skills/my-skill');
|
|
38
|
-
console.log(' claude-skills-cli package .claude/skills/my-skill');
|
|
39
|
-
console.log(' claude-skills-cli stats .claude/skills');
|
|
40
|
-
console.log(' claude-skills-cli add-hook # Global, forced-eval (84%)');
|
|
41
|
-
console.log(' claude-skills-cli add-hook --type llm-eval # Global, LLM eval (80%)');
|
|
42
|
-
console.log(' claude-skills-cli add-hook --type forced-eval --project # Project, forced-eval');
|
|
43
|
-
console.log(' claude-skills-cli add-hook --type simple-script --local # Local, simple script');
|
|
44
|
-
console.log(' claude-skills-cli add-hook --type forced-eval --force # Replace existing hook');
|
|
45
|
-
console.log('\nHook Types (--type):');
|
|
46
|
-
console.log(' forced-eval 84% success - Mandatory 3-step evaluation (default)');
|
|
47
|
-
console.log(' llm-eval 80% success - Claude API pre-evaluation (requires API key)');
|
|
48
|
-
console.log(' simple-script 20% success - Basic script file');
|
|
49
|
-
console.log(' simple-inline 20% success - Echo command in settings.json');
|
|
50
|
-
console.log('\n⚠️ IMPORTANT FOR LLMs:');
|
|
51
|
-
console.log(' ALWAYS run validate after creating or editing a skill:');
|
|
52
|
-
console.log(' claude-skills-cli validate <skill-path>');
|
|
53
|
-
console.log(' Skills MUST pass validation before use.');
|
|
54
|
-
console.log(' Fix all errors immediately. Address warnings promptly.');
|
|
55
|
-
}
|
|
56
12
|
function parse_args(args) {
|
|
57
13
|
const parsed = {};
|
|
58
14
|
const positional = [];
|
|
@@ -91,7 +47,8 @@ function parse_args(args) {
|
|
|
91
47
|
}
|
|
92
48
|
async function main() {
|
|
93
49
|
if (!command || command === '--help' || command === '-h') {
|
|
94
|
-
|
|
50
|
+
const parsed = parse_args(args.slice(1));
|
|
51
|
+
show_main_help(parsed.format);
|
|
95
52
|
process.exit(0);
|
|
96
53
|
}
|
|
97
54
|
if (command === '--version' || command === '-v') {
|
|
@@ -101,6 +58,10 @@ async function main() {
|
|
|
101
58
|
const parsed = parse_args(args.slice(1));
|
|
102
59
|
switch (command) {
|
|
103
60
|
case 'init':
|
|
61
|
+
if (parsed.help === true || parsed.h === true) {
|
|
62
|
+
show_command_help(INIT_HELP, parsed.format);
|
|
63
|
+
process.exit(0);
|
|
64
|
+
}
|
|
104
65
|
init_command({
|
|
105
66
|
name: parsed.name,
|
|
106
67
|
description: parsed.description,
|
|
@@ -109,6 +70,10 @@ async function main() {
|
|
|
109
70
|
});
|
|
110
71
|
break;
|
|
111
72
|
case 'install': {
|
|
73
|
+
if (parsed.help === true || parsed.h === true) {
|
|
74
|
+
show_command_help(INSTALL_HELP, parsed.format);
|
|
75
|
+
process.exit(0);
|
|
76
|
+
}
|
|
112
77
|
const skill_name = parsed._positional;
|
|
113
78
|
install_command({
|
|
114
79
|
skill_name,
|
|
@@ -118,6 +83,10 @@ async function main() {
|
|
|
118
83
|
}
|
|
119
84
|
case 'validate': {
|
|
120
85
|
const skill_path = parsed._positional;
|
|
86
|
+
if (parsed.help === true || parsed.h === true) {
|
|
87
|
+
show_command_help(VALIDATE_HELP, parsed.format);
|
|
88
|
+
process.exit(0);
|
|
89
|
+
}
|
|
121
90
|
if (!skill_path) {
|
|
122
91
|
console.error('Error: skill path required');
|
|
123
92
|
console.log('\nUsage: claude-skills-cli validate <skill_path> [--format json] [--strict]');
|
|
@@ -132,6 +101,10 @@ async function main() {
|
|
|
132
101
|
break;
|
|
133
102
|
}
|
|
134
103
|
case 'doctor': {
|
|
104
|
+
if (parsed.help === true || parsed.h === true) {
|
|
105
|
+
show_command_help(DOCTOR_HELP, parsed.format);
|
|
106
|
+
process.exit(0);
|
|
107
|
+
}
|
|
135
108
|
const skill_path = parsed._positional;
|
|
136
109
|
if (!skill_path) {
|
|
137
110
|
console.error('Error: skill path required');
|
|
@@ -145,6 +118,10 @@ async function main() {
|
|
|
145
118
|
}
|
|
146
119
|
case 'package': {
|
|
147
120
|
const skill_path = parsed._positional;
|
|
121
|
+
if (parsed.help === true || parsed.h === true) {
|
|
122
|
+
show_command_help(PACKAGE_HELP, parsed.format);
|
|
123
|
+
process.exit(0);
|
|
124
|
+
}
|
|
148
125
|
if (!skill_path) {
|
|
149
126
|
console.error('Error: skill path required');
|
|
150
127
|
console.log('\nUsage: claude-skills-cli package <skill_path>');
|
|
@@ -158,6 +135,10 @@ async function main() {
|
|
|
158
135
|
break;
|
|
159
136
|
}
|
|
160
137
|
case 'stats': {
|
|
138
|
+
if (parsed.help === true || parsed.h === true) {
|
|
139
|
+
show_command_help(STATS_HELP, parsed.format);
|
|
140
|
+
process.exit(0);
|
|
141
|
+
}
|
|
161
142
|
const directory = parsed._positional;
|
|
162
143
|
stats_command({
|
|
163
144
|
directory,
|
|
@@ -165,6 +146,10 @@ async function main() {
|
|
|
165
146
|
break;
|
|
166
147
|
}
|
|
167
148
|
case 'add-hook':
|
|
149
|
+
if (parsed.help === true || parsed.h === true) {
|
|
150
|
+
show_command_help(ADD_HOOK_HELP, parsed.format);
|
|
151
|
+
process.exit(0);
|
|
152
|
+
}
|
|
168
153
|
add_hook_command({
|
|
169
154
|
local: parsed.local === true,
|
|
170
155
|
project: parsed.project === true,
|
|
@@ -175,7 +160,7 @@ async function main() {
|
|
|
175
160
|
default:
|
|
176
161
|
console.error(`Unknown command: ${command}`);
|
|
177
162
|
console.log('');
|
|
178
|
-
|
|
163
|
+
show_main_help(parsed.format);
|
|
179
164
|
process.exit(1);
|
|
180
165
|
}
|
|
181
166
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EACN,aAAa,EACb,WAAW,EACX,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,cAAc,GACd,MAAM,WAAW,CAAC;AAEnB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAExB,SAAS,UAAU,CAClB,IAAc;IAEd,MAAM,MAAM,GAAqC,EAAE,CAAC;IACpD,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpB,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAEzB,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;gBACnB,CAAC,EAAE,CAAC;YACL,CAAC;iBAAM,CAAC;gBACP,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YACpB,CAAC;QACF,CAAC;aAAM,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAEzB,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;gBACnB,CAAC,EAAE,CAAC;YACL,CAAC;iBAAM,CAAC;gBACP,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YACpB,CAAC;QACF,CAAC;aAAM,CAAC;YACP,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC;IACF,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAED,KAAK,UAAU,IAAI;IAClB,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QAC1D,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,cAAc,CAAC,MAAM,CAAC,MAAgB,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzC,QAAQ,OAAO,EAAE,CAAC;QACjB,KAAK,MAAM;YACV,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC/C,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,MAAgB,CAAC,CAAC;gBACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC;YACD,YAAY,CAAC;gBACZ,IAAI,EAAE,MAAM,CAAC,IAA0B;gBACvC,WAAW,EAAE,MAAM,CAAC,WAAiC;gBACrD,IAAI,EAAE,MAAM,CAAC,IAA0B;gBACvC,aAAa,EAAE,MAAM,CAAC,eAAe,CAAC,KAAK,IAAI;aAC/C,CAAC,CAAC;YACH,MAAM;QAEP,KAAK,SAAS,CAAC,CAAC,CAAC;YAChB,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC/C,iBAAiB,CAAC,YAAY,EAAE,MAAM,CAAC,MAAgB,CAAC,CAAC;gBACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,CAAC,WAAqB,CAAC;YAChD,eAAe,CAAC;gBACf,UAAU;gBACV,KAAK,EAAE,MAAM,CAAC,KAAK,KAAK,IAAI;aAC5B,CAAC,CAAC;YACH,MAAM;QACP,CAAC;QAED,KAAK,UAAU,CAAC,CAAC,CAAC;YACjB,MAAM,UAAU,GAAG,MAAM,CAAC,WAAqB,CAAC;YAChD,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC/C,iBAAiB,CAAC,aAAa,EAAE,MAAM,CAAC,MAAgB,CAAC,CAAC;gBAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC;YACD,IAAI,CAAC,UAAU,EAAE,CAAC;gBACjB,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBAC5C,OAAO,CAAC,GAAG,CACV,6EAA6E,CAC7E,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAA4B,CAAC;YACnD,gBAAgB,CAAC;gBAChB,UAAU;gBACV,MAAM,EAAE,MAAM,CAAC,MAAM,KAAK,IAAI;gBAC9B,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;aAC3C,CAAC,CAAC;YACH,MAAM;QACP,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACf,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC/C,iBAAiB,CAAC,WAAW,EAAE,MAAM,CAAC,MAAgB,CAAC,CAAC;gBACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,CAAC,WAAqB,CAAC;YAChD,IAAI,CAAC,UAAU,EAAE,CAAC;gBACjB,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;gBAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC;YACD,cAAc,CAAC;gBACd,UAAU;aACV,CAAC,CAAC;YACH,MAAM;QACP,CAAC;QAED,KAAK,SAAS,CAAC,CAAC,CAAC;YAChB,MAAM,UAAU,GAAG,MAAM,CAAC,WAAqB,CAAC;YAChD,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC/C,iBAAiB,CAAC,YAAY,EAAE,MAAM,CAAC,MAAgB,CAAC,CAAC;gBACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC;YACD,IAAI,CAAC,UAAU,EAAE,CAAC;gBACjB,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBAC5C,OAAO,CAAC,GAAG,CACV,iDAAiD,CACjD,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC;YACD,MAAM,eAAe,CAAC;gBACrB,UAAU;gBACV,MAAM,EAAE,MAAM,CAAC,MAA4B;gBAC3C,eAAe,EAAE,MAAM,CAAC,iBAAiB,CAAC,KAAK,IAAI;aACnD,CAAC,CAAC;YACH,MAAM;QACP,CAAC;QAED,KAAK,OAAO,CAAC,CAAC,CAAC;YACd,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC/C,iBAAiB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAgB,CAAC,CAAC;gBACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,CAAC,WAAiC,CAAC;YAC3D,aAAa,CAAC;gBACb,SAAS;aACT,CAAC,CAAC;YACH,MAAM;QACP,CAAC;QAED,KAAK,UAAU;YACd,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC/C,iBAAiB,CAAC,aAAa,EAAE,MAAM,CAAC,MAAgB,CAAC,CAAC;gBAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC;YACD,gBAAgB,CAAC;gBAChB,KAAK,EAAE,MAAM,CAAC,KAAK,KAAK,IAAI;gBAC5B,OAAO,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI;gBAChC,IAAI,EAAE,MAAM,CAAC,IAKD;gBACZ,KAAK,EAAE,MAAM,CAAC,KAAK,KAAK,IAAI;aAC5B,CAAC,CAAC;YACH,MAAM;QAEP;YACC,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,cAAc,CAAC,MAAM,CAAC,MAAgB,CAAC,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACF,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACpB,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC"}
|