# meego-cli Release

## 当前结论

- 包名：`meego-cli`
- 可执行命令：`meego`
- 当前已发布版本：`0.4.0`
- npm `latest`：`0.4.0`
- 旧社区包：`0.1.0`–`0.3.0` 全部 deprecated
- 当前待发布版本：`0.5.0`
- 当前依赖 SDK：`meeglesdk@^0.2.3`

## 0.5.0 发布重点

- 对齐 SDK `0.2.3` 的真实 OpenAPI 契约与 Universal Search 响应包络
- 冻结/解冻改为单工作项 `project_key + work_item_id + is_frozen`
- Universal Search 改为单空间扁平请求模型
- 复合字段按组更新使用 `updateCompoundFieldValue`
- 请求体与模板枚举使用严格类型和显式校验
- 删除失效的批量冻结与 `--force-batch` 入口

## 0.4.0 发布重点

- 社区版 npm 包与仓库目录统一为 `meego-cli`
- 可执行命令唯一保留 `meego`
- CLI 专属环境变量统一为 `MEEGO_*`
- 配置目录统一为 `~/.meego-cli`
- Agent Skill 统一为 `meego-cli-usage`
- 不保留任何旧名称兼容入口

## 发布前检查

```bash
cd /Users/linmi/conductor/repos/meego-client/meego-cli
npm install
npm run release:check
```

`release:check` 会执行：

1. `npm test`
2. `npm run build`
3. `npm pack --dry-run`

目标是确保：

- 测试通过
- 发布包包含运行时 `dist/`、用户文档、脚本、示例与 Agent Skills
- 不再携带 `src/` 和测试产物

## 首次发布

```bash
cd /Users/linmi/conductor/repos/meego-client/meego-cli
npm login
npm publish
```

`0.4.0` 已于 2026-07-11 完成首次发布。发布后验证：

- registry tarball：`https://registry.npmjs.org/meego-cli/-/meego-cli-0.4.0.tgz`
- shasum：`cf05e905b8858fcaab3ef9aeea88464ead9b7036`
- 从 registry 全局重装后 `meego -V` 返回 `0.4.0`
- 真实 profile 认证、空间列表查询和结构化命令目录均通过

旧社区包所有 16 个版本已于 2026-07-11 下线推荐，统一提示：

```text
Package renamed to meego-cli. Install with: npm install -g meego-cli
```

发布成功后，外部用户安装方式：

```bash
npm install -g meego-cli
meego --help
```

## 后续版本发布

```bash
cd /Users/linmi/conductor/repos/meego-client/meego-cli
npm version patch --no-git-tag-version
npm publish
```

也可以把 `patch` 改成 `minor` 或 `major`。

本次包名迁移直接发布为：

```bash
cd /Users/linmi/conductor/repos/meego-client/meego-cli
npm version 0.4.0 --no-git-tag-version
npm publish
```

## 本地联调 SDK

对外发布时，CLI 依赖的是 npm 上的 `meeglesdk@^0.2.3`。
如果你在本仓库内同时修改 SDK 和 CLI，建议显式切回本地安装：

```bash
cd /Users/linmi/conductor/repos/meego-client/meego-cli
npm install ../project-oapi-sdk-typescript
```

联调结束后，发布前再恢复：

```bash
cd /Users/linmi/conductor/repos/meego-client/meego-cli
npm install meeglesdk@^0.2.3
```

## 风险提醒

- `pluginId/pluginSecret` 不能写进 README 示例或测试默认环境变量
- `test:smoke:real` 依赖真实凭证，不能挂到 `prepublishOnly`
- 如果后续需要私有 scope，再补 `publishConfig.access=public`
