@ultime/cli 0.1.0 → 0.1.2

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 CHANGED
@@ -1,6 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.2 - 2026-11-09
4
+
5
+ - 移除仓库内遗留的 `bin/ultime.js`:它不是本包的公开入口,引用的路径也已不存在。
6
+ - `runCli` 捕获非 `Error` 异常时输出字符串,不再显示 `undefined`。
7
+ - 文档、规则与测试改为领域中立;新增参数 / 运行时覆盖与包内容边界测试。
8
+ - `keywords` 改为通用 CLI 词,避免被当成领域工具。
9
+
10
+ ## 0.1.1 - 2026-11-04
11
+
12
+ - 仓库自带 `pnpm-lock.yaml` 并声明 `packageManager`,依赖可复现,CI 用 `--frozen-lockfile`。
13
+ - 包内补齐格式化与 lint 配置,独立仓的 `pnpm check` 与元仓口径一致。
14
+
3
15
  ## 0.1.0 - 2026-11-04
4
16
 
5
17
  - 首次发布:通用命令行设施——`parseArgs` / `runCli` / `processContext` 与相关类型。
6
- - 零领域依赖,不内置任何命令;`ultime` 的 init / build / schema 归 `@ultime/core`。
18
+ - 零领域依赖,不内置任何具体命令;具体命令归调用方包。
package/CONTRIBUTING.md CHANGED
@@ -10,9 +10,9 @@
10
10
 
11
11
  ## 改动规则
12
12
 
13
- - CLI 只做参数 / 路径 / IO / 退出码;配置合法性与产物内容归 `@ultime/core/tools`。
14
- - 不 import core 内部源码,只用包名 + exports。
15
- - 不自维护字段清单;`schema` 从 core 的 studio / tools 投影。
13
+ - CLI 只做参数 / 路径 / IO / 退出码;配置合法性与产物内容归调用方包。
14
+ - 不 import 任何调用方包的源码,只通过公开包名与 exports 依赖。
15
+ - 不自维护具体项目的字段清单;`schema` 之类由调用方投影。
16
16
  - 新增命令或退出码:同步 README、`skills.md`、测试与版本戳。
17
17
 
18
18
  ## 验证
@@ -27,4 +27,4 @@ npm pack --dry-run
27
27
  ## 版本
28
28
 
29
29
  - 0.x 阶段命令面与退出码仍可能调整;破坏性变更写进 README「版本与兼容」。
30
- - 发布顺序:studio → core → cli。
30
+ - 协议变更先发 cli,再发依赖它的包。
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # cli
2
2
 
3
- **通用命令行设施**:参数解析、命令注册、上下文与退出码。零领域依赖,不内置任何 `ultime` 命令。
3
+ **通用命令行设施**:参数解析、命令注册、上下文与退出码。零领域依赖,不内置任何具体命令。
4
4
 
5
5
  [![license](https://img.shields.io/badge/license-MIT-black)](./LICENSE)
6
6
  [![node](https://img.shields.io/badge/node-%3E%3D22.18-black)](./package.json)
@@ -46,10 +46,9 @@ process.exitCode = runCli(spec, process.argv.slice(2), processContext())
46
46
 
47
47
  ## 边界
48
48
 
49
- - **零领域依赖**:不 import core / kit / viewer,也不知道 token、组件或设计稿。
50
- - **不引第三方解析 / 着色库**:解析用现成的零依赖实现,着色直接用 ANSI;Node 内置的 `util.parseArgs` / `util.styleText` 是后续替换首选,等出现嵌套子命令或补全需求再评估 `commander` 一类工具。
51
- - **不复用于 skills CLI**:skills 通过复制安装(不带 `node_modules`),且支持 Node 20;本包是 Node 22.18 的内部设施,两者只共享契约与夹具,不共享运行时。
52
- - **不内置命令**:`ultime init/build/schema` 属于 `@ultime/core`;kit / viewer 将来各发自己的 bin。
49
+ - **零领域依赖**:不 import 任何领域包,也不认识具体业务对象。
50
+ - **不引第三方解析 / 着色库**:解析用零依赖实现,着色直接用 ANSI;Node 内置的 `util.parseArgs` / `util.styleText` 是后续替换首选,等出现嵌套子命令或补全需求再评估 `commander` 一类工具。
51
+ - **不内置命令**:具体命令由调用方包注册,各自发布自己的 bin。
53
52
  - **不做 IO 策略**:读盘写盘、配置路径由命令自己决定;本包只提供 `cwd` 与 `out/err`。
54
53
 
55
54
  ## 目录
@@ -67,7 +66,7 @@ tests/ 参数与运行时分发
67
66
 
68
67
  - 当前 `0.1.x`;0.x 阶段 API 仍可能调整。
69
68
  - 破坏性变更写进 [CHANGELOG](./CHANGELOG.md),并在本节目说明迁移方式。
70
- - 发布顺序:本包是基础设施,先于 studio / core。
69
+ - 发布顺序:本包是基础设施,先于依赖它的包。
71
70
 
72
71
  ## 许可
73
72
 
package/SECURITY.md CHANGED
@@ -9,6 +9,6 @@
9
9
 
10
10
  ## 范围
11
11
 
12
- - CLI 读取项目配置与 seed,写产物文件;不执行配置里的任意命令,也不发起网络请求。
12
+ - 本包自身不读盘写盘;调用方命令可能读取项目配置与文件,路径校验与写入范围由调用方负责。
13
13
  - 主要风险是路径穿越、覆盖非预期文件、把凭据写进配置或产物。
14
14
  - 发现泄露先轮换凭据,再修代码;修复进入 `fix/<主题>` 分支。
package/dist/index.js CHANGED
@@ -73,7 +73,7 @@ function runCli(spec, argv, ctx = processContext()) {
73
73
  try {
74
74
  return command.run(args, ctx);
75
75
  } catch (error) {
76
- ctx.err(`✗ ${error.message}`);
76
+ ctx.err(`✗ ${error instanceof Error ? error.message : String(error)}`);
77
77
  return 1;
78
78
  }
79
79
  }
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@ultime/cli",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Ultime · cli:通用命令行设施(参数 / 命令注册 / 上下文 / 退出码),零领域依赖",
5
5
  "keywords": [
6
+ "argument-parser",
6
7
  "cli",
7
- "codegen",
8
- "css-variables",
9
- "design-system",
10
- "design-tokens",
11
- "dtcg"
8
+ "command-line",
9
+ "command-registry",
10
+ "exit-code",
11
+ "typescript"
12
12
  ],
13
13
  "homepage": "https://github.com/ultime-space/cli#readme",
14
14
  "bugs": {
@@ -53,5 +53,6 @@
53
53
  },
54
54
  "engines": {
55
55
  "node": ">=22.18"
56
- }
56
+ },
57
+ "packageManager": "pnpm@12.6.0"
57
58
  }
package/src/run.ts CHANGED
@@ -48,7 +48,7 @@ export function runCli(spec: CliSpec, argv: string[], ctx: CliContext = processC
48
48
  try {
49
49
  return command.run(args, ctx)
50
50
  } catch (error) {
51
- ctx.err(`✗ ${(error as Error).message}`)
51
+ ctx.err(`✗ ${error instanceof Error ? error.message : String(error)}`)
52
52
  return 1
53
53
  }
54
54
  }