nimbus-docs CLI 可以列出注册表中的内容、安装它们、在 nimbus.json 中记录你拥有的组件、显示哪些内容落后于上游版本,以及对 MDX 内容进行检查。
nimbus-docs list
列出所有可安装的组件、工具和功能。
npx @cloudflare/nimbus-docs listyarn dlx @cloudflare/nimbus-docs listpnpm dlx @cloudflare/nimbus-docs listbunx @cloudflare/nimbus-docs list按类型筛选:
npx @cloudflare/nimbus-docs list --type uiyarn dlx @cloudflare/nimbus-docs list --type uipnpm dlx @cloudflare/nimbus-docs list --type uibunx @cloudflare/nimbus-docs list --type uinpx @cloudflare/nimbus-docs list --type libyarn dlx @cloudflare/nimbus-docs list --type libpnpm dlx @cloudflare/nimbus-docs list --type libbunx @cloudflare/nimbus-docs list --type libnpx @cloudflare/nimbus-docs list --type featureyarn dlx @cloudflare/nimbus-docs list --type featurepnpm dlx @cloudflare/nimbus-docs list --type featurebunx @cloudflare/nimbus-docs list --type feature运行 nimbus-docs add 时不指定 slug 也会显示相同的列表。
nimbus-docs add <slug>
注册表条目根据类型使用两种安装模式。特殊的 adapter-<id> slug 使用第三种流程来重写项目配置。
组件和工具
对于 registry:ui 和 registry:lib 类型的 slug,CLI 会解析依赖项,将文件复制到你的仓库中,并安装所需的 npm 包。
npx @cloudflare/nimbus-docs add badgeyarn dlx @cloudflare/nimbus-docs add badgepnpm dlx @cloudflare/nimbus-docs add badgebunx @cloudflare/nimbus-docs add badge解析依赖项
遍历 slug 的 registryDependencies 及其所需的 npm dependencies。
复制文件
将每个文件放到 src/components/ui/、src/lib/ 或条目声明的对应路径下。
更新 package.json
如果 npm 依赖项尚不存在,则添加它们。
如果组件已经安装,add 会保留你的副本——它永远不会覆盖你拥有的文件。传入 --overwrite 可以用注册表版本替换它们(即升级路径);使用 git diff 审查变更:
npx @cloudflare/nimbus-docs add badge --overwriteyarn dlx @cloudflare/nimbus-docs add badge --overwritepnpm dlx @cloudflare/nimbus-docs add badge --overwritebunx @cloudflare/nimbus-docs add badge --overwrite对于 add,--yes 会同意依赖安装等提示,但仍会保留现有文件。只有当你确实想「替换我的文件」时才使用 --overwrite。
安装完成后,组件就存在于你的仓库中了。你可以自由编辑——不存在上游 API 被破坏的风险。每次 add 还会在你的 nimbus.json 中追加一条记录——slug、来源注册表、注册表版本以及内容哈希——以便后续升级时可以追踪你拥有的内容。
功能
对于 registry:feature 类型的 slug,不需要复制任何文件。功能配方是一个 markdown 提示,智能体会读取它、适配你的项目并应用。
npx @cloudflare/nimbus-docs add 404-pageyarn dlx @cloudflare/nimbus-docs add 404-pagepnpm dlx @cloudflare/nimbus-docs add 404-pagebunx @cloudflare/nimbus-docs add 404-page如果 CLI 检测到环境中存在编码智能体,它会将配方输出到 stdout 供智能体使用。否则它会打印管道指令,你可以自行运行:
npx @cloudflare/nimbus-docs add 404-page --print | claudeyarn dlx @cloudflare/nimbus-docs add 404-page --print | claudepnpm dlx @cloudflare/nimbus-docs add 404-page --print | claudebunx @cloudflare/nimbus-docs add 404-page --print | claudenpx @cloudflare/nimbus-docs add 404-page --print | codexyarn dlx @cloudflare/nimbus-docs add 404-page --print | codexpnpm dlx @cloudflare/nimbus-docs add 404-page --print | codexbunx @cloudflare/nimbus-docs add 404-page --print | codex使用 --print 可以强制输出 markdown,跳过检测。
服务器适配器
对于 adapter-cloudflare、adapter-vercel、adapter-netlify 和 adapter-node,CLI 会安装 Astro 适配器并重写 astro.config 中标记的 output 块。它会拒绝替换不同的适配器或非字面量的 output 值。
npx @cloudflare/nimbus-docs add adapter-cloudflareyarn dlx @cloudflare/nimbus-docs add adapter-cloudflarepnpm dlx @cloudflare/nimbus-docs add adapter-cloudflarebunx @cloudflare/nimbus-docs add adapter-cloudflare当 Nimbus 配置中没有显式的渲染策略时,adapter-cloudflare 会添加请求渲染。现有策略会被保留;导入或模糊的配置会收到编码智能体的交接指令,而不是投机性重写。当不存在 wrangler.jsonc 时,命令会创建一个服务器兼容的配置文件,或者替换未修改的 Nimbus 静态配置;自定义的 JSONC 以及替代的 JSON/TOML 配置不会被改动。
完成适配器安装后,预期结果如下:
const nimbusConfig = defineNimbusConfig({
rendering: { default: "request" },
// ...
});
export default defineConfig({
output: "server",
adapter: cloudflare({ prerenderEnvironment: "node" }),
integrations: [nimbus(nimbusConfig)],
});当命令在检测到的编码智能体中运行时,它会输出版本化的配方,以便智能体可以安全地适配项目拥有或分离的配置。在普通 shell 中,使用 --print 显式请求该配方:
npx @cloudflare/nimbus-docs add adapter-cloudflare --print | claudeyarn dlx @cloudflare/nimbus-docs add adapter-cloudflare --print | claudepnpm dlx @cloudflare/nimbus-docs add adapter-cloudflare --print | claudebunx @cloudflare/nimbus-docs add adapter-cloudflare --print | claude之后务必运行项目的生产构建。参阅渲染策略了解按集合的构建/请求覆盖。
等效的长格式为 nimbus-docs add server-output --adapter <cloudflare|vercel|netlify|node>。
nimbus-docs init
为缺少 nimbus.json 的项目创建该文件——适用于在记录机制存在之前搭建的仓库、正在采用 Nimbus 的现有 Astro 站点,或记录被删除的情况。全新搭建的项目已有该文件,因此 init 是所有其他操作的入口。
npx @cloudflare/nimbus-docs inityarn dlx @cloudflare/nimbus-docs initpnpm dlx @cloudflare/nimbus-docs initbunx @cloudflare/nimbus-docs init它会扫描你已安装的组件,将每个组件与注册表匹配,并写入可恢复的内容——只标记,从不猜测:
- matched — 与注册表副本完全一致。
- modified — 你已编辑过;记录保留来源身份,以便升级时仍可比较。
- hand-authored — 你自行编写的,不来自注册表。
启动版本、templates-v* 标签以及之前审查的 Nimbus 版本无法仅从仓库中恢复,因此留空(标记为 reconstructed)。使用 migrate --from <version> 来建立升级范围。
# 扫描嵌套包(monorepo)
npx @cloudflare/nimbus-docs init --root packages/docs# 扫描嵌套包(monorepo)
yarn dlx @cloudflare/nimbus-docs init --root packages/docs# 扫描嵌套包(monorepo)
pnpm dlx @cloudflare/nimbus-docs init --root packages/docs# 扫描嵌套包(monorepo)
bunx @cloudflare/nimbus-docs init --root packages/docs# 重建现有记录
npx @cloudflare/nimbus-docs init --force# 重建现有记录
yarn dlx @cloudflare/nimbus-docs init --force# 重建现有记录
pnpm dlx @cloudflare/nimbus-docs init --force# 重建现有记录
bunx @cloudflare/nimbus-docs init --force保持更新
包管理器负责更新 Nimbus 本身;Nimbus 负责更新已知的 API 用法并审查复制的代码:
pnpm up @cloudflare/nimbus-docs --latest
pnpm exec nimbus-docs migrate
pnpm exec nimbus-docs outdatednimbus-docs migrate
汇总项目 lastReviewedNimbusVersion 与已安装 Nimbus 版本之间的所有已声明的破坏性变更。它会显示静态证明安全的编辑的完整 diff,以及其余内容的有界审查任务。自定义或模糊的代码绝不会被强制修改。
没有审查基线的现有项目必须提供上次完成迁移的精确 Nimbus 版本:
pnpm exec nimbus-docs migrate --from PREVIOUS_VERSION使用 --dry-run 或 --diff 获取只读计划,--yes --json 用于智能体安全的应用循环,--print 用于自包含的 Markdown 交接。可以通过 --src-dir <relative-dir> 显式提供计算得出的 Astro srcDir。
Nimbus 仅在识别来源且能证明变更安全时才应用编辑。自定义或模糊的代码保持不变,并作为审查任务返回。migrate --print 会为任何智能体或工作流输出该任务;Nimbus 本身不会启动智能体。
迁移输出包括选定的版本范围、需要审查的内容、计划的 diff、阻塞项和错误。报告扫描边界之外的文件不会被标记为已检查。
标记为可选的升级条目出现在 migrate 的必需工作之后,以及 outdated 的包 API 信息性说明中。它们描述了每个现有站点都可以跳过而不影响构建或输出的改进,因此不会阻止构建。当你准备好时,运行 migrate --yes 将它们记录为已审查。
完成所有报告的工作后,显式确认并推进已提交的审查基线:
pnpm exec nimbus-docs migrate --from PREVIOUS_VERSION --yes仅当项目没有记录的基线时才需要重复 --from。干净的交互式重新运行会在记录审查版本之前询问;智能体通过 --yes 提供该同意。Nimbus 不会在仍存在可检测迁移时记录完成状态。然后运行 outdated 审查用户拥有的启动器和注册表代码,接着运行 nimbus-docs check、astro check 和生产构建。migrate 的输出是按版本选择的升级指南。
nimbus-docs outdated
跨包 API、启动器文件和注册表组件的只读「我是否落后?」概览:
npx @cloudflare/nimbus-docs outdatedyarn dlx @cloudflare/nimbus-docs outdatedpnpm dlx @cloudflare/nimbus-docs outdatedbunx @cloudflare/nimbus-docs outdated- 包 API — 将待处理的源迁移和按版本选择的审查指向
migrate。 - 注册表组件 — 将每个记录的内容哈希与当前注册表进行比较,并分类记录的本地占用。注册表更新仍为仅审查状态,因为覆盖也可能影响依赖项。
- 启动器文件 — 将你搭建的文件与上游
templates-v*标签进行比较,包括新增和删除。因为这些文件来自从未出现在你 git 历史中的标签,普通的git diff无法显示这些差异。内容文件默认隐藏(--all可包含它们)。
传入 --json 获取确定性的智能体可读结果。没有完整 nimbus.json 来源信息的项目仍然会收到包 API 结果以及明确的部分覆盖结果。
nimbus-docs diff [file]
启动器文件的只读详情——你改了什么,以及上游改了什么:
# 每个已更改的启动器文件
npx @cloudflare/nimbus-docs diff# 每个已更改的启动器文件
yarn dlx @cloudflare/nimbus-docs diff# 每个已更改的启动器文件
pnpm dlx @cloudflare/nimbus-docs diff# 每个已更改的启动器文件
bunx @cloudflare/nimbus-docs diff# 单个文件
npx @cloudflare/nimbus-docs diff src/components/ui/aside/Aside.astro# 单个文件
yarn dlx @cloudflare/nimbus-docs diff src/components/ui/aside/Aside.astro# 单个文件
pnpm dlx @cloudflare/nimbus-docs diff src/components/ui/aside/Aside.astro# 单个文件
bunx @cloudflare/nimbus-docs diff src/components/ui/aside/Aside.astro每个文件属于以下状态之一:可拉取(上游有变更,你没有)、上游新增/删除、手动合并(双方都有变更)或你的变更(你编辑过,上游没有)。对于可拉取的更新、新增和删除,你可以让 CLI 应用一个已审查的变更:
npx @cloudflare/nimbus-docs diff src/components/ui/aside/Aside.astro --applyyarn dlx @cloudflare/nimbus-docs diff src/components/ui/aside/Aside.astro --applypnpm dlx @cloudflare/nimbus-docs diff src/components/ui/aside/Aside.astro --applybunx @cloudflare/nimbus-docs diff src/components/ui/aside/Aside.astro --apply--apply 是显式的、按文件操作的,会拒绝符号链接/路径逃逸,并在写入前重新检查干净的原始状态或缺失状态——它永远不会合并。之后使用 git diff 审查。传入 --to <templates-vX.Y.Z> 可以针对特定标签,或传入 --template-dir <path> 与本地检出进行离线比较。
nimbus-docs lint
遍历 src/content/,运行你启用的每条编写规则,打印诊断信息,并在存在任何 error 严重级别的发现时以非零退出码退出。构建不受 lint 限制——未通过 lint 的草稿在 astro dev 下仍会渲染。
npx @cloudflare/nimbus-docs lintyarn dlx @cloudflare/nimbus-docs lintpnpm dlx @cloudflare/nimbus-docs lintbunx @cloudflare/nimbus-docs lint标志——与 lint 组合使用:
| 标志 | 效果 |
|---|---|
--format=json |
智能体可读的诊断信息 |
--rule=nimbus/single-h1 |
仅运行一条规则 |
--fix |
原地应用自动修复 |
--quiet |
仅显示错误,抑制警告 |
严重级别覆盖在集成中配置(nimbus(config, { rules }));文件内禁用(nimbusDisableRules frontmatter、内联注释)无需配置即可生效。
帮助和版本
npx @cloudflare/nimbus-docs --helpyarn dlx @cloudflare/nimbus-docs --helppnpm dlx @cloudflare/nimbus-docs --helpbunx @cloudflare/nimbus-docs --helpnpx @cloudflare/nimbus-docs --versionyarn dlx @cloudflare/nimbus-docs --versionpnpm dlx @cloudflare/nimbus-docs --versionbunx @cloudflare/nimbus-docs --version