命令清单

luban 共 16 个 verb,分 4 组。

工具链 / 环境(每台机器一次性)

命令作用
luban setup装 LLVM-MinGW + cmake + ninja + mingit + vcpkg
luban env显示 env 状态;改 activate 脚本;注册 HKCU PATH(rustup 风格)

单项目(在项目目录里跑)

命令作用
[`luban new applib ` →](https://luban.coh1e.com/commands/new.html)
luban buildcmake --preset && cmake --build;同步 compile_commands.json
[`luban target addremove` →](https://luban.coh1e.com/commands/target.html)

依赖管理(vcpkg.json + luban.cmake)

命令作用
luban add <pkg>[@version]编辑 vcpkg.json + 重生成 luban.cmake(自动 find_package + link)
luban remove <pkg>luban add 反操作
luban sync重读 vcpkg.json + luban.toml,重生成 luban.cmake
luban search <pattern>搜 vcpkg ports(包 vcpkg search

诊断 / 自治

命令作用
luban doctor报告目录、已装组件、PATH 上的工具
luban run <cmd> [args...]uv 风格透传执行;用 luban 工具链 env 跑 cmd
luban which <alias>打印 alias 解析到的绝对 exe 路径
luban describe [--json]dump 系统 + 项目状态(IDE / scripts 用)
luban shim重生成 <data>/bin/ shim(文本 + .exe;修复用)
luban self {update,uninstall}自更新二进制 / 完全卸载 luban

全局 flag

放在子命令前:

Flag作用
-V, --version打印 luban X.Y.Z 退出
-h, --help顶层帮助
-v, --verbose详细 log

约定

  • 幂等:每个命令都能安全重跑。luban setup 跳过已装组件、luban add 替换已有 dep、luban target add 拒绝同名 target。
  • 原子文件写:每次配置 / manifest 写入走 tmp + rename,崩了就只剩 老文件或新文件,绝不会留半个文件。
  • 退出码约定0 成功,1 运行失败(下载失败、cmake 出错),2 用户错 (参数错、操作被拒绝)。
  • log 走 stderr ! 前缀的行进 stderr。stdout 留给机读输出 (比如 compile_commands.json 路径)。pipe stdout 干净。

详细单页参考

每个命令的 examples / flags / behavior 详细见 英文版命令参考