@skillsmith/cli 0.5.6 → 0.5.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/src/commands/author/init.d.ts.map +1 -1
- package/dist/src/commands/author/init.helpers.d.ts +80 -0
- package/dist/src/commands/author/init.helpers.d.ts.map +1 -0
- package/dist/src/commands/author/init.helpers.js +107 -0
- package/dist/src/commands/author/init.helpers.js.map +1 -0
- package/dist/src/commands/author/init.js +55 -57
- package/dist/src/commands/author/init.js.map +1 -1
- package/dist/src/commands/login.d.ts +0 -20
- package/dist/src/commands/login.d.ts.map +1 -1
- package/dist/src/commands/login.js +280 -92
- package/dist/src/commands/login.js.map +1 -1
- package/dist/src/commands/login.test.d.ts +0 -6
- package/dist/src/commands/login.test.d.ts.map +1 -1
- package/dist/src/commands/login.test.js +336 -148
- package/dist/src/commands/login.test.js.map +1 -1
- package/dist/src/commands/sync.d.ts.map +1 -1
- package/dist/src/commands/sync.helpers.d.ts +27 -0
- package/dist/src/commands/sync.helpers.d.ts.map +1 -0
- package/dist/src/commands/sync.helpers.js +52 -0
- package/dist/src/commands/sync.helpers.js.map +1 -0
- package/dist/src/commands/sync.js +12 -0
- package/dist/src/commands/sync.js.map +1 -1
- package/dist/src/index.js +0 -0
- package/dist/src/utils/errors.d.ts +52 -0
- package/dist/src/utils/errors.d.ts.map +1 -0
- package/dist/src/utils/errors.js +58 -0
- package/dist/src/utils/errors.js.map +1 -0
- package/dist/src/version.d.ts +2 -0
- package/dist/src/version.d.ts.map +1 -0
- package/dist/src/version.js +24 -0
- package/dist/src/version.js.map +1 -0
- package/dist/tests/init.test.d.ts +30 -0
- package/dist/tests/init.test.d.ts.map +1 -0
- package/dist/tests/init.test.js +356 -0
- package/dist/tests/init.test.js.map +1 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../src/commands/author/init.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../src/commands/author/init.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAenC;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC1B;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,UAO5B,CAAA;AAED;;GAEG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CA2Hf;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA0DvE;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;CAAO,GACxE,OAAO,CAAC,OAAO,CAAC,CAoJlB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAqC3C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAa/C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CA6B9C"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SMI-4289: author init error-handling helpers (closes #602)
|
|
3
|
+
* SMI-4314: error-contract update — initSkill now throws InitSkillError on
|
|
4
|
+
* expected user-facing failures. The createInitCommand() action wrapper
|
|
5
|
+
* catches, prints the sanitized message exactly once, and exits with
|
|
6
|
+
* InitSkillError.exitCode. Helpers here keep the library-to-library
|
|
7
|
+
* { ok, error } signalling contract: they never call process.exit and never
|
|
8
|
+
* print user-facing output directly.
|
|
9
|
+
*
|
|
10
|
+
* Design notes:
|
|
11
|
+
* - scaffoldSkillDirectory catches all fs errors and returns { ok, error }.
|
|
12
|
+
* - rollbackPartialScaffold removes the skill directory ONLY when the mkdir
|
|
13
|
+
* at line ~128 of init.ts created it fresh (createdFresh === true). When
|
|
14
|
+
* the user confirmed an overwrite of a pre-existing directory
|
|
15
|
+
* (createdFresh === false), rollback is a no-op to avoid destroying the
|
|
16
|
+
* user's existing files on mid-write failure.
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* Input for scaffoldSkillDirectory.
|
|
20
|
+
*/
|
|
21
|
+
export interface ScaffoldInput {
|
|
22
|
+
/** Absolute path to the skill directory to populate. */
|
|
23
|
+
skillDir: string;
|
|
24
|
+
/** Skill name (used in templates). */
|
|
25
|
+
skillName: string;
|
|
26
|
+
/** Skill description (used in templates). */
|
|
27
|
+
description: string;
|
|
28
|
+
/** Skill author (used in templates). */
|
|
29
|
+
author: string;
|
|
30
|
+
/** Skill category (used in templates). */
|
|
31
|
+
category: string;
|
|
32
|
+
/**
|
|
33
|
+
* True if the skillDir was created by this invocation (fresh mkdir).
|
|
34
|
+
* False if the directory pre-existed and the user confirmed overwrite.
|
|
35
|
+
*
|
|
36
|
+
* Controls rollback behaviour on failure:
|
|
37
|
+
* - true: on error, rm -rf skillDir (best-effort cleanup)
|
|
38
|
+
* - false: on error, leave skillDir alone (user's pre-existing files preserved)
|
|
39
|
+
*/
|
|
40
|
+
createdFresh: boolean;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Result of scaffoldSkillDirectory. Never throws — callers should branch on `ok`.
|
|
44
|
+
*/
|
|
45
|
+
export type ScaffoldResult = {
|
|
46
|
+
ok: true;
|
|
47
|
+
} | {
|
|
48
|
+
ok: false;
|
|
49
|
+
error: string;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Create subdirectories, render templates, and write SKILL.md, README.md,
|
|
53
|
+
* example.js, and .gitignore into `skillDir`.
|
|
54
|
+
*
|
|
55
|
+
* On any fs failure, best-effort rollback is attempted (see
|
|
56
|
+
* `rollbackPartialScaffold`) and the sanitized error is returned as a string.
|
|
57
|
+
* No exception escapes this function for fs-level failures.
|
|
58
|
+
*/
|
|
59
|
+
export declare function scaffoldSkillDirectory(input: ScaffoldInput): Promise<ScaffoldResult>;
|
|
60
|
+
/**
|
|
61
|
+
* Best-effort cleanup of a partially-scaffolded skill directory.
|
|
62
|
+
*
|
|
63
|
+
* CRITICAL: This function must only remove `skillDir` (the skill directory
|
|
64
|
+
* itself). It must NEVER receive or operate on `targetPath` (the parent
|
|
65
|
+
* directory the user passed via --path) — doing so would rm -rf the user's
|
|
66
|
+
* chosen parent directory.
|
|
67
|
+
*
|
|
68
|
+
* When `createdFresh === false`, the directory pre-existed before this init
|
|
69
|
+
* invocation (user confirmed overwrite earlier). Removing it would destroy
|
|
70
|
+
* the user's existing files, so this function no-ops.
|
|
71
|
+
*
|
|
72
|
+
* When `createdFresh === true`, the directory was created by the current
|
|
73
|
+
* init invocation. Best-effort `rm -rf` is safe because only partial scaffold
|
|
74
|
+
* output lives there.
|
|
75
|
+
*
|
|
76
|
+
* Any rollback failure is swallowed — the original scaffold error is the
|
|
77
|
+
* user-facing failure; rollback is defence-in-depth.
|
|
78
|
+
*/
|
|
79
|
+
export declare function rollbackPartialScaffold(skillDir: string, createdFresh: boolean): Promise<void>;
|
|
80
|
+
//# sourceMappingURL=init.helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.helpers.d.ts","sourceRoot":"","sources":["../../../../src/commands/author/init.helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAQH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAA;IAChB,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAA;IACjB,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAA;IACnB,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAA;IACd,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAA;IAChB;;;;;;;OAOG;IACH,YAAY,EAAE,OAAO,CAAA;CACtB;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAExE;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAsD1F;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,OAAO,GACpB,OAAO,CAAC,IAAI,CAAC,CAWf"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SMI-4289: author init error-handling helpers (closes #602)
|
|
3
|
+
* SMI-4314: error-contract update — initSkill now throws InitSkillError on
|
|
4
|
+
* expected user-facing failures. The createInitCommand() action wrapper
|
|
5
|
+
* catches, prints the sanitized message exactly once, and exits with
|
|
6
|
+
* InitSkillError.exitCode. Helpers here keep the library-to-library
|
|
7
|
+
* { ok, error } signalling contract: they never call process.exit and never
|
|
8
|
+
* print user-facing output directly.
|
|
9
|
+
*
|
|
10
|
+
* Design notes:
|
|
11
|
+
* - scaffoldSkillDirectory catches all fs errors and returns { ok, error }.
|
|
12
|
+
* - rollbackPartialScaffold removes the skill directory ONLY when the mkdir
|
|
13
|
+
* at line ~128 of init.ts created it fresh (createdFresh === true). When
|
|
14
|
+
* the user confirmed an overwrite of a pre-existing directory
|
|
15
|
+
* (createdFresh === false), rollback is a no-op to avoid destroying the
|
|
16
|
+
* user's existing files on mid-write failure.
|
|
17
|
+
*/
|
|
18
|
+
import { mkdir, writeFile, rm } from 'fs/promises';
|
|
19
|
+
import { join } from 'path';
|
|
20
|
+
import { SKILL_MD_TEMPLATE, README_MD_TEMPLATE } from '../../templates/index.js';
|
|
21
|
+
import { sanitizeError } from '../../utils/sanitize.js';
|
|
22
|
+
/**
|
|
23
|
+
* Create subdirectories, render templates, and write SKILL.md, README.md,
|
|
24
|
+
* example.js, and .gitignore into `skillDir`.
|
|
25
|
+
*
|
|
26
|
+
* On any fs failure, best-effort rollback is attempted (see
|
|
27
|
+
* `rollbackPartialScaffold`) and the sanitized error is returned as a string.
|
|
28
|
+
* No exception escapes this function for fs-level failures.
|
|
29
|
+
*/
|
|
30
|
+
export async function scaffoldSkillDirectory(input) {
|
|
31
|
+
const { skillDir, skillName, description, author, category, createdFresh } = input;
|
|
32
|
+
try {
|
|
33
|
+
await mkdir(join(skillDir, 'scripts'), { recursive: true });
|
|
34
|
+
await mkdir(join(skillDir, 'resources'), { recursive: true });
|
|
35
|
+
const skillMdContent = SKILL_MD_TEMPLATE.replace(/\{\{name\}\}/g, skillName)
|
|
36
|
+
.replace(/\{\{description\}\}/g, description)
|
|
37
|
+
.replace(/\{\{author\}\}/g, author)
|
|
38
|
+
.replace(/\{\{category\}\}/g, category)
|
|
39
|
+
.replace(/\{\{date\}\}/g, new Date().toISOString().split('T')[0] || '')
|
|
40
|
+
.replace(/\{\{behavioralClassification\}\}/g, '');
|
|
41
|
+
await writeFile(join(skillDir, 'SKILL.md'), skillMdContent, 'utf-8');
|
|
42
|
+
const readmeContent = README_MD_TEMPLATE.replace(/\{\{name\}\}/g, skillName).replace(/\{\{description\}\}/g, description);
|
|
43
|
+
await writeFile(join(skillDir, 'README.md'), readmeContent, 'utf-8');
|
|
44
|
+
const placeholderScript = `#!/usr/bin/env node
|
|
45
|
+
/**
|
|
46
|
+
* ${skillName} - Example Script
|
|
47
|
+
*
|
|
48
|
+
* Add your skill's automation scripts here.
|
|
49
|
+
*/
|
|
50
|
+
|
|
51
|
+
console.log('${skillName} script executed');
|
|
52
|
+
`;
|
|
53
|
+
await writeFile(join(skillDir, 'scripts', 'example.js'), placeholderScript, 'utf-8');
|
|
54
|
+
const gitignore = `# Dependencies
|
|
55
|
+
node_modules/
|
|
56
|
+
|
|
57
|
+
# Build output
|
|
58
|
+
dist/
|
|
59
|
+
|
|
60
|
+
# Environment
|
|
61
|
+
.env
|
|
62
|
+
.env.local
|
|
63
|
+
|
|
64
|
+
# OS files
|
|
65
|
+
.DS_Store
|
|
66
|
+
Thumbs.db
|
|
67
|
+
`;
|
|
68
|
+
await writeFile(join(skillDir, '.gitignore'), gitignore, 'utf-8');
|
|
69
|
+
return { ok: true };
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
await rollbackPartialScaffold(skillDir, createdFresh);
|
|
73
|
+
return { ok: false, error: sanitizeError(error) };
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Best-effort cleanup of a partially-scaffolded skill directory.
|
|
78
|
+
*
|
|
79
|
+
* CRITICAL: This function must only remove `skillDir` (the skill directory
|
|
80
|
+
* itself). It must NEVER receive or operate on `targetPath` (the parent
|
|
81
|
+
* directory the user passed via --path) — doing so would rm -rf the user's
|
|
82
|
+
* chosen parent directory.
|
|
83
|
+
*
|
|
84
|
+
* When `createdFresh === false`, the directory pre-existed before this init
|
|
85
|
+
* invocation (user confirmed overwrite earlier). Removing it would destroy
|
|
86
|
+
* the user's existing files, so this function no-ops.
|
|
87
|
+
*
|
|
88
|
+
* When `createdFresh === true`, the directory was created by the current
|
|
89
|
+
* init invocation. Best-effort `rm -rf` is safe because only partial scaffold
|
|
90
|
+
* output lives there.
|
|
91
|
+
*
|
|
92
|
+
* Any rollback failure is swallowed — the original scaffold error is the
|
|
93
|
+
* user-facing failure; rollback is defence-in-depth.
|
|
94
|
+
*/
|
|
95
|
+
export async function rollbackPartialScaffold(skillDir, createdFresh) {
|
|
96
|
+
if (!createdFresh) {
|
|
97
|
+
// User's pre-existing directory — do not remove.
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
try {
|
|
101
|
+
await rm(skillDir, { recursive: true, force: true });
|
|
102
|
+
}
|
|
103
|
+
catch {
|
|
104
|
+
// Swallow — best-effort cleanup; original failure is what matters.
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=init.helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.helpers.js","sourceRoot":"","sources":["../../../../src/commands/author/init.helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAgCvD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,KAAoB;IAC/D,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,KAAK,CAAA;IAElF,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC3D,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAE7D,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC;aACzE,OAAO,CAAC,sBAAsB,EAAE,WAAW,CAAC;aAC5C,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC;aAClC,OAAO,CAAC,mBAAmB,EAAE,QAAQ,CAAC;aACtC,OAAO,CAAC,eAAe,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACtE,OAAO,CAAC,mCAAmC,EAAE,EAAE,CAAC,CAAA;QAEnD,MAAM,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,CAAA;QAEpE,MAAM,aAAa,GAAG,kBAAkB,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,OAAO,CAClF,sBAAsB,EACtB,WAAW,CACZ,CAAA;QACD,MAAM,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,CAAA;QAEpE,MAAM,iBAAiB,GAAG;;KAEzB,SAAS;;;;;eAKC,SAAS;CACvB,CAAA;QACG,MAAM,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAA;QAEpF,MAAM,SAAS,GAAG;;;;;;;;;;;;;CAarB,CAAA;QACG,MAAM,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;QAEjE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,uBAAuB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;QACrD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,CAAA;IACnD,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,QAAgB,EAChB,YAAqB;IAErB,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,iDAAiD;QACjD,OAAM;IACR,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,mEAAmE;IACrE,CAAC;AACH,CAAC"}
|
|
@@ -12,10 +12,11 @@ import { mkdir, writeFile, readFile, stat, readdir } from 'fs/promises';
|
|
|
12
12
|
import { dirname, join, resolve } from 'path';
|
|
13
13
|
import { createHash } from 'crypto';
|
|
14
14
|
import { SkillParser } from '@skillsmith/core';
|
|
15
|
-
import { SKILL_MD_TEMPLATE, README_MD_TEMPLATE } from '../../templates/index.js';
|
|
16
15
|
import { sanitizeError } from '../../utils/sanitize.js';
|
|
16
|
+
import { InitSkillError } from '../../utils/errors.js';
|
|
17
17
|
import { validateSkillName } from '../../utils/skill-name.js';
|
|
18
18
|
import { printValidationResult } from './utils.js';
|
|
19
|
+
import { scaffoldSkillDirectory } from './init.helpers.js';
|
|
19
20
|
/**
|
|
20
21
|
* Valid categories for skill initialization
|
|
21
22
|
*/
|
|
@@ -38,8 +39,8 @@ export async function initSkill(name, targetPath, options = {}) {
|
|
|
38
39
|
validate: validateSkillName,
|
|
39
40
|
}));
|
|
40
41
|
if (name && validateSkillName(skillName) !== true) {
|
|
41
|
-
|
|
42
|
-
|
|
42
|
+
// SMI-4314: throw typed error; the wrapper prints exactly once and exits.
|
|
43
|
+
throw new InitSkillError(chalk.red(`Invalid skill name: ${validateSkillName(skillName)}`));
|
|
43
44
|
}
|
|
44
45
|
// Use provided options or prompt interactively
|
|
45
46
|
const description = options.description ||
|
|
@@ -54,8 +55,8 @@ export async function initSkill(name, targetPath, options = {}) {
|
|
|
54
55
|
}));
|
|
55
56
|
// Validate category if provided via CLI
|
|
56
57
|
if (options.category && !VALID_CATEGORIES.includes(options.category)) {
|
|
57
|
-
|
|
58
|
-
|
|
58
|
+
// SMI-4314: throw typed error; the wrapper prints exactly once and exits.
|
|
59
|
+
throw new InitSkillError(chalk.red(`Invalid category: ${options.category}. Valid categories: ${VALID_CATEGORIES.join(', ')}`));
|
|
59
60
|
}
|
|
60
61
|
const category = options.category ||
|
|
61
62
|
(await select({
|
|
@@ -70,9 +71,14 @@ export async function initSkill(name, targetPath, options = {}) {
|
|
|
70
71
|
],
|
|
71
72
|
}));
|
|
72
73
|
const skillDir = resolve(targetPath, skillName);
|
|
73
|
-
//
|
|
74
|
+
// SMI-4289: Track whether this invocation created the directory fresh.
|
|
75
|
+
// Used by the scaffold helper to decide if rollback can safely rm -rf
|
|
76
|
+
// on mid-scaffold failure. When false (user confirmed overwrite of
|
|
77
|
+
// pre-existing dir), rollback MUST no-op to protect the user's files.
|
|
78
|
+
let skillDirPreExisted = false;
|
|
74
79
|
try {
|
|
75
80
|
await stat(skillDir);
|
|
81
|
+
skillDirPreExisted = true;
|
|
76
82
|
// Skip confirmation if --yes flag is set
|
|
77
83
|
if (!options.yes) {
|
|
78
84
|
const overwrite = await confirm({
|
|
@@ -89,62 +95,46 @@ export async function initSkill(name, targetPath, options = {}) {
|
|
|
89
95
|
// Directory doesn't exist, continue
|
|
90
96
|
}
|
|
91
97
|
const spinner = ora('Creating skill structure...').start();
|
|
98
|
+
// SMI-4289: mkdir is outside the scaffold helper so we can detect EACCES
|
|
99
|
+
// / EPERM / ENOSPC here and set createdFresh appropriately. If mkdir
|
|
100
|
+
// itself fails on a fresh path, there is no partial directory to roll
|
|
101
|
+
// back — we simply report the error.
|
|
102
|
+
let createdFresh = false;
|
|
92
103
|
try {
|
|
93
|
-
// Create directory structure
|
|
94
104
|
await mkdir(skillDir, { recursive: true });
|
|
95
|
-
|
|
96
|
-
await mkdir(join(skillDir, 'resources'), { recursive: true });
|
|
97
|
-
// Generate SKILL.md from template
|
|
98
|
-
const skillMdContent = SKILL_MD_TEMPLATE.replace(/\{\{name\}\}/g, skillName)
|
|
99
|
-
.replace(/\{\{description\}\}/g, description)
|
|
100
|
-
.replace(/\{\{author\}\}/g, author)
|
|
101
|
-
.replace(/\{\{category\}\}/g, category)
|
|
102
|
-
.replace(/\{\{date\}\}/g, new Date().toISOString().split('T')[0] || '')
|
|
103
|
-
.replace(/\{\{behavioralClassification\}\}/g, '');
|
|
104
|
-
await writeFile(join(skillDir, 'SKILL.md'), skillMdContent, 'utf-8');
|
|
105
|
-
// Generate README.md from template
|
|
106
|
-
const readmeContent = README_MD_TEMPLATE.replace(/\{\{name\}\}/g, skillName).replace(/\{\{description\}\}/g, description);
|
|
107
|
-
await writeFile(join(skillDir, 'README.md'), readmeContent, 'utf-8');
|
|
108
|
-
// Create placeholder script
|
|
109
|
-
const placeholderScript = `#!/usr/bin/env node
|
|
110
|
-
/**
|
|
111
|
-
* ${skillName} - Example Script
|
|
112
|
-
*
|
|
113
|
-
* Add your skill's automation scripts here.
|
|
114
|
-
*/
|
|
115
|
-
|
|
116
|
-
console.log('${skillName} script executed');
|
|
117
|
-
`;
|
|
118
|
-
await writeFile(join(skillDir, 'scripts', 'example.js'), placeholderScript, 'utf-8');
|
|
119
|
-
// Create .gitignore
|
|
120
|
-
const gitignore = `# Dependencies
|
|
121
|
-
node_modules/
|
|
122
|
-
|
|
123
|
-
# Build output
|
|
124
|
-
dist/
|
|
125
|
-
|
|
126
|
-
# Environment
|
|
127
|
-
.env
|
|
128
|
-
.env.local
|
|
129
|
-
|
|
130
|
-
# OS files
|
|
131
|
-
.DS_Store
|
|
132
|
-
Thumbs.db
|
|
133
|
-
`;
|
|
134
|
-
await writeFile(join(skillDir, '.gitignore'), gitignore, 'utf-8');
|
|
135
|
-
spinner.succeed(`Created skill at ${skillDir}`);
|
|
136
|
-
console.log(chalk.bold('\nNext steps:'));
|
|
137
|
-
console.log(chalk.dim(` 1. cd ${skillDir}`));
|
|
138
|
-
console.log(chalk.dim(' 2. Edit SKILL.md to customize your skill'));
|
|
139
|
-
console.log(chalk.dim(' 3. Add scripts to the scripts/ directory'));
|
|
140
|
-
console.log(chalk.dim(' 4. Run skillsmith validate to check your skill'));
|
|
141
|
-
console.log(chalk.dim(' 5. Run skillsmith publish to prepare for sharing'));
|
|
142
|
-
console.log();
|
|
105
|
+
createdFresh = !skillDirPreExisted;
|
|
143
106
|
}
|
|
144
107
|
catch (error) {
|
|
145
|
-
spinner
|
|
146
|
-
|
|
108
|
+
// SMI-4314: stop spinner silently and throw typed error. The wrapper
|
|
109
|
+
// prints the message exactly once (spinner.fail + console.error would
|
|
110
|
+
// double-print the same text in the real CLI path).
|
|
111
|
+
spinner.stop();
|
|
112
|
+
throw new InitSkillError(chalk.red(`Failed to create skill: ${sanitizeError(error)}`), 1, {
|
|
113
|
+
cause: error,
|
|
114
|
+
});
|
|
147
115
|
}
|
|
116
|
+
const result = await scaffoldSkillDirectory({
|
|
117
|
+
skillDir,
|
|
118
|
+
skillName,
|
|
119
|
+
description,
|
|
120
|
+
author,
|
|
121
|
+
category,
|
|
122
|
+
createdFresh,
|
|
123
|
+
});
|
|
124
|
+
if (!result.ok) {
|
|
125
|
+
// SMI-4314: stop spinner silently and throw typed error. The wrapper
|
|
126
|
+
// prints the sanitized message exactly once.
|
|
127
|
+
spinner.stop();
|
|
128
|
+
throw new InitSkillError(chalk.red(`Failed to create skill: ${result.error}`));
|
|
129
|
+
}
|
|
130
|
+
spinner.succeed(`Created skill at ${skillDir}`);
|
|
131
|
+
console.log(chalk.bold('\nNext steps:'));
|
|
132
|
+
console.log(chalk.dim(` 1. cd ${skillDir}`));
|
|
133
|
+
console.log(chalk.dim(' 2. Edit SKILL.md to customize your skill'));
|
|
134
|
+
console.log(chalk.dim(' 3. Add scripts to the scripts/ directory'));
|
|
135
|
+
console.log(chalk.dim(' 4. Run skillsmith validate to check your skill'));
|
|
136
|
+
console.log(chalk.dim(' 5. Run skillsmith publish to prepare for sharing'));
|
|
137
|
+
console.log();
|
|
148
138
|
}
|
|
149
139
|
/**
|
|
150
140
|
* Validate a local SKILL.md file
|
|
@@ -349,6 +339,14 @@ export function createInitCommand() {
|
|
|
349
339
|
});
|
|
350
340
|
}
|
|
351
341
|
catch (error) {
|
|
342
|
+
// SMI-4314: typed InitSkillError → user-facing message is already
|
|
343
|
+
// composed (and chalk-styled); print it verbatim and exit with the
|
|
344
|
+
// requested code. Anything else is an unexpected bug — route
|
|
345
|
+
// through sanitizeError with the generic prefix.
|
|
346
|
+
if (error instanceof InitSkillError) {
|
|
347
|
+
console.error(error.message);
|
|
348
|
+
process.exit(error.exitCode);
|
|
349
|
+
}
|
|
352
350
|
console.error(chalk.red('Error initializing skill:'), sanitizeError(error));
|
|
353
351
|
process.exit(1);
|
|
354
352
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../src/commands/author/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../src/commands/author/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Login Command - Authenticate the Skillsmith CLI
|
|
3
|
-
*
|
|
4
|
-
* SMI-2715: CLI Login Device Flow
|
|
5
|
-
*
|
|
6
|
-
* Opens the Skillsmith dashboard in the browser (or prints the URL for
|
|
7
|
-
* headless/CI environments), prompts for an API key with masked input,
|
|
8
|
-
* validates the format, and stores it securely via @skillsmith/core.
|
|
9
|
-
*
|
|
10
|
-
* Security notes:
|
|
11
|
-
* - No --key <value> flag: would expose the secret in ps aux / shell history
|
|
12
|
-
* - Headless path: SKILLSMITH_API_KEY env var (documented in README)
|
|
13
|
-
* - Always-masked input: @inquirer/prompts password() renders bullets
|
|
14
|
-
*/
|
|
15
1
|
import { Command } from 'commander';
|
|
16
|
-
/**
|
|
17
|
-
* Create the `skillsmith login` command.
|
|
18
|
-
*
|
|
19
|
-
* Options:
|
|
20
|
-
* --no-browser Print URL instead of opening browser (for CI/headless)
|
|
21
|
-
*/
|
|
22
2
|
export declare function createLoginCommand(): Command;
|
|
23
3
|
//# sourceMappingURL=login.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/commands/login.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/commands/login.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAsSnC,wBAAgB,kBAAkB,IAAI,OAAO,CAyD5C"}
|