create-dwy 0.17.0 → 0.17.1
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 +8 -0
- package/bin/index.js +23 -19
- package/package.json +1 -1
- package/src/cli-help.js +44 -0
package/CHANGELOG.md
CHANGED
package/bin/index.js
CHANGED
|
@@ -5,36 +5,40 @@ import { fileURLToPath } from 'url'
|
|
|
5
5
|
import { dirname, resolve } from 'path'
|
|
6
6
|
import { syncAll } from '../src/sync-all.js'
|
|
7
7
|
import { installSkills } from '../src/skills-install.js'
|
|
8
|
+
import { buildHelpText, buildSkillsHelpText } from '../src/cli-help.js'
|
|
8
9
|
|
|
9
10
|
const __dirname = dirname(fileURLToPath(import.meta.url))
|
|
10
11
|
const pkg = JSON.parse(readFileSync(resolve(__dirname, '..', 'package.json'), 'utf-8'))
|
|
11
12
|
const argv = process.argv.slice(2)
|
|
12
13
|
|
|
14
|
+
/** 是否请求帮助(含 -h / --help / help) */
|
|
15
|
+
function wantsHelp(args) {
|
|
16
|
+
return args.includes('--help') || args.includes('-h') || args[0] === 'help'
|
|
17
|
+
}
|
|
18
|
+
|
|
13
19
|
function printHelp() {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
' dwy --help 显示本说明',
|
|
20
|
-
' dwy -h 显示本说明',
|
|
21
|
-
' dwy --version 显示当前版本',
|
|
22
|
-
' dwy -V 显示当前版本',
|
|
23
|
-
'',
|
|
24
|
-
'以下为隐藏命令(向后兼容保留,日常无需手动调用):',
|
|
25
|
-
' dwy sync 同上的别名',
|
|
26
|
-
' dwy skills install 强制刷新全局外部 skill',
|
|
27
|
-
'',
|
|
28
|
-
]
|
|
29
|
-
console.log(lines.join('\n'))
|
|
20
|
+
console.log(buildHelpText(pkg.version))
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
function printSkillsHelp() {
|
|
24
|
+
console.log(buildSkillsHelpText())
|
|
30
25
|
}
|
|
31
26
|
|
|
32
|
-
if (argv
|
|
27
|
+
if (argv[0] === 'skills') {
|
|
28
|
+
const rest = argv.slice(1)
|
|
29
|
+
if (rest.length === 0 || wantsHelp(rest) || rest[0] === 'help') {
|
|
30
|
+
printSkillsHelp()
|
|
31
|
+
} else if (rest[0] === 'install') {
|
|
32
|
+
await installSkills()
|
|
33
|
+
} else {
|
|
34
|
+
console.error(`未知命令: dwy skills ${rest.join(' ')}`)
|
|
35
|
+
printSkillsHelp()
|
|
36
|
+
process.exitCode = 1
|
|
37
|
+
}
|
|
38
|
+
} else if (wantsHelp(argv)) {
|
|
33
39
|
printHelp()
|
|
34
40
|
} else if (argv.includes('--version') || argv.includes('-V')) {
|
|
35
41
|
console.log(pkg.version)
|
|
36
|
-
} else if (argv[0] === 'skills' && argv[1] === 'install') {
|
|
37
|
-
await installSkills()
|
|
38
42
|
} else if (argv.length === 0 || argv[0] === 'sync') {
|
|
39
43
|
await syncAll()
|
|
40
44
|
} else {
|
package/package.json
CHANGED
package/src/cli-help.js
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* dwy 命令行帮助文案。
|
|
3
|
+
* 已实现的入口必须出现在这里;禁止把可用命令藏进「隐藏」段。
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* 主帮助:`dwy --help`。
|
|
8
|
+
* version 来自 package.json,调用方传入,避免本模块读盘。
|
|
9
|
+
*
|
|
10
|
+
* @param {string} version
|
|
11
|
+
*/
|
|
12
|
+
export function buildHelpText(version) {
|
|
13
|
+
return [
|
|
14
|
+
`dwy ${version}`,
|
|
15
|
+
'',
|
|
16
|
+
'Usage:',
|
|
17
|
+
' dwy 交互同步:选范围(完整/仅 Skills)、平台、skill 落点',
|
|
18
|
+
' dwy sync 同上',
|
|
19
|
+
' dwy skills install 强制刷新全局外部 skill 到 ~/.dwy/skills',
|
|
20
|
+
' dwy skills --help 显示 skills 子命令',
|
|
21
|
+
' dwy --help 显示本说明',
|
|
22
|
+
' dwy -h 显示本说明',
|
|
23
|
+
' dwy --version 显示当前版本',
|
|
24
|
+
' dwy -V 显示当前版本',
|
|
25
|
+
'',
|
|
26
|
+
'Skills:',
|
|
27
|
+
' dwy skills install 按清单安装/覆盖更新 pm-skills、superpowers(一台机一份)',
|
|
28
|
+
'',
|
|
29
|
+
].join('\n')
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* skills 子命令帮助:`dwy skills` / `dwy skills --help`。
|
|
34
|
+
*/
|
|
35
|
+
export function buildSkillsHelpText() {
|
|
36
|
+
return [
|
|
37
|
+
'dwy skills',
|
|
38
|
+
'',
|
|
39
|
+
'Usage:',
|
|
40
|
+
' dwy skills install 强制刷新全局外部 skill 到 ~/.dwy/skills',
|
|
41
|
+
' dwy skills --help 显示本说明',
|
|
42
|
+
'',
|
|
43
|
+
].join('\n')
|
|
44
|
+
}
|