@captain_z/zsk 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/README.md +147 -0
- package/dist/bin.d.ts +2 -0
- package/dist/bin.js +155 -0
- package/dist/bin.js.map +1 -0
- package/dist/commands/add.d.ts +13 -0
- package/dist/commands/add.js +418 -0
- package/dist/commands/add.js.map +1 -0
- package/dist/commands/init.d.ts +1 -0
- package/dist/commands/init.js +127 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/install.d.ts +7 -0
- package/dist/commands/install.js +54 -0
- package/dist/commands/install.js.map +1 -0
- package/dist/commands/project-init.d.ts +6 -0
- package/dist/commands/project-init.js +63 -0
- package/dist/commands/project-init.js.map +1 -0
- package/dist/commands/remove.d.ts +11 -0
- package/dist/commands/remove.js +209 -0
- package/dist/commands/remove.js.map +1 -0
- package/dist/core/bundles.d.ts +7 -0
- package/dist/core/bundles.js +39 -0
- package/dist/core/bundles.js.map +1 -0
- package/dist/core/capabilities.d.ts +25 -0
- package/dist/core/capabilities.js +79 -0
- package/dist/core/capabilities.js.map +1 -0
- package/dist/core/installer.d.ts +18 -0
- package/dist/core/installer.js +114 -0
- package/dist/core/installer.js.map +1 -0
- package/dist/core/manifest.d.ts +39 -0
- package/dist/core/manifest.js +89 -0
- package/dist/core/manifest.js.map +1 -0
- package/dist/core/scaffolder.d.ts +14 -0
- package/dist/core/scaffolder.js +71 -0
- package/dist/core/scaffolder.js.map +1 -0
- package/dist/core/skills.d.ts +17 -0
- package/dist/core/skills.js +89 -0
- package/dist/core/skills.js.map +1 -0
- package/dist/core/targets.d.ts +9 -0
- package/dist/core/targets.js +50 -0
- package/dist/core/targets.js.map +1 -0
- package/dist/ui/prompts.d.ts +10 -0
- package/dist/ui/prompts.js +40 -0
- package/dist/ui/prompts.js.map +1 -0
- package/package.json +39 -0
- package/templates/project-init/.raws/FIGMA-INDEX.md +38 -0
- package/templates/project-init/.raws/README.md +37 -0
- package/templates/project-init/.raws/SRS.md +73 -0
- package/templates/project-init/CLAUDE.md +45 -0
- package/templates/project-init/project-config.md +296 -0
package/README.md
ADDED
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
# @captain_z/zsk
|
|
2
|
+
|
|
3
|
+
ZNorth Standard Kit CLI — `npx zsk` 一个命令装 / 刷新 / 移除一套 skill。
|
|
4
|
+
|
|
5
|
+
## 入口
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# 装(默认命令):向导自适应新装 / 刷新 / 追加
|
|
9
|
+
npx @captain_z/zsk # 等同 `zsk add`
|
|
10
|
+
npx @captain_z/zsk add
|
|
11
|
+
|
|
12
|
+
# 移除
|
|
13
|
+
npx @captain_z/zsk remove
|
|
14
|
+
|
|
15
|
+
# 浏览
|
|
16
|
+
npx @captain_z/zsk list
|
|
17
|
+
npx @captain_z/zsk list --json
|
|
18
|
+
|
|
19
|
+
# 项目脚手架(非破坏性)
|
|
20
|
+
npx @captain_z/zsk project-init
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## 命令一览
|
|
24
|
+
|
|
25
|
+
| 命令 | 作用 | 默认 UX |
|
|
26
|
+
| --- | --- | --- |
|
|
27
|
+
| `add [<pattern>...]` | 装 / 刷新 / 追加。target 空 → 新装;有 manifest → 自动进刷新岔路 | 自适应 clack 向导,两级多选 |
|
|
28
|
+
| `remove [<pattern>...]` \| `rm` | 从有 `zsk-manifest.json` 的目录移除;手改文件自动备份 | 多选 + 强确认 |
|
|
29
|
+
| `list [--bundle=<n>] [--json]` | 浏览 bundle / skill 清单 | 非交互 |
|
|
30
|
+
| `project-init` | 脚手架 `project-config.md` + `.raws/` + `CLAUDE.md` | 非破坏性,默认跳过已存在文件 |
|
|
31
|
+
| `doctor` / `lint` | 校验(Phase 4 实现) | stub |
|
|
32
|
+
|
|
33
|
+
## `zsk add` 向导分支
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
target-first → 预检 manifest
|
|
37
|
+
├─ 有 manifest → 刷新 / 追加 / 退出
|
|
38
|
+
│ ↳ 刷新:全部官方变更(跳过手改) / 含手改强刷(备份)
|
|
39
|
+
└─ 空 target → 套件 vs 自选(两级多选)
|
|
40
|
+
↳ groupMultiselect 按领域分组;套件预勾选
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
完整 UX 见 [ARCHITECTURE.md §6.4](../../ARCHITECTURE.md#64-zsk-add-自适应-clack-向导)。
|
|
44
|
+
|
|
45
|
+
## flag 参考
|
|
46
|
+
|
|
47
|
+
### 公共(`add` / `remove`)
|
|
48
|
+
|
|
49
|
+
| Flag | 作用 |
|
|
50
|
+
| --- | --- |
|
|
51
|
+
| `--target <path>` | 目标目录(支持 `~` / 绝对 / 相对);非 TTY 必填 |
|
|
52
|
+
| `--skill <pattern>` | skill 过滤器,可重复;`'*'` = 全部,支持 glob(`zsk:a11y-*`) |
|
|
53
|
+
| `--command <pattern>` / `--agent <pattern>` / `--hook <pattern>` / `--mcp-server <pattern>` / `--prompt <pattern>` | 其他能力类型(语法就位,MVP 空集) |
|
|
54
|
+
| `--yes` | 跳过所有 confirm;非 TTY 必填 |
|
|
55
|
+
|
|
56
|
+
### `add` 独有
|
|
57
|
+
|
|
58
|
+
| Flag | 作用 |
|
|
59
|
+
| --- | --- |
|
|
60
|
+
| `[<pattern>...]` 位置参 | bundle 名(跳套件选择)/ `zsk:<slug>` / glob(跳两屏) |
|
|
61
|
+
| `--on-conflict <mode>` | `skip` / `overwrite` / `backup`(默认 `backup`) |
|
|
62
|
+
| `--dry-run` | 打印计划,不落盘 |
|
|
63
|
+
|
|
64
|
+
### flag 预填对应步骤
|
|
65
|
+
|
|
66
|
+
| Flag 给了 | 跳过哪一步 |
|
|
67
|
+
| --- | --- |
|
|
68
|
+
| `--target` | "装到哪里?" |
|
|
69
|
+
| `<pattern>` = bundle 名 | 第 1 屏(直接进 groupMultiselect,预勾选) |
|
|
70
|
+
| `<pattern>` = `zsk:...` / glob | 两屏都跳过,pattern 匹配即装 |
|
|
71
|
+
| `--skill='*'` | 整个"装什么"两屏跳过(= 该类型全装) |
|
|
72
|
+
| `--on-conflict` | "冲突策略" |
|
|
73
|
+
| `--yes` | 所有 confirm;岔路 A 默认选"刷新" |
|
|
74
|
+
| `--dry-run` | 执行步骤换成 diff 预览 |
|
|
75
|
+
|
|
76
|
+
## 典型场景
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
# 新装推荐套件(完全交互)
|
|
80
|
+
npx @captain_z/zsk add
|
|
81
|
+
|
|
82
|
+
# CI:新装 sdlc-only 到全局
|
|
83
|
+
npx @captain_z/zsk add sdlc-only --target=~/.claude/skills --on-conflict=backup --yes
|
|
84
|
+
|
|
85
|
+
# CI:全量刷新
|
|
86
|
+
npx @captain_z/zsk add --skill='*' --target=~/.claude/skills --on-conflict=backup --yes
|
|
87
|
+
|
|
88
|
+
# 追加单颗
|
|
89
|
+
npx @captain_z/zsk add zsk:a11y-web --target=~/.claude/skills
|
|
90
|
+
|
|
91
|
+
# glob 装一组
|
|
92
|
+
npx @captain_z/zsk add 'zsk:a11y-*' --target=~/.claude/skills
|
|
93
|
+
|
|
94
|
+
# 预览
|
|
95
|
+
npx @captain_z/zsk add frontend-project --target=~/.claude/skills --dry-run
|
|
96
|
+
|
|
97
|
+
# 刷新(已装目录,--yes 默认走 refresh)
|
|
98
|
+
npx @captain_z/zsk add --target=~/.claude/skills --yes
|
|
99
|
+
|
|
100
|
+
# 移除两颗
|
|
101
|
+
npx @captain_z/zsk remove --target=~/.claude/skills --skill='zsk:i18n' --skill='zsk:typescript' --yes
|
|
102
|
+
|
|
103
|
+
# 按 glob 移除
|
|
104
|
+
npx @captain_z/zsk remove --target=~/.claude/skills 'zsk:react-*'
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## `zsk-manifest.json` 契约
|
|
108
|
+
|
|
109
|
+
装机目录会生成一份 manifest,驱动后续 add/remove/doctor:
|
|
110
|
+
|
|
111
|
+
```json
|
|
112
|
+
{
|
|
113
|
+
"$schema": "https://zsk.codeshareman.dev/manifest.v1.json",
|
|
114
|
+
"version": 1,
|
|
115
|
+
"zskVersion": "0.2.0",
|
|
116
|
+
"installedAt": "2026-04-19T15:30:12Z",
|
|
117
|
+
"bundle": "frontend-project",
|
|
118
|
+
"skills": [
|
|
119
|
+
{ "name": "zsk:spec", "version": "0.2.0", "sha256": "…", "relPath": "zsk-spec/SKILL.md" }
|
|
120
|
+
]
|
|
121
|
+
}
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
- `sha256` → 用户手改检测(刷新/移除前提示 + 备份)
|
|
125
|
+
- `bundle` → 下次刷新默认按同 bundle 重算
|
|
126
|
+
- schema v1 向后兼容
|
|
127
|
+
|
|
128
|
+
## 非 TTY / CI 规则
|
|
129
|
+
|
|
130
|
+
| 环境 | 要求 |
|
|
131
|
+
| --- | --- |
|
|
132
|
+
| 非 TTY · 新装 | `--yes` + `--target` + (pattern 位置参 或 `--skill=<p>`) |
|
|
133
|
+
| 非 TTY · 刷新(target 有 manifest) | `--yes` + `--target` 即可,自动识别 |
|
|
134
|
+
| 非 TTY · 移除 | `--yes` + `--target` + pattern / `--skill=<p>` |
|
|
135
|
+
| TTY + 完整 flags | 跳过所有 clack |
|
|
136
|
+
| TTY + 部分 flags | 已给的预填跳步,未给的进 clack |
|
|
137
|
+
|
|
138
|
+
## 开发
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
pnpm -F @captain_z/zsk dev --help
|
|
142
|
+
pnpm -F @captain_z/zsk dev add sdlc-only --target=/tmp/t --on-conflict=backup --yes --dry-run
|
|
143
|
+
pnpm -F @captain_z/zsk typecheck
|
|
144
|
+
pnpm -F @captain_z/zsk build # 编译到 dist/
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
设计文档:[ARCHITECTURE.md §6](../../ARCHITECTURE.md#6-cliclackprompts)。
|
package/dist/bin.d.ts
ADDED
package/dist/bin.js
ADDED
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
//
|
|
3
|
+
// @captain_z/zsk · CLI entry
|
|
4
|
+
//
|
|
5
|
+
// Command dispatch: commander
|
|
6
|
+
// UX primitives: @clack/prompts
|
|
7
|
+
//
|
|
8
|
+
// Commands (see ARCHITECTURE.md §6):
|
|
9
|
+
// add [pattern...] adaptive install wizard (replaces init + install)
|
|
10
|
+
// remove [pattern...] multi-select removal (replaces uninstall)
|
|
11
|
+
// list browse bundles / installed skills
|
|
12
|
+
// project-init scaffold project-config.md + .raws/ + CLAUDE.md
|
|
13
|
+
// doctor, lint scaffold stubs
|
|
14
|
+
import { Command, Option } from "commander";
|
|
15
|
+
import { intro, outro, log } from "@clack/prompts";
|
|
16
|
+
import pc from "picocolors";
|
|
17
|
+
import { loadBundles } from "./core/bundles.js";
|
|
18
|
+
const VERSION = "0.0.0";
|
|
19
|
+
const program = new Command();
|
|
20
|
+
program
|
|
21
|
+
.name("zsk")
|
|
22
|
+
.description("ZNorth Standard Kit — skill installer")
|
|
23
|
+
.version(VERSION, "-v, --version");
|
|
24
|
+
// ---- add --------------------------------------------------------------------
|
|
25
|
+
program
|
|
26
|
+
.command("add", { isDefault: true })
|
|
27
|
+
.description("install / refresh / append skills (adaptive wizard, target state drives branches)")
|
|
28
|
+
.argument("[pattern...]", "bundle name, zsk:<slug>, or glob")
|
|
29
|
+
.option("--target <path>", "install target directory")
|
|
30
|
+
.option("--yes", "non-interactive; defaults to refresh when already installed")
|
|
31
|
+
.addOption(new Option("--on-conflict <mode>", "skip | overwrite | backup").choices([
|
|
32
|
+
"skip",
|
|
33
|
+
"overwrite",
|
|
34
|
+
"backup",
|
|
35
|
+
]))
|
|
36
|
+
.option("--dry-run", "preview without writing")
|
|
37
|
+
.option("--skill <pattern>", "skill filter (repeatable; '*' for all, supports glob)", collect)
|
|
38
|
+
.option("--command <pattern>", "command filter (repeatable)", collect)
|
|
39
|
+
.option("--agent <pattern>", "agent filter (repeatable)", collect)
|
|
40
|
+
.option("--hook <pattern>", "hook filter (repeatable)", collect)
|
|
41
|
+
.option("--mcp-server <pattern>", "mcp server filter (repeatable)", collect)
|
|
42
|
+
.option("--prompt <pattern>", "prompt filter (repeatable)", collect)
|
|
43
|
+
.action(async (patterns, opts) => {
|
|
44
|
+
const { run } = await import("./commands/add.js");
|
|
45
|
+
await run(patterns, opts, VERSION);
|
|
46
|
+
});
|
|
47
|
+
// ---- remove -----------------------------------------------------------------
|
|
48
|
+
program
|
|
49
|
+
.command("remove")
|
|
50
|
+
.alias("rm")
|
|
51
|
+
.description("remove zsk-installed skills (hand-modified files are backed up)")
|
|
52
|
+
.argument("[pattern...]", "zsk:<slug> or glob")
|
|
53
|
+
.option("--target <path>", "target directory (default: prompt among managed)")
|
|
54
|
+
.option("--yes", "skip hard confirm (destructive; CI only)")
|
|
55
|
+
.option("--skill <pattern>", "skill filter (repeatable)", collect)
|
|
56
|
+
.option("--command <pattern>", "command filter (repeatable)", collect)
|
|
57
|
+
.option("--agent <pattern>", "agent filter (repeatable)", collect)
|
|
58
|
+
.option("--hook <pattern>", "hook filter (repeatable)", collect)
|
|
59
|
+
.option("--mcp-server <pattern>", "mcp server filter (repeatable)", collect)
|
|
60
|
+
.option("--prompt <pattern>", "prompt filter (repeatable)", collect)
|
|
61
|
+
.action(async (patterns, opts) => {
|
|
62
|
+
const { run } = await import("./commands/remove.js");
|
|
63
|
+
await run(patterns, opts, VERSION);
|
|
64
|
+
});
|
|
65
|
+
// ---- project-init -----------------------------------------------------------
|
|
66
|
+
program
|
|
67
|
+
.command("project-init")
|
|
68
|
+
.description("scaffold project-config.md + .raws/ + CLAUDE.md into the current project (non-destructive)")
|
|
69
|
+
.option("--target <path>", "project directory (default: cwd)")
|
|
70
|
+
.option("--yes", "non-interactive mode")
|
|
71
|
+
.option("--overwrite", "overwrite existing files (destructive)")
|
|
72
|
+
.action(async (opts) => {
|
|
73
|
+
const { run } = await import("./commands/project-init.js");
|
|
74
|
+
await run(opts);
|
|
75
|
+
});
|
|
76
|
+
// ---- list -------------------------------------------------------------------
|
|
77
|
+
program
|
|
78
|
+
.command("list")
|
|
79
|
+
.description("list available bundles / skills")
|
|
80
|
+
.option("-b, --bundle <name>", "filter to a specific bundle")
|
|
81
|
+
.option("--json", "JSON output (for scripts)")
|
|
82
|
+
.action(async (opts) => {
|
|
83
|
+
await runList(opts);
|
|
84
|
+
});
|
|
85
|
+
// ---- stubs (doctor / lint) -------------------------------------------------
|
|
86
|
+
program
|
|
87
|
+
.command("doctor")
|
|
88
|
+
.description("validate installed skills (frontmatter / manifest drift)")
|
|
89
|
+
.option("--target <path>", "target directory to check")
|
|
90
|
+
.action(async () => {
|
|
91
|
+
await stub("doctor");
|
|
92
|
+
});
|
|
93
|
+
program
|
|
94
|
+
.command("lint")
|
|
95
|
+
.description("lint .best-practices/ frontmatter (delegates to tools/lint-frontmatter.ts)")
|
|
96
|
+
.action(async () => {
|
|
97
|
+
await stub("lint");
|
|
98
|
+
});
|
|
99
|
+
// ---- list implementation ----------------------------------------------------
|
|
100
|
+
async function runList(opts) {
|
|
101
|
+
const bundles = await loadBundles();
|
|
102
|
+
const pick = opts.bundle;
|
|
103
|
+
const asJson = Boolean(opts.json);
|
|
104
|
+
if (pick) {
|
|
105
|
+
const b = bundles[pick];
|
|
106
|
+
if (!b) {
|
|
107
|
+
console.error(`Unknown bundle: "${pick}"`);
|
|
108
|
+
console.error(`Available: ${Object.keys(bundles).join(", ")}`);
|
|
109
|
+
process.exit(1);
|
|
110
|
+
}
|
|
111
|
+
if (asJson) {
|
|
112
|
+
console.log(JSON.stringify({ [pick]: b }, null, 2));
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
printBundle(pick, b);
|
|
116
|
+
}
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
if (asJson) {
|
|
120
|
+
console.log(JSON.stringify(bundles, null, 2));
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
console.log(`\n${pc.bold("Available bundles:")}\n`);
|
|
124
|
+
for (const [name, b] of Object.entries(bundles)) {
|
|
125
|
+
const count = b.skills.length === 0 ? "interactive" : `${b.skills.length} skills`;
|
|
126
|
+
console.log(` ${pc.cyan(name.padEnd(32))} ${pc.dim(count.padEnd(15))} ${b.hint}`);
|
|
127
|
+
}
|
|
128
|
+
console.log();
|
|
129
|
+
}
|
|
130
|
+
function printBundle(name, b) {
|
|
131
|
+
console.log(`\n${pc.bold(name)} · ${b.label}`);
|
|
132
|
+
console.log(` ${pc.dim(b.hint)}`);
|
|
133
|
+
if (b.skills.length === 0) {
|
|
134
|
+
console.log(` ${pc.italic("interactive bundle — skills chosen at add")}`);
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
console.log(` ${pc.dim(`${b.skills.length} skills:`)}`);
|
|
138
|
+
for (const s of b.skills)
|
|
139
|
+
console.log(` - ${s}`);
|
|
140
|
+
}
|
|
141
|
+
// ---- utilities --------------------------------------------------------------
|
|
142
|
+
function collect(value, previous) {
|
|
143
|
+
return previous ? [...previous, value] : [value];
|
|
144
|
+
}
|
|
145
|
+
async function stub(cmd) {
|
|
146
|
+
intro(pc.bold("zsk") + " · ZNorth Standard Kit");
|
|
147
|
+
log.warn(`"${cmd}" is scaffolded but not yet implemented.`);
|
|
148
|
+
log.info(`See ARCHITECTURE.md §6 for the planned UX.`);
|
|
149
|
+
outro(`For now, run ${pc.cyan("zsk list")} or ${pc.cyan("zsk --help")}.`);
|
|
150
|
+
}
|
|
151
|
+
program.parseAsync(process.argv).catch((err) => {
|
|
152
|
+
console.error(err instanceof Error ? err.message : String(err));
|
|
153
|
+
process.exit(1);
|
|
154
|
+
});
|
|
155
|
+
//# sourceMappingURL=bin.js.map
|
package/dist/bin.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type AddOptions = {
|
|
2
|
+
target?: string;
|
|
3
|
+
yes?: boolean;
|
|
4
|
+
onConflict?: string;
|
|
5
|
+
dryRun?: boolean;
|
|
6
|
+
skill?: string[];
|
|
7
|
+
command?: string[];
|
|
8
|
+
agent?: string[];
|
|
9
|
+
hook?: string[];
|
|
10
|
+
mcpServer?: string[];
|
|
11
|
+
prompt?: string[];
|
|
12
|
+
};
|
|
13
|
+
export declare function run(positional: string[], opts: AddOptions, zskVersion: string): Promise<void>;
|