@captain_z/zsk 0.1.0 → 1.0.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/README.md +4 -4
- package/dist/commands/add-flow.d.ts +33 -0
- package/dist/commands/add-flow.js +80 -0
- package/dist/commands/add-flow.js.map +1 -0
- package/dist/commands/add.js +193 -156
- package/dist/commands/add.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -36,8 +36,8 @@ npx @captain_z/zsk project-init
|
|
|
36
36
|
target-first → 预检 manifest
|
|
37
37
|
├─ 有 manifest → 刷新 / 追加 / 退出
|
|
38
38
|
│ ↳ 刷新:全部官方变更(跳过手改) / 含手改强刷(备份)
|
|
39
|
-
└─ 空 target →
|
|
40
|
-
↳
|
|
39
|
+
└─ 空 target → skill 包多选 → skill 多选
|
|
40
|
+
↳ 可同时勾选多个预设包;也可叠加自选 skill
|
|
41
41
|
```
|
|
42
42
|
|
|
43
43
|
完整 UX 见 [ARCHITECTURE.md §6.4](../../ARCHITECTURE.md#64-zsk-add-自适应-clack-向导)。
|
|
@@ -65,8 +65,8 @@ target-first → 预检 manifest
|
|
|
65
65
|
|
|
66
66
|
| Flag 给了 | 跳过哪一步 |
|
|
67
67
|
| --- | --- |
|
|
68
|
-
| `--target` | "
|
|
69
|
-
| `<pattern>` = bundle 名 |
|
|
68
|
+
| `--target` | "选择安装位置(可多选)" |
|
|
69
|
+
| `<pattern>` = bundle 名 | 跳过 skill 包选择;直接按 bundle 预选 skill |
|
|
70
70
|
| `<pattern>` = `zsk:...` / glob | 两屏都跳过,pattern 匹配即装 |
|
|
71
71
|
| `--skill='*'` | 整个"装什么"两屏跳过(= 该类型全装) |
|
|
72
72
|
| `--on-conflict` | "冲突策略" |
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { Bundles } from "../core/bundles.js";
|
|
2
|
+
export declare const MANUAL_PATH_CHOICE: "__manual_path__";
|
|
3
|
+
export declare const DEFAULT_BUNDLE = "frontend-project";
|
|
4
|
+
export type PromptOption<T extends string> = {
|
|
5
|
+
value: T;
|
|
6
|
+
label: string;
|
|
7
|
+
hint?: string;
|
|
8
|
+
};
|
|
9
|
+
export type ExistingTargetAction = "append" | "refresh" | "exit";
|
|
10
|
+
export type PlanMode = "new" | "append" | "refresh" | "exit";
|
|
11
|
+
export type SkillMode = "bundle" | "custom";
|
|
12
|
+
type TargetLike = {
|
|
13
|
+
kind: string;
|
|
14
|
+
label: string;
|
|
15
|
+
};
|
|
16
|
+
export declare function isMaintenanceRun(args: {
|
|
17
|
+
targetProvided: boolean;
|
|
18
|
+
hasManifest: boolean;
|
|
19
|
+
hasExplicitPicks: boolean;
|
|
20
|
+
}): boolean;
|
|
21
|
+
export declare function buildTargetPromptModel<T extends TargetLike>(targets: T[], hints: Record<string, string>): {
|
|
22
|
+
presetOptions: Array<PromptOption<Exclude<T["kind"], "custom">>>;
|
|
23
|
+
manualPathOption: PromptOption<typeof MANUAL_PATH_CHOICE>;
|
|
24
|
+
};
|
|
25
|
+
export declare function buildSkillModeOptions(bundles: Bundles, availableSkillCount: number): PromptOption<SkillMode>[];
|
|
26
|
+
export declare function buildBundleOptions(bundles: Bundles): PromptOption<string>[];
|
|
27
|
+
export declare function resolvePlanMode(args: {
|
|
28
|
+
hasManifest: boolean;
|
|
29
|
+
hasExplicitPicks: boolean;
|
|
30
|
+
requestedAction?: ExistingTargetAction;
|
|
31
|
+
}): PlanMode;
|
|
32
|
+
export declare function inferBundleName(selectedBundleName: string | null, selectedSkills: string[], bundles: Bundles, availableSkills: string[]): string | null;
|
|
33
|
+
export {};
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
export const MANUAL_PATH_CHOICE = "__manual_path__";
|
|
2
|
+
export const DEFAULT_BUNDLE = "frontend-project";
|
|
3
|
+
export function isMaintenanceRun(args) {
|
|
4
|
+
return args.targetProvided && args.hasManifest && !args.hasExplicitPicks;
|
|
5
|
+
}
|
|
6
|
+
export function buildTargetPromptModel(targets, hints) {
|
|
7
|
+
const presetOptions = targets
|
|
8
|
+
.filter((target) => target.kind !== "custom")
|
|
9
|
+
.map((target) => ({
|
|
10
|
+
value: target.kind,
|
|
11
|
+
label: target.label,
|
|
12
|
+
hint: hints[target.kind],
|
|
13
|
+
}));
|
|
14
|
+
return {
|
|
15
|
+
presetOptions,
|
|
16
|
+
manualPathOption: {
|
|
17
|
+
value: MANUAL_PATH_CHOICE,
|
|
18
|
+
label: "手动输入路径...",
|
|
19
|
+
hint: hints.custom,
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export function buildSkillModeOptions(bundles, availableSkillCount) {
|
|
24
|
+
const bundleCount = Object.values(bundles).filter((bundle) => bundle.skills.length > 0).length;
|
|
25
|
+
return [
|
|
26
|
+
{
|
|
27
|
+
value: "bundle",
|
|
28
|
+
label: "预设 bundle",
|
|
29
|
+
hint: `先选 1 个预设,再微调其中的 skill(${bundleCount} 个可选)`,
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
value: "custom",
|
|
33
|
+
label: "按 skill 自选",
|
|
34
|
+
hint: `按领域分组浏览 ${availableSkillCount} 颗`,
|
|
35
|
+
},
|
|
36
|
+
];
|
|
37
|
+
}
|
|
38
|
+
export function buildBundleOptions(bundles) {
|
|
39
|
+
return Object.entries(bundles)
|
|
40
|
+
.filter(([, bundle]) => bundle.skills.length > 0)
|
|
41
|
+
.map(([name, bundle]) => ({
|
|
42
|
+
value: name,
|
|
43
|
+
label: name,
|
|
44
|
+
hint: `${bundle.skills.length} · ${bundle.hint}`,
|
|
45
|
+
}))
|
|
46
|
+
.sort((left, right) => {
|
|
47
|
+
if (left.value === DEFAULT_BUNDLE)
|
|
48
|
+
return -1;
|
|
49
|
+
if (right.value === DEFAULT_BUNDLE)
|
|
50
|
+
return 1;
|
|
51
|
+
return left.value.localeCompare(right.value);
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
export function resolvePlanMode(args) {
|
|
55
|
+
if (!args.hasManifest)
|
|
56
|
+
return "new";
|
|
57
|
+
if (args.hasExplicitPicks)
|
|
58
|
+
return "append";
|
|
59
|
+
return args.requestedAction ?? "exit";
|
|
60
|
+
}
|
|
61
|
+
export function inferBundleName(selectedBundleName, selectedSkills, bundles, availableSkills) {
|
|
62
|
+
if (!selectedBundleName)
|
|
63
|
+
return null;
|
|
64
|
+
const bundle = bundles[selectedBundleName];
|
|
65
|
+
if (!bundle)
|
|
66
|
+
return null;
|
|
67
|
+
const expected = bundleToAvailable(bundle, availableSkills);
|
|
68
|
+
return sameMembers(selectedSkills, expected) ? selectedBundleName : null;
|
|
69
|
+
}
|
|
70
|
+
function bundleToAvailable(bundle, availableSkills) {
|
|
71
|
+
const set = new Set(availableSkills);
|
|
72
|
+
return bundle.skills.filter((skill) => set.has(skill));
|
|
73
|
+
}
|
|
74
|
+
function sameMembers(left, right) {
|
|
75
|
+
if (left.length !== right.length)
|
|
76
|
+
return false;
|
|
77
|
+
const rightSet = new Set(right);
|
|
78
|
+
return left.every((value) => rightSet.has(value));
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=add-flow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-flow.js","sourceRoot":"","sources":["../../src/commands/add-flow.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/add.js
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
// `zsk add` — adaptive install wizard.
|
|
2
2
|
//
|
|
3
|
-
//
|
|
4
|
-
// -
|
|
5
|
-
// -
|
|
6
|
-
// -
|
|
7
|
-
// - Flag preloading skips the corresponding clack step.
|
|
3
|
+
// Interactive flow:
|
|
4
|
+
// - Default path is payload-first: pick skills/bundle, then pick one target.
|
|
5
|
+
// - Explicit existing target + no payload enters maintenance mode (refresh/append).
|
|
6
|
+
// - "手动输入路径..." and "按 skill 自选" are actions, not fake multiselect items.
|
|
8
7
|
// - Writes zsk-manifest.json on success so future runs can branch correctly.
|
|
9
8
|
import pc from "picocolors";
|
|
10
9
|
import { readFile, access } from "node:fs/promises";
|
|
11
10
|
import { join } from "node:path";
|
|
12
|
-
import { intro, outro, select, groupMultiselect, text,
|
|
11
|
+
import { intro, outro, select, groupMultiselect, text, log, spinner, note, } from "../ui/prompts.js";
|
|
13
12
|
import { loadBundles } from "../core/bundles.js";
|
|
14
13
|
import { enumerateSkills, loadSkill, DOMAINS, } from "../core/skills.js";
|
|
15
14
|
import { TARGET_OPTIONS, resolvePath, } from "../core/targets.js";
|
|
@@ -17,6 +16,7 @@ import { install } from "../core/installer.js";
|
|
|
17
16
|
import { fileExists } from "../core/scaffolder.js";
|
|
18
17
|
import { readManifest, writeManifest, buildManifest, detectDrift, sha256File, } from "../core/manifest.js";
|
|
19
18
|
import { expandCapabilityFilters, classifyPattern, hasCapabilityFilter, } from "../core/capabilities.js";
|
|
19
|
+
import { DEFAULT_BUNDLE, MANUAL_PATH_CHOICE, buildBundleOptions, buildSkillModeOptions, buildTargetPromptModel, inferBundleName, isMaintenanceRun, resolvePlanMode, } from "./add-flow.js";
|
|
20
20
|
export async function run(positional, opts, zskVersion) {
|
|
21
21
|
intro(`${pc.bold("zsk")} · add`);
|
|
22
22
|
const isTTY = Boolean(process.stdout.isTTY);
|
|
@@ -43,109 +43,153 @@ export async function run(positional, opts, zskVersion) {
|
|
|
43
43
|
process.exit(1);
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
|
-
// Step 0 — offer project-init when project-config.md missing (interactive only)
|
|
47
|
-
if (isTTY && !opts.yes) {
|
|
48
|
-
await maybeOfferProjectInit();
|
|
49
|
-
}
|
|
50
|
-
// Step 1 — target (flag preloads)
|
|
51
46
|
const bundles = await loadBundles();
|
|
52
|
-
const targetPath = await selectTarget(opts, bundles);
|
|
53
|
-
// Step 2 — read manifest → branch A vs B
|
|
54
|
-
const manifest = await readManifest(targetPath);
|
|
55
|
-
const drift = manifest ? await detectDrift(targetPath, manifest) : [];
|
|
56
47
|
const filters = capabilityFiltersFromOptions(opts);
|
|
57
48
|
const allSkills = await enumerateSkills();
|
|
58
49
|
const allSkillNames = allSkills.map((s) => s.name);
|
|
59
50
|
// Resolve positional into bundle or skill pattern (if any)
|
|
60
|
-
const
|
|
51
|
+
const bundlePatternsFromArgs = positional.filter((p) => classifyPattern(p, Object.keys(bundles)) === "bundle");
|
|
61
52
|
const skillPatternsFromArgs = positional.filter((p) => classifyPattern(p, Object.keys(bundles)) !== "bundle");
|
|
62
|
-
let pickedSkills = [];
|
|
63
|
-
let chosenBundle = null;
|
|
64
|
-
let mode = "new";
|
|
65
53
|
const hasExplicitPicks = positional.length > 0 || hasCapabilityFilter(filters);
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
54
|
+
const explicitTargetPath = opts.target ? resolvePath(opts.target) : null;
|
|
55
|
+
const explicitManifest = explicitTargetPath
|
|
56
|
+
? await readManifest(explicitTargetPath).catch(() => null)
|
|
57
|
+
: null;
|
|
58
|
+
const maintenanceRun = isMaintenanceRun({
|
|
59
|
+
targetProvided: Boolean(explicitTargetPath),
|
|
60
|
+
hasManifest: Boolean(explicitManifest),
|
|
61
|
+
hasExplicitPicks,
|
|
62
|
+
});
|
|
63
|
+
let sharedPickedPromise;
|
|
64
|
+
async function getSharedPicked() {
|
|
65
|
+
sharedPickedPromise ??= pickSkills({
|
|
66
|
+
bundles,
|
|
67
|
+
availableSkills: allSkillNames,
|
|
68
|
+
bundlePatternsFromArgs,
|
|
69
|
+
skillPatternsFromArgs,
|
|
70
|
+
filters,
|
|
71
|
+
opts,
|
|
72
|
+
});
|
|
73
|
+
return sharedPickedPromise;
|
|
74
|
+
}
|
|
75
|
+
let plan;
|
|
76
|
+
if (maintenanceRun && explicitTargetPath && explicitManifest) {
|
|
77
|
+
const drift = await detectDrift(explicitTargetPath, explicitManifest);
|
|
78
|
+
const action = await askExistingAction(explicitManifest, drift, opts, false);
|
|
79
|
+
const mode = resolvePlanMode({
|
|
80
|
+
hasManifest: true,
|
|
81
|
+
hasExplicitPicks,
|
|
82
|
+
requestedAction: action,
|
|
83
|
+
});
|
|
84
|
+
if (mode === "exit") {
|
|
74
85
|
outro("取消");
|
|
75
86
|
return;
|
|
76
87
|
}
|
|
77
|
-
if (
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
88
|
+
if (mode === "refresh") {
|
|
89
|
+
plan = {
|
|
90
|
+
targetPath: explicitTargetPath,
|
|
91
|
+
manifest: explicitManifest,
|
|
92
|
+
mode,
|
|
93
|
+
skills: await askRefreshScope(explicitManifest, drift, opts),
|
|
94
|
+
bundle: explicitManifest.bundle,
|
|
95
|
+
};
|
|
81
96
|
}
|
|
82
97
|
else {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
98
|
+
const picked = await getSharedPicked();
|
|
99
|
+
if (picked.skills.length === 0) {
|
|
100
|
+
log.warn("未选任何 skill,退出。");
|
|
101
|
+
outro("bye");
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
plan = {
|
|
105
|
+
targetPath: explicitTargetPath,
|
|
106
|
+
manifest: explicitManifest,
|
|
107
|
+
mode,
|
|
108
|
+
skills: picked.skills,
|
|
109
|
+
bundle: picked.bundle ?? explicitManifest.bundle,
|
|
110
|
+
};
|
|
95
111
|
}
|
|
96
112
|
}
|
|
97
113
|
else {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
114
|
+
const picked = await getSharedPicked();
|
|
115
|
+
if (picked.skills.length === 0) {
|
|
116
|
+
log.warn("未选任何 skill,退出。");
|
|
117
|
+
outro("bye");
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
const targetPath = explicitTargetPath ?? await selectTarget();
|
|
121
|
+
const manifest = explicitTargetPath && explicitTargetPath === targetPath
|
|
122
|
+
? explicitManifest
|
|
123
|
+
: await readManifest(targetPath);
|
|
124
|
+
const drift = manifest ? await detectDrift(targetPath, manifest) : [];
|
|
125
|
+
const action = manifest && !hasExplicitPicks
|
|
126
|
+
? await askExistingAction(manifest, drift, opts, true)
|
|
127
|
+
: undefined;
|
|
128
|
+
const mode = resolvePlanMode({
|
|
129
|
+
hasManifest: Boolean(manifest),
|
|
130
|
+
hasExplicitPicks,
|
|
131
|
+
requestedAction: action,
|
|
107
132
|
});
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
133
|
+
if (mode === "exit") {
|
|
134
|
+
outro("取消");
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
if (mode === "refresh" && manifest) {
|
|
138
|
+
plan = {
|
|
139
|
+
targetPath,
|
|
140
|
+
manifest,
|
|
141
|
+
mode,
|
|
142
|
+
skills: await askRefreshScope(manifest, drift, opts),
|
|
143
|
+
bundle: manifest.bundle,
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
plan = {
|
|
148
|
+
targetPath,
|
|
149
|
+
manifest,
|
|
150
|
+
mode,
|
|
151
|
+
skills: picked.skills,
|
|
152
|
+
bundle: manifest ? picked.bundle ?? manifest.bundle : picked.bundle,
|
|
153
|
+
};
|
|
154
|
+
}
|
|
115
155
|
}
|
|
116
156
|
// Step 3 — conflict policy (flag preloads; refresh + drift defaults to backup)
|
|
117
|
-
const onConflict = await askConflict(opts, mode);
|
|
157
|
+
const onConflict = await askConflict(opts, plan.mode === "refresh" ? "refresh" : "append");
|
|
118
158
|
const dryRun = Boolean(opts.dryRun);
|
|
119
159
|
// Step 4 — dry-run preview short-circuit
|
|
120
160
|
if (dryRun) {
|
|
121
|
-
|
|
122
|
-
|
|
161
|
+
note([
|
|
162
|
+
`[dry-run] 将处理 1 个安装位置`,
|
|
163
|
+
"",
|
|
164
|
+
`${pc.cyan(plan.targetPath)} · ${plan.mode} · ${plan.skills.length} 个 skill`,
|
|
165
|
+
...plan.skills.map((name) => ` + ${name}`),
|
|
166
|
+
].join("\n"), "预览");
|
|
123
167
|
outro("完成 (dry-run)");
|
|
124
168
|
return;
|
|
125
169
|
}
|
|
126
170
|
// Step 5 — execute install
|
|
127
171
|
const s = spinner();
|
|
128
|
-
s.start(`${mode === "refresh" ? "刷新" : "安装"} ${
|
|
172
|
+
s.start(`${plan.mode === "refresh" ? "刷新" : "安装"} ${plan.skills.length} skill → ${plan.targetPath}`);
|
|
129
173
|
let result;
|
|
130
174
|
try {
|
|
131
175
|
result = await install({
|
|
132
|
-
skills:
|
|
133
|
-
target: targetPath,
|
|
176
|
+
skills: plan.skills,
|
|
177
|
+
target: plan.targetPath,
|
|
134
178
|
onConflict,
|
|
135
179
|
dryRun: false,
|
|
136
180
|
});
|
|
137
|
-
s.stop(mode === "refresh" ? "刷新完成" : "安装完成");
|
|
181
|
+
s.stop(plan.mode === "refresh" ? "刷新完成" : "安装完成");
|
|
138
182
|
}
|
|
139
183
|
catch (err) {
|
|
140
184
|
s.stop("失败");
|
|
141
185
|
throw err;
|
|
142
186
|
}
|
|
143
187
|
// Step 6 — update manifest (merge with existing for append mode)
|
|
144
|
-
const records = await buildRecords(
|
|
145
|
-
const mergedSkills = mergeSkillRecords(mode === "append" ? manifest?.skills ?? [] : [], records);
|
|
146
|
-
await writeManifest(targetPath, buildManifest({
|
|
188
|
+
const records = await buildRecords(plan.skills, plan.targetPath, zskVersion);
|
|
189
|
+
const mergedSkills = mergeSkillRecords(plan.mode === "append" ? plan.manifest?.skills ?? [] : [], records);
|
|
190
|
+
await writeManifest(plan.targetPath, buildManifest({
|
|
147
191
|
zskVersion,
|
|
148
|
-
bundle:
|
|
192
|
+
bundle: plan.bundle,
|
|
149
193
|
skills: mergedSkills,
|
|
150
194
|
}));
|
|
151
195
|
// Step 7 — summary
|
|
@@ -160,12 +204,13 @@ export async function run(positional, opts, zskVersion) {
|
|
|
160
204
|
]
|
|
161
205
|
.filter(Boolean)
|
|
162
206
|
.join("\n");
|
|
163
|
-
note(summary, mode === "refresh" ? "刷新摘要" : "安装摘要");
|
|
207
|
+
note(summary, `${plan.mode === "refresh" ? "刷新摘要" : "安装摘要"} · ${plan.targetPath}`);
|
|
164
208
|
if (result.errors.length > 0) {
|
|
165
209
|
for (const err of result.errors)
|
|
166
210
|
log.error(`${err.skill}: ${err.message}`);
|
|
167
211
|
}
|
|
168
|
-
|
|
212
|
+
await maybeRemindProjectInit();
|
|
213
|
+
outro(`完成 · 已处理 1 个安装位置 · 运行 ${pc.cyan("zsk doctor")} 校验`);
|
|
169
214
|
}
|
|
170
215
|
// ---- helpers ----------------------------------------------------------------
|
|
171
216
|
function hasAnySource(positional, opts) {
|
|
@@ -187,60 +232,47 @@ function capabilityFiltersFromOptions(opts) {
|
|
|
187
232
|
prompt: opts.prompt ?? [],
|
|
188
233
|
};
|
|
189
234
|
}
|
|
190
|
-
async function
|
|
235
|
+
async function maybeRemindProjectInit() {
|
|
191
236
|
const cwd = process.cwd();
|
|
192
237
|
const has = await fileExists(join(cwd, "project-config.md"));
|
|
193
238
|
if (has)
|
|
194
239
|
return;
|
|
195
|
-
log.
|
|
196
|
-
const wantsBootstrap = await confirm("先跑 zsk project-init 创建 project-config.md + .raws/ + CLAUDE.md?", true);
|
|
197
|
-
if (wantsBootstrap) {
|
|
198
|
-
const { run: runProjectInit } = await import("./project-init.js");
|
|
199
|
-
await runProjectInit({ target: cwd, yes: true });
|
|
200
|
-
log.step("项目 bootstrap 完成,继续 skill 安装…");
|
|
201
|
-
}
|
|
240
|
+
log.info(`当前目录仍缺 ${pc.cyan("project-config.md")};如需填充 ${pc.yellow("{{config.*}}")},稍后运行 ${pc.cyan("zsk project-init")}`);
|
|
202
241
|
}
|
|
203
|
-
async function selectTarget(
|
|
204
|
-
if (opts.target)
|
|
205
|
-
return resolvePath(opts.target);
|
|
242
|
+
async function selectTarget() {
|
|
206
243
|
// pre-check each preset for manifest status to show in the label
|
|
207
|
-
const
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
244
|
+
const hints = {};
|
|
245
|
+
await Promise.all(TARGET_OPTIONS.map(async (target) => {
|
|
246
|
+
if (target.kind === "custom") {
|
|
247
|
+
hints.custom = target.hint;
|
|
248
|
+
return;
|
|
249
|
+
}
|
|
250
|
+
const path = target.resolve();
|
|
211
251
|
const manifest = await readManifest(path).catch(() => null);
|
|
212
252
|
if (manifest) {
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
: `custom v${manifest.zskVersion}`;
|
|
216
|
-
return {
|
|
217
|
-
kind: t.kind,
|
|
218
|
-
hint: `${t.hint} · 已装 ${manifest.skills.length} 颗 ${bLabel}`,
|
|
219
|
-
};
|
|
253
|
+
hints[target.kind] = `${target.hint} · 已装 ${manifest.skills.length} 颗`;
|
|
254
|
+
return;
|
|
220
255
|
}
|
|
221
256
|
const exists = await directoryNonEmpty(path);
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
};
|
|
257
|
+
hints[target.kind] = exists
|
|
258
|
+
? `${target.hint} · 非 zsk 管理`
|
|
259
|
+
: `${target.hint} · 空`;
|
|
226
260
|
}));
|
|
227
|
-
const
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
if (targetKind === "custom") {
|
|
232
|
-
const input = await text("自定义路径(支持 ~ / 相对 / 绝对)", {
|
|
261
|
+
const model = buildTargetPromptModel(TARGET_OPTIONS, hints);
|
|
262
|
+
const targetChoice = await select("安装到哪里?", [...model.presetOptions, model.manualPathOption]);
|
|
263
|
+
if (targetChoice === MANUAL_PATH_CHOICE) {
|
|
264
|
+
const input = await text("自定义安装路径(支持 ~ / 相对 / 绝对)", {
|
|
233
265
|
placeholder: "./zsk-skills",
|
|
234
|
-
validate: (
|
|
266
|
+
validate: (value) => (value.trim().length === 0 ? "路径不能为空" : undefined),
|
|
235
267
|
});
|
|
236
268
|
return resolvePath(input);
|
|
237
269
|
}
|
|
238
|
-
const
|
|
239
|
-
if (!
|
|
240
|
-
throw new Error(`unknown target kind: ${
|
|
241
|
-
return
|
|
270
|
+
const option = TARGET_OPTIONS.find((target) => target.kind === targetChoice);
|
|
271
|
+
if (!option)
|
|
272
|
+
throw new Error(`unknown target kind: ${targetChoice}`);
|
|
273
|
+
return option.resolve();
|
|
242
274
|
}
|
|
243
|
-
async function askExistingAction(manifest, drift, opts) {
|
|
275
|
+
async function askExistingAction(manifest, drift, opts, selectionPrepared) {
|
|
244
276
|
const modifiedCount = drift.filter((d) => d.kind === "modified").length;
|
|
245
277
|
const missingCount = drift.filter((d) => d.kind === "missing").length;
|
|
246
278
|
if (opts.yes)
|
|
@@ -254,11 +286,14 @@ async function askExistingAction(manifest, drift, opts) {
|
|
|
254
286
|
.filter(Boolean)
|
|
255
287
|
.join(" ");
|
|
256
288
|
log.info(`当前状态:${label}`);
|
|
257
|
-
return select("接下来?", [
|
|
258
|
-
{
|
|
259
|
-
|
|
289
|
+
return select(selectionPrepared ? "这个安装位置已经由 zsk 管理,接下来?" : "接下来?", [
|
|
290
|
+
{
|
|
291
|
+
value: "append",
|
|
292
|
+
label: selectionPrepared ? "把本次选择追加进去" : "追加其他 skill",
|
|
293
|
+
},
|
|
294
|
+
{ value: "refresh", label: "按 manifest 刷新已装内容" },
|
|
260
295
|
{ value: "exit", label: "退出" },
|
|
261
|
-
], "refresh");
|
|
296
|
+
], selectionPrepared ? "append" : "refresh");
|
|
262
297
|
}
|
|
263
298
|
async function askRefreshScope(manifest, drift, opts) {
|
|
264
299
|
const modifiedNames = new Set(drift.filter((d) => d.kind === "modified").map((d) => d.name));
|
|
@@ -284,7 +319,7 @@ async function askRefreshScope(manifest, drift, opts) {
|
|
|
284
319
|
return manifest.skills.map((s) => s.name).filter((n) => !modifiedNames.has(n));
|
|
285
320
|
}
|
|
286
321
|
async function pickSkills(args) {
|
|
287
|
-
const { bundles, availableSkills,
|
|
322
|
+
const { bundles, availableSkills, bundlePatternsFromArgs, skillPatternsFromArgs, filters, opts, } = args;
|
|
288
323
|
// Priority 1 — capability filters (--skill='*' / --skill='zsk:spec' / glob)
|
|
289
324
|
const filterMatched = expandCapabilityFilters(filters.skill ?? [], availableSkills);
|
|
290
325
|
if (filterMatched.length > 0 || Object.values(filters).some((v) => v?.length)) {
|
|
@@ -292,57 +327,56 @@ async function pickSkills(args) {
|
|
|
292
327
|
// Non-skill filters currently resolve to empty sets (see §3).
|
|
293
328
|
return { skills: filterMatched, bundle: null };
|
|
294
329
|
}
|
|
295
|
-
// Priority 2 — positional skill
|
|
296
|
-
if (skillPatternsFromArgs.length > 0) {
|
|
330
|
+
// Priority 2 — positional bundle(s) / skill-glob patterns
|
|
331
|
+
if (bundlePatternsFromArgs.length > 0 || skillPatternsFromArgs.length > 0) {
|
|
297
332
|
const matched = expandCapabilityFilters(skillPatternsFromArgs, availableSkills);
|
|
298
|
-
|
|
299
|
-
|
|
333
|
+
const selected = uniqueStrings([
|
|
334
|
+
...bundlePatternsFromArgs.flatMap((name) => {
|
|
335
|
+
const bundle = bundles[name];
|
|
336
|
+
return bundle ? bundleToAvailable(bundle, availableSkills) : [];
|
|
337
|
+
}),
|
|
338
|
+
...matched,
|
|
339
|
+
]);
|
|
340
|
+
if (selected.length === 0) {
|
|
341
|
+
log.error(`未匹配到任何 skill:${[
|
|
342
|
+
...bundlePatternsFromArgs,
|
|
343
|
+
...skillPatternsFromArgs,
|
|
344
|
+
].join(", ")}`);
|
|
300
345
|
return { skills: [], bundle: null };
|
|
301
346
|
}
|
|
302
|
-
return {
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
return { skills: [], bundle: null };
|
|
309
|
-
const pool = bundleToAvailable(bundle, availableSkills);
|
|
310
|
-
const selected = opts.yes
|
|
311
|
-
? pool
|
|
312
|
-
: await groupMultiselect(`本次要装的 skill(${pool.length}/${bundle.skills.length})`, await groupByDomain(pool), pool);
|
|
313
|
-
return { skills: selected, bundle: bundleFromArg };
|
|
347
|
+
return {
|
|
348
|
+
skills: selected,
|
|
349
|
+
bundle: bundlePatternsFromArgs.length === 1
|
|
350
|
+
? inferBundleName(bundlePatternsFromArgs[0] ?? null, selected, bundles, availableSkills)
|
|
351
|
+
: null,
|
|
352
|
+
};
|
|
314
353
|
}
|
|
315
|
-
// Priority
|
|
316
|
-
return interactiveTwoLevelPick(bundles, availableSkills
|
|
354
|
+
// Priority 3 — interactive two-level pick
|
|
355
|
+
return interactiveTwoLevelPick(bundles, availableSkills);
|
|
317
356
|
}
|
|
318
357
|
function bundleToAvailable(bundle, available) {
|
|
319
358
|
const set = new Set(available);
|
|
320
359
|
return bundle.skills.filter((s) => set.has(s));
|
|
321
360
|
}
|
|
322
|
-
async function interactiveTwoLevelPick(bundles, availableSkills
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
const selected = await groupMultiselect("本次要装的 skill(Space 切换 · a 全选 · A 全不选 · Enter 确认)", await groupByDomain(availableSkills), []);
|
|
337
|
-
return { skills: selected, bundle: null };
|
|
361
|
+
async function interactiveTwoLevelPick(bundles, availableSkills) {
|
|
362
|
+
const skillMode = await select("你要安装什么?", buildSkillModeOptions(bundles, availableSkills.length), "bundle");
|
|
363
|
+
if (skillMode === "bundle") {
|
|
364
|
+
const bundleOptions = buildBundleOptions(bundles);
|
|
365
|
+
const initialBundle = bundleOptions.some((option) => option.value === DEFAULT_BUNDLE)
|
|
366
|
+
? DEFAULT_BUNDLE
|
|
367
|
+
: bundleOptions[0]?.value;
|
|
368
|
+
const selectedBundle = await select("选择一个 bundle", bundleOptions, initialBundle);
|
|
369
|
+
const defaultSkills = bundleToAvailable(bundles[selectedBundle], availableSkills);
|
|
370
|
+
const selected = await groupMultiselect("本次要安装哪些 skill?(可多选)", await groupByDomain(availableSkills), defaultSkills);
|
|
371
|
+
return {
|
|
372
|
+
skills: selected,
|
|
373
|
+
bundle: inferBundleName(selectedBundle, selected, bundles, availableSkills),
|
|
374
|
+
};
|
|
338
375
|
}
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
const pool = bundleToAvailable(bundle, availableSkills);
|
|
344
|
-
const selected = await groupMultiselect(`本次要装的 skill(默认全选;可取消个别)`, await groupByDomain(pool), pool);
|
|
345
|
-
return { skills: selected, bundle: level1 };
|
|
376
|
+
return {
|
|
377
|
+
skills: await groupMultiselect("本次要安装哪些 skill?(可多选)", await groupByDomain(availableSkills), []),
|
|
378
|
+
bundle: null,
|
|
379
|
+
};
|
|
346
380
|
}
|
|
347
381
|
async function groupByDomain(skillNames) {
|
|
348
382
|
const groups = {};
|
|
@@ -415,4 +449,7 @@ async function directoryNonEmpty(p) {
|
|
|
415
449
|
return false;
|
|
416
450
|
}
|
|
417
451
|
}
|
|
452
|
+
function uniqueStrings(values) {
|
|
453
|
+
return [...new Set(values)].sort((a, b) => a.localeCompare(b));
|
|
454
|
+
}
|
|
418
455
|
//# sourceMappingURL=add.js.map
|
package/dist/commands/add.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@captain_z/zsk",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "ZNorth Standard Kit — CLI installer for zsk skill bundles (npx @captain_z/zsk add)",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"commander": "^12.1.0",
|
|
19
19
|
"picocolors": "^1.1.1",
|
|
20
20
|
"yaml": "^2.7.0",
|
|
21
|
-
"@captain_z/zsk-skills": "0.1
|
|
21
|
+
"@captain_z/zsk-skills": "1.0.1"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
24
|
"@types/node": "^22.10.0",
|