mcpField
Q
quiver-bootstrap

quiver-bootstrap

github.com/jimweller云与 DevOps41 次安装
代码仓库

关于 quiver-bootstrap

Quiver Bootstrap Stack 是用于构建 Quiver bolt 三仓库引导配置的技能。它创建仓库框架、加密机密、生成 `bolt.yaml`,并提供创建环境所需的命令。

主要功能

  1. 01创建三个引导仓库的框架
  2. 02加密引导和 dotfiles 机密
  3. 03生成 `bolt.yaml`
  4. 04支持试运行和可选推送
  5. 05输出创建 bolt 的命令

适用场景

  1. 01准备个性化的 Quiver bolt
  2. 02将可复用配置与工作区代码分开
  3. 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,即可复现相同的环境。
层级仓库可见性提供的内容
1bootstrap公开SSH 密钥、SSH 配置、DOTFILES_KEY(age)
2dotfiles私有dotbot 安装、GPG 解密的机密
3workspace私有克隆到 /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)

构建配置栈

  1. 向用户确认输入:GitHub 组织或用户、三个仓库名称(默认值为 bootstrap、dotfiles、workspace)、登录 shell,以及要嵌入的任何机密环境变量。选择值之前先询问。

  2. 运行构建器。先使用 --dry-run 检查生成物,不连接网络:

    node scripts/build-stack.mjs --org <github-org> --dry-run
    
  3. 正式运行,在 ~/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。

评论

支持 Markdown