@deepexi/datasense-cli 1.8.1 → 1.9.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 CHANGED
@@ -18,13 +18,21 @@ npm 包名为 `@deepexi/datasense-cli`,终端命令仍为 `ontos`。
18
18
 
19
19
  ## 发布到 npm
20
20
 
21
+ CLI 使用自身 semver(当前 **1.9.0**),与服务端镜像 tag **不是同一套号**。服务端在部署时指定日期 tag,本版对应 **`v2026.09.08`**:
22
+
23
+ ```bash
24
+ bun run deploy:test -- v2026.09.08
25
+ ```
26
+
27
+ 兼容范围见 [docs/compatibility](../../docs/compatibility/README.md)。Gateway 兼容门禁尚未落地,发布后 `ontos update` 仍会追随 npm `latest`。
28
+
21
29
  使用具有 `@deepexi` scope 发布权限的 npm 账号,在 `packages/ontos-cli` 目录执行:
22
30
 
23
31
  ```bash
24
32
  npm publish --access public
25
33
  ```
26
34
 
27
- 发布前会自动构建 Node.js 产物;当前只发布这一个包名。
35
+ 发布前会自动构建 Node.js 产物;当前只发布这一个包名。查看 CLI 包版本用 `ontos -V` / `ontos --cli-version`(`--version` 留给 `simulation version evaluate`)。
28
36
 
29
37
  ## 快速开始
30
38
 
@@ -76,3 +84,33 @@ ontos auth project set <name>
76
84
  - **NDJSON 用于流式。** 流式命令(如 `admin action debug` 的 SSE 逐节点调试)逐事件输出 NDJSON(每行一条 JSON 事件);此时 `--format` 不影响流式帧。
77
85
  - **面向人的展示态**(默认 `table`、`--format yaml`、`--layout ascii`)不宜被编排器当机器契约依赖;需要可解析结构时显式 `--format json`。
78
86
  - **稳定性承诺按 semver。** 契约字段只增不删不改名;破坏性变更随包 major 版本号 bump,并在 README / CHANGELOG 标注([ADR-0017](../../docs/adr/0017-cli-argv-as-agent-interface-not-mcp.md) / [ADR-0061](../../docs/adr/0061-cli-default-output-markdown-table.md))。
87
+
88
+ ## 多项目配置
89
+
90
+ 每个本地项目各放一份 `ontos.yaml`,例如 `sales/ontos.yaml`、`inventory/ontos.yaml`。父目录不放指向某个子项目的默认清单。
91
+
92
+ ```yaml
93
+ tenant: acme
94
+ project: sales
95
+ specDir: ./spec
96
+ sync:
97
+ domains: [ontology]
98
+ ```
99
+
100
+ ```bash
101
+ ontos --cwd ./sales auth status --format json
102
+ ontos --cwd ./sales admin sync diff
103
+ ontos --manifest ./ontos.inventory.yaml admin sync push
104
+ ```
105
+
106
+ - `--cwd` 指定执行目录,命令行相对路径以此为基准;`--manifest` > `ONTOS_MANIFEST` > 目录发现。显式清单不存在或损坏时直接失败。
107
+ - 自动发现向上止于最近 Git 根(含 worktree `.git` 文件)、home 或文件系统根;不搜索子目录/兄弟项目,不合并父级清单。无 Git 的普通子目录仍会继承父清单。
108
+ - `.yaml` 和 `.yml` 均可发现,同层共存时报错。新文件统一写 `.yaml`;自定义名称用 `--manifest` 选择。
109
+ - specDir 与缺省 `ontos-project` 相对清单目录解析;`--dir` 为命令行资源目录。它命中另一项目清单时,租户、项目、同步域一起切换;显式清单与目录清单不一致时拒绝执行。
110
+ - `-p` / `ONTOS_PROJECT` 仍是远端项目覆盖。同步、remote validate、codegen 不允许借此改绑另一项目;name/id 经只读校验等价才允许。
111
+ - `auth project set` 写显式或最近清单;更换已有绑定必须加 `--rebind`,保留原 specDir,并输出旧/新绑定。日常切换项目使用 `--cwd` / `--manifest`。损坏 YAML 不会被清空重建。
112
+ - `sync init` 不在继承祖先清单的目录中创建影子清单;请定位项目根或独立目录。资源目录不要使用清单所在目录或其祖先,否则 pull 会拒绝,避免清单被目录替换删除。
113
+ - status 的 `context` 展示清单路径、本地目录和字段来源;保留已有 status 顶层字段。
114
+ - 跨 Host 使用对应 token 或独立 `XDG_CONFIG_HOME`;不会把旧 Host 的登录 token 发给覆盖后的新 Host。清单不存凭据。`auth host set` 更换实例时会清除旧登录身份,需要登录新实例。
115
+
116
+ 旧清单缺少 `sync.domains` 时,在对应项目根执行 `ontos admin sync migrate-manifest --dry-run`,核对后去掉 `--dry-run` 迁移为 `[ontology]`;只有明确需要安全声明时才开启 `security`。跨 Git 根继承的旧脚本改为 `--manifest <原清单>`。此前依赖 cwd 漂移的默认资源目录请显式设置 specDir。