Metadata-Version: 2.5
Name: chongming-cli
Version: 0.1.0
Summary: chongming 命令脚本集合：构建打包 / 进程插件打包 / 插件脚手架 / 模型生成
Requires-Python: >=3.12
Requires-Dist: chongming-config
Requires-Dist: module-bank
Requires-Dist: sqlite-vfs
Requires-Dist: tomli
Description-Content-Type: text/markdown

# chongming-cli

chongming 网关的命令脚本集合，独立包维护（从 `src/chongming/scripts` 抽离）。

## 命令

| 命令         | 说明                                        |
| ------------ | ------------------------------------------- |
| `build`      | 应用构建打包（PyInstaller / Nuitka）        |
| `build_plugin` | 进程插件打包为可部署 zip                  |
| `gen_models` | 从 `config/workers/<name>/*.toml` 生成 Pydantic 模型 |
| `gen_plugin` | 生成风格统一的 Worker 插件骨架              |

另有 `chongming_cli.code_content` 模块：将目录下代码文件汇总为 Markdown（`python -m chongming_cli.code_content <dir>`）。

## 用法

在 chongming 网关项目根目录下（已通过 path/git 依赖安装本包）：

```bash
uv run build pyinstaller        # 构建打包
uv run build --only mbank       # 仅重新打包 .mbank 模块文件（跳过其余流程）
uv run build --only mbank,vue   # 只执行指定步骤
uv run build_plugin demo        # 进程插件打包 → dist/demo.zip
uv run gen_plugin myplugin      # 生成插件骨架
uv run gen_models config/workers/myplugin src/plugins/myplugin
```

`build --only <step>` 可选步骤：`mbank` / `prepare` / `obfuscate` / `pack` / `clean` / `vue`，可逗号分隔或重复传多个。

## 项目根目录定位

脚本需要在项目根目录下读写 `config/`、`src/plugins/`、`workers/` 等路径。
本包安装位置不固定（site-packages），因此根目录按以下顺序解析：

1. 环境变量 `CHONGMING_ROOT`（显式指定项目根）
2. 当前工作目录向上查找第一个含 `pyproject.toml` 的目录（即项目根）

## 开发

```bash
uv pip install -e utils/cli     # 本地可编辑安装
```
