360 Secure SkillHub
360 安全技能中心

quiver-bootstrap

用内置 Node 构建脚本做依赖预检,生成三层仓库脚手架(公有 bootstrap、私有 dotfiles 与 workspace)、age 与 SSH 密钥及 bolt.yaml;默认只打印待执行的 gh/git 命令,加 --push 才创建并推送仓库,最后给出创建 bolt 的命令。

jimweller
热度 0.00
最近更新 2026-10-19 03:43:36
分类:开发依赖:代码执行 / 读写文件 / 第三方 API应用场景:DevOps / 工作流 / 模板

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add jimweller/clanker-skills/quiver-bootstrap
Metadata
name
quiver-bootstrap
description
Set up a Quiver bolt's three-layer bootstrap stack (public bootstrap repo, private dotfiles repo, private workspace repo, an age key, and an SSH key) and create the bolt. Use when a user wants to configure a new Quiver persona or dotfiles stack, onboard to Quiver, or spin up a bolt dev environment from scratch. Works on macOS, Linux, and Windows.

Quiver Bootstrap Stack

Configure the three-layer bootstrap that turns a bare Quiver bolt into a personalized dev environment. This skill scaffolds and encrypts the three repos, produces a bolt.yaml, and hands off the exact command to create the bolt.

Quiver in brief (end-user view)

  • A bolt is an ephemeral Ubuntu container running in Kubernetes with a persistent home and workspace. Reach it via a browser terminal, VSCode, or kubectl.
  • A fresh bolt has no SSH keys, dotfiles, or code. The three-layer bootstrap delivers them at startup from three git repos plus one age key.
  • The bootstrap repo plus the dotfiles repo form a reusable persona. The workspace repo is the swappable per-task input. Rebuilding a bolt from the same inputs reproduces the same environment.
Layer Repo Visibility Delivers
1 bootstrap public SSH key, SSH config, DOTFILES_KEY (age)
2 dotfiles private dotbot install, GPG-decrypted secrets
3 workspace private project code cloned into /workspace

The bootstrap repo is public but safe: its bootstrap.age payload is age-encrypted, and the dotfiles repo's secrets.gpg is GPG-encrypted.

Prerequisites

The bundled builder needs node, age, age-keygen, gpg, git, ssh-keygen, and tar on PATH. Adding --push also needs gh.

Run the preflight first and stop if anything is missing:

node scripts/build-stack.mjs --check

Install hints by OS:

  • macOS: brew install age gnupg git openssh (and brew install gh)
  • Linux: apt install age gnupg git openssh-client (or the distro equivalent)
  • Windows: winget install FiloSottile.age GnuPG.GnuPG Git.Git (ssh and tar ship with Windows 10+; winget install GitHub.cli for gh)

Build the stack

  1. Confirm inputs with the user: the GitHub org or user, the three repo names (defaults bootstrap, dotfiles, workspace), the login shell, and any secret env vars to embed. Ask before choosing values.

  2. Run the builder. Use --dry-run first to inspect artifacts without touching the network:

    node scripts/build-stack.mjs --org <github-org> --dry-run
    
  3. Run for real to build the artifacts under ~/quiver-bootstrap (override with --work-dir):

    node scripts/build-stack.mjs --org <github-org> \
      --shell /bin/bash \
      --secret MY_API_TOKEN=xxxxx
    

    Add --push to create and push all three repos with gh and register the generated SSH public key with GitHub. Without --push, the builder prints the exact gh/git commands to run.

The builder writes the age private key to age-key.txt and prints it once. It is the single secret the user must keep. It is never committed.

Key flags: --work-dir, --org, --bootstrap-repo, --dotfiles-repo, --workspace-repo, --git-host, --shell, --ssh-key (reuse an existing key), --dotfiles-key, --secret KEY=VALUE (repeatable), --dotfiles-public, --workspace-public, --push, --dry-run. Run --help for the full list.

Create the bolt

The builder prints a ready-to-run command:

quiver create <name> --config ~/quiver-bootstrap/bolt.yaml \
  --age-key "AGE-SECRET-KEY-..."

If the user has no CLI set up, the quiver-cli skill covers install and auth, or they can create the bolt from the dashboard by uploading bolt.yaml and pasting the age key.

Verify

Once the bolt is ready, open its terminal and confirm each layer:

env | grep MY_SECRET          # Layer 2: GPG secrets decrypted and sourced
cat /workspace/README.md      # Layer 3: workspace cloned

Guardrails

  • bootstrap_repo must be an https:// URL. The bolt clones it without credentials, so that repo must be public.
  • Private dotfiles and workspace repos are cloned over SSH (git@host:org/repo.git) using the key delivered by Layer 1. Register the SSH public key with the git host or the private clones fail.
  • The .ssh/config IdentityFile must name the same key file shipped in the bootstrap tarball. The builder keeps these aligned.
  • All layers are optional. See reference/stack-layout.md for partial configurations and the exact files the bolt expects.

Rotating later

New bolts pick up repo changes automatically; existing bolts do not. To rotate, rebuild with the same inputs and push. See reference/stack-layout.md.

Installing this skill

npx skills add ./skills/quiver-bootstrap          # from a local checkout
npx skills add <your-quiver-repo-git-url>         # from the hosted repo

Add -g for a global install and -a claude-code (or another agent) to target a specific agent.