跳转到内容

cnb-rs ext

cnb-rs ext <subcommand>

管理 cnb-rs extension(与 gh extension 风格对齐)。

extension 是把第三方子命令以独立 binary 形式插入到 cnb-rs 中的机制 —— 用户调 cnb-rs <name> [args] 时,若 <name> 不是内置命令,cnb-rs 会去 $EXTENSIONS_DIR/cnb-<name>/cnb-<name>[.exe] 找可执行文件并 spawn。

完整工作原理见 指南:cnb-rs extensions

别名cnb-rs ext / cnb-rs extensions / cnb-rs extension 三者完全等价。

可用命令

子命令Phase说明
cnb-rs ext list3.2列出已安装的 extension(alias ls,3.4 后含 manifest 全字段)
cnb-rs ext install3.4从 CNB release 下载 binary + SHA256 校验 + 写 manifest
cnb-rs ext exec3.3显式执行 extension(绕命名冲突或调试用)
cnb-rs ext remove3.5删除已安装的 extension(alias rm / uninstall
cnb-rs ext upgrade3.6比对 manifest tag vs latest release 升级
cnb-rs ext search5在官方 registry 中搜索 extension(24h cache + 离线 fallback)
cnb-rs ext create5创建新 extension 项目脚手架(Rust 极简模板,include_str! 嵌入)
cnb-rs ext registry5管理 cnb-rs extension registry(schema 校验等 maintainer 工具)
cnb-rs ext browse6 Task D全屏 TUI 浏览 registry(filter / i 安装 / r 卸载 / w 浏览器打开)

安装位置

平台extensions 根目录
Linux$XDG_DATA_HOME/cnb/extensions~/.local/share/cnb/extensions
macOS~/Library/Application Support/cnb/extensions
Windows%LOCALAPPDATA%\cnb\extensions

可用环境变量 CNB_EXTENSIONS_DIR 覆盖(绝对路径;测试 / dev 友好)。

示例

bash
# 安装 extension(完整路径形式)
$ cnb-rs ext install wwvo/cnb-rs/cnb-stats

# 安装指定 tag(pinned,upgrade --all 会跳过)
$ cnb-rs ext install wwvo/cnb-rs/cnb-stats --pin v0.0.9

# 列出已装 extension(含 manifest 元数据)
$ cnb-rs ext list

# JSON 输出(脚本调用友好)
$ cnb-rs ext list --json

# 升级单个 extension
$ cnb-rs ext upgrade stats

# 升级所有(跳过 pinned)
$ cnb-rs ext upgrade --all

# 升级所有 + dry-run(只看不动)
$ cnb-rs ext upgrade --all --dry-run

# 调用 extension(直接用命令名)
$ cnb-rs hello world           # 等价于 ext exec hello world

# 显式调用(绕命名冲突)
$ cnb-rs ext exec hello world

# 删除 extension(交互确认)
$ cnb-rs ext remove hello

# 删除 extension(跳过确认)
$ cnb-rs ext remove hello -y

另请参阅

Released under the MIT License.