@kevlns/v-cli 0.2.10 → 0.2.12

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/AGENTS.md CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  ## 核心约定(v-cli 本体)
9
9
 
10
- - 环境要求 Node.js >= 20;v-cli 版本 @kevlns/v-cli@0.2.10
10
+ - 环境要求 Node.js >= 20;v-cli 版本 @kevlns/v-cli@0.2.12
11
11
  - 命令分三类:builtin(内置)、local(~/.v-cli/commands/ 下的本地插件)、official(官方插件白名单);
12
12
  **最新、live 的命令集合以实际发现为准**:先运行 `v-cli agent index --json` 获取全部命令与 agent 元数据
13
13
  - 单个命令的完整元数据用 `v-cli agent describe <命令名> --json` 查看
@@ -24,7 +24,7 @@
24
24
 
25
25
  ## @kevlns/u-cli-mod — 命令 `v-cli unity …`
26
26
 
27
- **版本**:0.2.0
27
+ **版本**:0.2.2
28
28
  **描述**:Pin a Unity project to its exact editor version route, download the verified Unity CLI and install the adapted com.unity.pipeline package for Unity 2022 (Windows-first, non-official Unity tooling).
29
29
  **平台**:win32(仅 Windows 主机可用;非 Windows 上 v-cli 会拒绝路由)
30
30
 
package/README.md CHANGED
@@ -49,32 +49,21 @@ npm install -g git+https://github.com/kevlns/v-cli.git
49
49
  v-cli doctor # 环境体检:node/版本、主目录、配置、官方/本地插件状态
50
50
  v-cli plugin list # 列出内置命令、本地插件与官方插件状态
51
51
  v-cli ts 1710000000 # 时间戳互转
52
- v-cli agent docs # 输出当前安装包内置 AGENTS.md 原文(AI Agent 引导文档)
53
- v-cli agent index # 命令 + agent 元数据索引(--json 输出机器可读)
54
- v-cli agent describe xlmerge --json
55
- v-cli agent init . # (可选)把 AGENTS.md 初始化到当前目录
56
52
  ```
57
53
 
58
54
  ### AI Agent 快速开始
59
55
 
60
- v-cli 内置 AGENTS.md 随包发布,AI Agent 可自行发现并读取引导文档,无需人工粘贴:
56
+ v-cli 内置 AGENTS.md 随包发布,AI Agent 自行发现读取,无需人工粘贴:
61
57
 
62
58
  ```bash
63
- v-cli agent docs # 读当前包内置 AGENTS.md 原文(--json 拿 package/version/sha256/content)
64
- v-cli agent index --json # 枚举全部命令 + 元数据(builtin/local/official,live 发现)
59
+ v-cli agent docs # 内置 AGENTS.md 原文(--json 拿 package/version/sha256/content)
60
+ v-cli agent index --json # 全部命令 + 元数据(builtin/local/official,live 发现)
65
61
  v-cli agent describe <name> --json # 单命令:用法/参数/选项/输出/退出码/安全标签
66
- v-cli agent init . # (可选)把 AGENTS.md 写入工作区,AI Agent 自动读取
62
+ v-cli agent init . # (可选)把 AGENTS.md 写入工作区并装配 skill
67
63
  ```
68
64
 
69
- `agent docs` 文本模式逐字节输出内置 AGENTS.md,`--json` 输出稳定对象
70
- `{ package, version, sha256, content }`。
71
-
72
- `agent init [directory]`(默认当前目录;目录必须已存在且为目录):
73
-
74
- - 已存在 AGENTS.md 时**默认拒绝并退出 1,绝不改动现有文件**(`--force` 才原子覆盖);
75
- - `--dry-run` 只报告目标与将执行的动作,不写入任何文件;
76
- - 符号链接目标一律 fail-closed 拒绝(不跟随、不覆盖链接目标);
77
- - `--json` 输出稳定结果(`ok/dryRun/action/directory/target/sha256/bytes/…`)。
65
+ `agent init [directory]`(默认当前目录):已存在 AGENTS.md 时默认拒绝退出 1(`--force` 原子覆盖);
66
+ `--dry-run` 只报告不写入;符号链接目标 fail-closed 拒绝;`--json` 输出稳定结果。
78
67
 
79
68
  ### 控制器命令(官方插件)
80
69
 
@@ -84,7 +73,7 @@ v-cli xlmerge --repo <repo> detect # 路由到 xlmerge 子进程
84
73
  v-cli xlmerge --repo <repo> resolve
85
74
 
86
75
  # Unity 工具链(仅 Windows 主机可用;其他平台 v-cli 会拒绝路由并说明原因)
87
- npm install -g @kevlns/u-cli-mod@0.2.0
76
+ npm install -g @kevlns/u-cli-mod@0.2.2
88
77
  v-cli unity doctor <project>
89
78
  ```
90
79
 
@@ -202,11 +191,9 @@ npm run test:package # 发布后安装冒烟:npm pack → 隔离 prefix
202
191
  npm run check # build + typecheck + test + check:agents + pack:guard
203
192
  ```
204
193
 
205
- > `@kevlns/xlmerge@2.0.0` / `@kevlns/u-cli-mod@0.2.0` 已发布并由 `npm install`
206
- > 装入仓库 node_modules:`generate:agents`/`check:agents` 的默认(installed-deps)检查即为
207
- > 最终形态,`npm run check` 因此才能全绿,CI 的 `check:agents` 步骤也随之总是生效
208
- > (不依赖 sibling 仓库检出;若未来仍需要在预发布阶段以 sibling 清单 bootstrap,
209
- > 可显式传 `--manifest <path>`)。
194
+ > `@kevlns/xlmerge@2.0.0` / `@kevlns/u-cli-mod@0.2.2` 已发布并随 `npm install` 装入仓库
195
+ > node_modules,`check:agents` 的 installed-deps 检查即为最终形态;预发布阶段需要以本地
196
+ > 清单 bootstrap 时显式传 `--manifest <path>`。
210
197
 
211
198
  ## Package family
212
199
 
@@ -214,9 +201,9 @@ kevlns 工具家族共享同一套发布约定(tag 驱动、CI 护栏、MIT)
214
201
 
215
202
  | Package | Purpose | Status |
216
203
  | --- | --- | --- |
217
- | [`v-cli`](https://github.com/kevlns/v-cli) | 个人工具箱 CLI(本仓库) | v0.2.10 |
204
+ | [`v-cli`](https://github.com/kevlns/v-cli) | 个人工具箱 CLI(本仓库) | v0.2.12 |
218
205
  | [`xlmerge`](https://github.com/kevlns/xlmerge) | Git 中 .xlsx/.xlsm 冲突可视化解决工具 | v2.0.0 |
219
- | [`u-cli-mod`](https://github.com/kevlns/u-cli-mod) | Unity 精确版本路由 + CLI + pipeline 包(Windows-first) | v0.2.0 |
206
+ | [`u-cli-mod`](https://github.com/kevlns/u-cli-mod) | Unity 精确版本路由 + CLI + pipeline 包(Windows-first) | v0.2.2 |
220
207
 
221
208
  ## Compatibility
222
209
 
package/dist/cli.mjs CHANGED
@@ -627,7 +627,7 @@ import { createHash, randomBytes } from "crypto";
627
627
  import { fileURLToPath as fileURLToPath2 } from "url";
628
628
 
629
629
  // src/version.ts
630
- var VERSION = "0.2.10";
630
+ var VERSION = "0.2.12";
631
631
 
632
632
  // src/core/agent-docs.ts
633
633
  var BUNDLED_DOCS_FILE = "AGENTS.md";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kevlns/v-cli",
3
- "version": "0.2.10",
3
+ "version": "0.2.12",
4
4
  "description": "kevlns 的个人工具箱 CLI(插件化架构,内置 + 本地插件)+ doctor/plugin/ts 命令",
5
5
  "type": "module",
6
6
  "bin": {
@@ -46,7 +46,7 @@
46
46
  "personal"
47
47
  ],
48
48
  "dependencies": {
49
- "@kevlns/u-cli-mod": "0.2.0",
49
+ "@kevlns/u-cli-mod": "0.2.2",
50
50
  "@kevlns/xlmerge": "2.0.0",
51
51
  "commander": "^12.1.0"
52
52
  },
@@ -40,8 +40,8 @@ description: >
40
40
  - 命中以下任一场景必须执行一次:① `v-cli` 未安装(先确认 Node.js >= 20 与 npm 可用,`npm install -g @kevlns/v-cli`,用 `v-cli --version` 与 `v-cli agent index --json` 验证);② 项目内 skill(`<技能目录>/v-cli/SKILL.md`)缺失。两个场景同时命中只执行一次;命令用单数 `agent`,不得写成 `v-cli agents …`。
41
41
  - 产物与归属:
42
42
  - 根 `AGENTS.md` 为**工具生成物**(建议纳入 `.gitignore`),禁止手改;需要更新内容时升级 v-cli 后重跑 init。
43
- - 分支不变式(实测):① `AGENTS.md` 不存在 → 写入它**并**装配 skill;② `AGENTS.md` 已存在且未加 `--force` → **整体拒绝**(`action=refused`、`skill.status=skipped-init-failed`),不做任何改动;`--force` 会同时覆盖两者。
44
- - **skill 同步**:**随包版本是规范的唯一权威**——命中目录下已有 `v-cli/SKILL.md` 时一律按随包版本刷新(本地修改会被覆盖,工具在 `localModified=true` 时给出提示);目标目录中随包**没有**的文件默认保留,供项目放扩展说明(如 `PROJECT.md`);`--force` 时做完全同步(连扩展文件一起清掉,目录与随包逐文件一致)。因此项目**不要**直接改 `SKILL.md`,项目专属内容写进扩展文件或项目规则文档。
43
+ - `AGENTS.md` 已存在且未加 `--force` 时**整体拒绝**,不做任何改动;`--force` 同时覆盖 AGENTS.md 与 skill。
44
+ - **skill 同步**:随包版本是唯一权威——已有 `v-cli/SKILL.md` 一律按随包刷新(本地修改被覆盖并提示);随包没有的文件(项目扩展,如 `PROJECT.md`)默认保留,`--force` 时完全同步。项目不要直接改 `SKILL.md`,专属内容写扩展文件。
45
45
  - 先 `--dry-run --json` 预览目标与动作(含 `skill.assembled[].action` 与 `overwrite`),再实际写入。
46
46
 
47
47
  ## 官方插件一:xlmerge(跨平台)
@@ -105,13 +105,12 @@ receipt 属工程本地生成物:新克隆 / 清理 Library 后即使 `Package
105
105
  7. **读取 Editor 当前 Console 首选 `command read_console`**;`get_console_logs` 是兼容别名,`command console` 是回调捕获流,适合 cursor/since 跟随,不能替代原生 Console 快照。若 schema 中缺 `read_console`,先核对 `doctor` 的 `patchVersion`/`installedPatchVersion`/`state`,不要把它当成 `console` 的别名。
106
106
  8. 工程内适配包已随仓入库;工具重装写出的文件树与仓库版本一致时(行尾由 `.gitattributes` 归一)**不应产生 git diff**,若出现大面积 diff 应先判定为行尾/编码现象再复核内容,不得据此手工回滚适配包。
107
107
 
108
- ### 长任务命令:启动即让出,用状态命令轮询
108
+ ### 长任务命令:全量测试走异步,小范围走同步
109
109
 
110
- - `run_tests` 这类同步长任务默认只等 **5 秒**:到点后任务仍在 Editor 内继续执行,工具打印输出日志路径(`<工程>/Library/editor-pipeline-cli/exec-logs/*.log`)并立即返回(退出码 0)。
111
- - 让出后**不要重复发起同一命令**,改用状态命令轮询:测试 `-- command test_status`(直到读到 `summary`),烘焙 `-- command <xxx>_bake_status`。
112
- - 需要同步拿到完整 `Summary` 时用 `--wait <秒>` 扩大等待(写在 `--` 之前,u-cli-mod 自行剥离,不会透传给 Unity CLI);`--wait 0` = 立即返回。
113
- - **优先缩小范围**(最省事):`run_tests --mode EditMode --filter <命名空间或测试类>` 通常数秒内就同步返回完整 `Summary`,无需轮询。
114
- - 让出后任务仍在跑,不要重复发起;如需取消用 `-- command cancel_tests`(运行中可能被拒,稍后重试)。
110
+ - Unity CLI 对同步命令有 30 秒硬性等待上限(`--wait`/`--timeout` 均无法延长),同步 `run_tests` 全量必然超时。
111
+ - 全量:`-- command run_tests --mode EditMode --async_tests`(立即返回)→ 轮询 `-- command test_status` 至 `completed` 拿完整 Summary。
112
+ - 小范围:`--filter <命名空间或类>` 通常数秒内同步返回完整 Summary。
113
+ - 5 秒让位机制只保证 CLI 子进程存活并把输出写入 `Library/editor-pipeline-cli/exec-logs/*.log`,不改变 Editor 侧任务的同步语义;让出后不要重复发起同一命令,取消用 `-- command cancel_tests`。
115
114
 
116
115
  ## 典型流程
117
116
 
@@ -126,6 +125,7 @@ v-cli unity setup <project> # 6. 就绪
126
125
  v-cli unity exec <project> -- command editor_status # 7. 执行 Pipeline 命令
127
126
  v-cli unity exec <project> -- command read_console --types error,warning --count 100
128
127
  v-cli unity exec <project> -- command run_tests --mode EditMode --filter <类名> # 8. 测试(小范围同步返回)
128
+ v-cli unity exec <project> -- command run_tests --mode EditMode --async_tests # 全量:立即返回,轮询 test_status
129
129
  v-cli xlmerge --repo . detect # 配置表:只读检测
130
130
  v-cli xlmerge --repo . launch # 有冲突时启动本地 UI,把 url 交给用户
131
131
  ```