mcpField
Q
quiver-bootstrap

quiver-bootstrap

github.com/jimwellerクラウド・DevOps41 回インストール
リポジトリ

quiver-bootstrap について

Quiver Bootstrap Stack は、Quiver bolt 用の3リポジトリ構成を作るスキルです。リポジトリを準備し、シークレットを暗号化して `bolt.yaml` を生成し、環境作成コマンドを提示します。

主な機能

  1. 013つのブートストラップリポジトリを作成
  2. 02ブートストラップとdotfilesのシークレットを暗号化
  3. 03`bolt.yaml` を生成
  4. 04ドライランと任意のプッシュに対応
  5. 05bolt作成コマンドを出力

活用シーン

  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 ブートストラップスタック

何も設定されていない Quiver bolt を、個人用の開発環境に変える 3 層のブートストラップを設定します。このスキルは 3 つのリポジトリを構成して暗号化し、bolt.yaml を生成して、bolt を作成するための正確なコマンドを提示します。

Quiver の概要(エンドユーザー向け)

  • bolt は、永続的なホームディレクトリとワークスペースを備えた、Kubernetes 上で動作する一時的な Ubuntu コンテナーです。ブラウザーターミナル、VSCode、または kubectl からアクセスできます。
  • 新しい bolt には SSH キー、ドットファイル、コードがありません。3 層のブートストラップにより、3 つの git リポジトリと 1 つの age キーから起動時にそれらが提供されます。
  • ブートストラップリポジトリとドットファイルリポジトリは、再利用可能なペルソナを構成します。ワークスペースリポジトリは、タスクごとに差し替え可能な入力です。同じ入力から bolt を再構築すると、同じ環境が再現されます。
層リポジトリ公開範囲提供内容
1bootstrap公開SSH キー、SSH 設定、DOTFILES_KEY(age)
2dotfiles非公開dotbot のインストール、GPG で復号されたシークレット
3workspace非公開/workspace にクローンされたプロジェクトコード

ブートストラップリポジトリは公開されていますが、安全です。bootstrap.age のペイロードは age で暗号化され、ドットファイルリポジトリの secrets.gpg は GPG で暗号化されています。

前提条件

同梱のビルダーには、PATH 上に node、age、age-keygen、gpg、git、 ssh-keygen、tar が必要です。--push を追加する場合は gh も必要です。

まず事前チェックを実行し、不足しているものがあれば中止してください。

node scripts/build-stack.mjs --check

OS ごとのインストール方法:

  • 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(ssh と tar は Windows 10 以降に付属します。gh には winget install GitHub.cli を実行してください)

スタックを構築する

  1. ユーザーに入力内容を確認します。GitHub の組織またはユーザー、3 つのリポジトリ名 (デフォルトは bootstrap、dotfiles、workspace)、ログインシェル、および埋め込むシークレット環境変数です。値を選ぶ前に確認してください。

  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 を使って 3 つのリポジトリすべてを作成してプッシュし、生成された 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 は認証情報を使わずにクローンするため、このリポジトリは公開されている必要があります。
  • 非公開のドットファイルリポジトリとワークスペースリポジトリは、Layer 1 で提供されるキーを使って 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(または別のエージェント)を追加してください。

コメント