关于 quiver-bootstrap
Quiver Bootstrap Stack 是用于构建 Quiver bolt 三仓库引导配置的技能。它创建仓库框架、加密机密、生成 `bolt.yaml`,并提供创建环境所需的命令。
主要功能
- 01创建三个引导仓库的框架
- 02加密引导和 dotfiles 机密
- 03生成 `bolt.yaml`
- 04支持试运行和可选推送
- 05输出创建 bolt 的命令
适用场景
- 01准备个性化的 Quiver bolt
- 02将可复用配置与工作区代码分开
- 03用相同输入重建环境
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ jimweller/ clanker-skills --skill quiver-bootstrap安装后在 Claude Code 中输入/quiver-bootstrap确认已加载。
附带文件reference/stack-layout.mdscripts/build-stack.mjs
详细介绍
Quiver Bootstrap Stack
配置三层引导流程,将一个全新的 Quiver bolt 转变为个性化的开发环境。此技能会搭建并加密三个仓库,生成 bolt.yaml,并提供创建 bolt 的确切命令。
Quiver 简介(终端用户视角)
- bolt 是运行在 Kubernetes 中的临时 Ubuntu 容器,具有持久化的主目录和工作区。可通过浏览器终端、VSCode 或
kubectl访问。 - 全新的 bolt 没有 SSH 密钥、dotfiles 或代码。三层引导流程会在启动时从三个 git 仓库和一个 age 密钥中提供这些内容。
- 引导仓库和 dotfiles 仓库构成可重复使用的个性配置。工作区仓库是可按任务替换的输入。使用相同输入重建 bolt,即可复现相同的环境。
| 层级 | 仓库 | 可见性 | 提供的内容 |
|---|---|---|---|
| 1 | bootstrap | 公开 | SSH 密钥、SSH 配置、DOTFILES_KEY(age) |
| 2 | dotfiles | 私有 | dotbot 安装、GPG 解密的机密 |
| 3 | workspace | 私有 | 克隆到 /workspace 中的项目代码 |
引导仓库是公开的,但内容安全:其中的 bootstrap.age 负载经过 age 加密,dotfiles 仓库中的 secrets.gpg 经过 GPG 加密。
前置条件
随附的构建器需要 PATH 中有 node、age、age-keygen、gpg、git、ssh-keygen 和 tar。添加 --push 还需要 gh。
先运行预检;如果缺少任何项目,请停止:
node scripts/build-stack.mjs --check
按操作系统查看安装提示:
- macOS:
brew install age gnupg git openssh(以及brew install gh) - Linux:
apt install age gnupg git openssh-client(或相应发行版的等效命令) - Windows:
winget install FiloSottile.age GnuPG.GnuPG Git.Git(Windows 10+ 自带 ssh 和 tar;安装gh请运行winget install GitHub.cli)
构建配置栈
-
向用户确认输入:GitHub 组织或用户、三个仓库名称(默认值为
bootstrap、dotfiles、workspace)、登录 shell,以及要嵌入的任何机密环境变量。选择值之前先询问。 -
运行构建器。先使用
--dry-run检查生成物,不连接网络:node scripts/build-stack.mjs --org <github-org> --dry-run -
正式运行,在
~/quiver-bootstrap下构建生成物(使用--work-dir可更改位置):node scripts/build-stack.mjs --org <github-org> \ --shell /bin/bash \ --secret MY_API_TOKEN=xxxxx添加
--push,即可通过gh创建并推送全部三个仓库,并将生成的 SSH 公钥注册到 GitHub。不使用--push时,构建器会打印要运行的确切gh/git命令。
构建器会将 age 私钥写入 age-key.txt 并仅显示一次。这是用户必须妥善保管的唯一机密。它绝不会被提交。
主要参数:--work-dir、--org、--bootstrap-repo、--dotfiles-repo、--workspace-repo、--git-host、--shell、--ssh-key(复用现有密钥)、--dotfiles-key、--secret KEY=VALUE(可重复使用)、--dotfiles-public、--workspace-public、--push、--dry-run。运行 --help 查看完整列表。
创建 bolt
构建器会打印一条可直接运行的命令:
quiver create <name> --config ~/quiver-bootstrap/bolt.yaml \
--age-key "AGE-SECRET-KEY-..."
如果用户尚未配置 CLI,quiver-cli 技能介绍了安装和身份验证方法;也可以通过上传 bolt.yaml 并粘贴 age 密钥,从控制面板创建 bolt。
验证
bolt 状态变为 ready 后,打开其终端并确认每一层:
env | grep MY_SECRET # Layer 2: GPG secrets decrypted and sourced
cat /workspace/README.md # Layer 3: workspace cloned
防护措施
bootstrap_repo必须是https://URL。bolt 会在不使用凭据的情况下克隆它,因此该仓库必须公开。- 私有 dotfiles 和 workspace 仓库通过 SSH(
git@host:org/repo.git)克隆,使用第一层提供的密钥。必须将 SSH 公钥注册到 git 主机,否则私有仓库克隆会失败。 .ssh/config中的IdentityFile必须指向随引导 tarball 一起提供的同一个密钥文件。构建器会确保两者一致。- 所有层都可选。部分配置以及 bolt 所需的确切文件,请参阅
reference/stack-layout.md。
后续轮换
新螺栓会自动获取仓库更改;现有螺栓不会。要进行轮换,请使用相同的输入重新构建并推送。请参阅 reference/stack-layout.md。
安装此技能
npx skills add ./skills/quiver-bootstrap # from a local checkout
npx skills add <your-quiver-repo-git-url> # from the hosted repo
添加 -g 以进行全局安装,并添加 -a claude-code(或其他 Agent)以指定目标 Agent。