lhx-cli create 是 lhx-kit 的入口命令。从 2026-05 Phase 1 起,它支持交互式向导、混合模式(命令行 + 提示)、全旗标 CI 模式和双语扫尾提示。
CLI 进入向导,按 10 步顺序询问:
关键行为:
el → 只剩 element-plus)vue3-mpa + target=mobile 后,UI 列表自动隐藏 element-plus(PC-only)express 等后端模板时,CSS 三轴提示直接跳过ESC → 二次确认 → 不写入任何文件供给已知字段,剩下的让向导提示:
--yes)不显示任何提示。未指定的字段使用 文档化的默认值。
| 旗标 | 适用 | 默认 | 说明 |
|---|---|---|---|
-t, --template |
全部 | 提示 | 内置名 / 本地路径 / gh:user/repo#ref |
--target <pc|mobile|hybrid> |
前端 | hybrid |
互斥组 target,hybrid 自动开启 offline |
--css-preprocessor <less|sass|none> |
前端 | less |
|
--css-atomic <unocss|tailwind|none> |
前端 | unocss |
|
--css-styling <modules|emotion|styled|vanilla-extract|vue-scoped|none> |
前端 | modules |
React-only / Vue-only 错配会失败 |
--features <list> |
全部 | [] |
CSV,例:offline,codebuddy-skills |
--package-manager <pnpm|npm|yarn|bun> |
全部 | pnpm |
|
--lhx-version <auto|local|range> |
全部 | auto |
auto 跑 npm view;local 用 CLI 自身版本;其余视为 literal pin |
--link-workspace |
monorepo | off | 把 @lhx-kit/* 重写为 workspace:* |
--skip-install |
全部 | off | 不自动 pnpm install |
--skip-git |
全部 | off | 不 git init |
--force |
全部 | off | 目标目录非空时也覆盖 |
--yes |
全部 | off | 跳过所有提示 |
--lhx-version)当不带 --link-workspace 时,CLI 会逐个查询 @lhx-kit/* 包的最新发布版:
auto(默认):每个 @lhx-kit/* 依赖独立跑 npm view <pkg> version,写 caret-minor。进程内缓存确保 8 个包不会跑 8 次网络。local:跳过网络,使用 CLI 自身的版本范围(@lhx-kit/cli/package.json 版本)。--lhx-version=^0.5.0,所有 @lhx-kit/* 都用这个值。任意单个 npm view 失败时不会中断脚手架 — 自动回落到 local 范围并以 ⚠ 警示。
每次成功脚手架后,CLI 都会打印:
契约(Phase 1 锁定,详见 openspec/changes/expand-cli-template-ecosystem/design.md §3.9):
--yes 模式)| 字段 | 默认 |
|---|---|
| 项目名 | 必传,否则 exit 2 |
| 模板 | templates[0].name(按字母序,目前 react-mpa) |
target |
hybrid |
| CSS preprocessor | less |
| CSS atomic | unocss |
| CSS styling | modules |
| 包管理器 | pnpm |
@lhx-kit/* 版本 |
auto(npm view) |
| 场景 | 行为 |
|---|---|
| 模板不存在 | exit 2 + 列出可用模板 |
旗标与模板兼容性冲突(例:vue3-mpa --css-styling=emotion) |
exit 2 + 提示「emotion 仅 React」 |
旗标互斥(例:--target=pc --features=target-mobile) |
exit 2 |
npm view 全部失败 |
警示并落回 local 范围,继续脚手架 |
| 写文件中途失败 | 打印「Scaffold interrupted」+ 已写文件数 + rollback hint + issues 链接 |