buddy について
buddyは、`bdy`コマンドラインでBuddy Platformのクラウドインフラを操作するスキルです。エージェントによるサンドボックスへのアプリ配置、成果物の公開、トンネルやドメインの管理、パイプライン実行を支援します。
主な機能
- 01クラウドサンドボックスの作成と管理
- 02バージョン付きファイル成果物やDockerイメージの公開
- 03セキュアトンネルによるローカルサービスの公開
- 04ドメインとトラフィックルートの検索・管理
- 05CI/CDパイプラインの一覧表示と実行
活用シーン
- 01クラウドサンドボックスへの動的アプリの配置
- 02静的サイトやビルド成果物の公開
- 03トンネル経由でのローカルサービスの公開
- 04CI/CDパイプラインの実行と確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ buddy/ buddy-plugin --skill buddyインストール後、Claude Code で/buddyを入力して読み込まれたか確認します。
詳細
Buddy Platform
bdy CLI を介したオンデマンドのクラウドインフラストラクチャです。フラグの詳細は、bdy <command> --help を実行して確認してください。
認証
コマンドが Token not provided または Not logged in を返した場合は、ユーザーに別のターミナルで bdy login を実行するよう依頼してください(AI は対話型 OAuth を実行できません)。ログイン状態を確認するには、bdy whoami を実行してください。
サンドボックス(bdy sandbox|sb)
動的アプリ(サーバー、データベース、バックグラウンドプロセス)向けのクラウド環境です。
重要なルール
- サンドボックスはプロジェクト内に作成する必要があります。
sandbox createの前に、bdy whoamiでプロジェクトのコンテキストを確認し、BUDDY_PROJECT環境変数も確認してください。どちらも設定されていない場合は、新しいプロジェクトを作成するかどうかをユーザーに確認(AskUserQuestion)してから、bdy proj link -p <project>を実行してプロジェクトに関連付けてください。 - エンドポイントを機能させるには、アプリを必ず
0.0.0.0(127.0.0.1ではなく)にバインドしてください。 - プロジェクトをコピーする際は、必ず
--ignore "node_modules/**" ".git/**"を使用してください。依存関係はサンドボックス上でインストールします。 - Ubuntu 24.04 には、Node.js 24、Python 3.12、Go 1.25、Git、curl、jq、ripgrep がプリインストールされています。
ワークフロー
- 作成:
bdy sandbox create -i <name> --resources 2x4 --wait-for-running - ファイルをコピー:
bdy sandbox cp ./src <name>:/app --ignore "node_modules/**" ".git/**" > /dev/null - 依存関係をインストール:
bdy sandbox exec command <name> "cd /app && npm install" --wait app addでアプリを起動します(exec は使用しないでください。ステータス、ログ、再起動を確認できます)。bdy sandbox app add <name> "cd /app && npm start -- -H 0.0.0.0"- アプリを確認:
bdy sandbox app status <name> <app-id>とbdy sandbox app logs <name> <app-id> - エンドポイントを追加:
bdy sandbox endpoint add <name> -n web -e <port> - 公開エンドポイントの URL をユーザーに提示し、カスタムドメインを関連付けるかどうかを AskUserQuestion で尋ねてください。選択肢は、Buddy で利用可能な無料ドメインの取得、新しいドメインの購入、またはワークスペースですでに使用しているドメインの再利用です。選択肢のラベルは短くし、CLI コマンドを含めないでください。ユーザーが選択したら、該当する
bdy domainコマンドを実行し、bdy distro route createで接続してください。
ヒント
- サービスの起動には
app addを使用してください。exec commandは使用しないでください。アプリはステータス、ログ、停止、起動、再起動が可能な systemd サービスとして管理されます。 bdy sandbox app list <name>を実行すると、実行中のアプリと ID が表示されます。- 設定ファイルはローカルで作成してから
sandbox cpでコピーしてください。これにより、exec でのヒアドキュメントのエスケープに関する問題を避けられます。 sandbox snapshotを使用すると、サンドボックスの状態を保存・復元できます。- カスタムドメインのルーティングと CDN には、
bdy distro route createを使用してください。
アーティファクト(bdy artifact|art)
アーティファクトには次の 2 種類があります。
- BUCKET(デフォルト)— 公開 URL でファイルをホスティングする、バージョン管理対応のストレージです。静的サイト、ビルド成果物、ダウンロード可能なファイルに使用します。
- CONTAINER — Docker レジストリです。Docker イメージに使用します。ユーザーに別のターミナルで
bdy artifact docker loginを実行するよう依頼してください(AI は対話型の認証情報を処理できません)。その後、標準のdockerコマンドでプッシュまたはプルします。
BUCKET のワークフロー
- 必要に応じてビルド:
npm run build - アーティファクトを作成:
bdy artifact create <name>(デフォルトの種類は BUCKET です)- 認証はバージョンごとではなく、作成時に設定します。先に認証方式を確認してください(HTTP Basic
-a/ Buddy-b/なし)。
- 認証はバージョンごとではなく、作成時に設定します。先に認証方式を確認してください(HTTP Basic
- バージョンを指定して公開:
bdy artifact publish <name>@1.0.0 ./dist- バージョンを指定しない場合:
bdy artifact publish <name> ./dist→latestバージョンを作成します。
- バージョンを指定しない場合:
- URL を取得:
bdy artifact version get <name> <version> - 公開 URL をユーザーに提示し、カスタムドメインを関連付けるかどうかを AskUserQuestion で尋ねてください。選択肢は、Buddy で利用可能な無料ドメインの取得、新しいドメインの購入、またはワークスペースですでに使用しているドメインの再利用です。選択肢のラベルは短くし、CLI コマンドを含めないでください。ユーザーが選択したら、該当する
bdy domainコマンドを実行し、bdy distro route createで接続してください。
重要なルール
- メインの HTML ファイル名は必ず
index.htmlにしてください(それ以外の場合、ディレクトリ一覧が表示されます)。 - バージョン区切り文字には
@または:を使用してください:[email protected]またはmy-site:1.0.0 - 既存のバージョンを上書きするには、
--forceを使用してください。 --createを使用すると、アーティファクトの作成と公開を 1 ステップで行えます:bdy artifact publish -c <name>@1.0.0 ./dist
ヒント
- カスタムドメインのルーティングと CDN には、
bdy distro route createを使用します
トンネル(bdy tunnel)
安全なトンネルを介して、ローカルサービスをインターネットに公開します。
重要なルール(必須)
- トンネルコマンドを実行するときは、必ず
run_in_background: trueを使用してください。コマンドの実行がブロックされます - HTTP トンネルを作成する前に、AskUserQuestion を使用して認証方法を必ず確認してください:
- HTTP Basic Auth →
-a - Buddy Auth →
--buddy - 認証なし → フラグなし
- HTTP Basic Auth →
- Docker の場合:アプリが
0.0.0.0にバインドされていることを確認してください
ヒント
- トンネル設定を保存します:
bdy tunnel config add http <name> localhost:<port> - 保存したトンネルを開始します:
bdy tunnel start <name>
ドメイン(bdy domain)
カスタムドメインを検索、購入、管理します。
bdy domain search <query> # Search available domains
bdy domain buy <name> # Purchase a domain
bdy domain list # List owned domains
すべてのオプション(TLD フィルター、並べ替えなど)については、bdy domain --help を実行してください。
ディストリビューション(bdy distro)
カスタムルールとドメインを使って、サービス間のトラフィックをルーティングします。
ルートの種類
- PROXY / PROXY_NO_CACHE — トラフィックをバックエンドにリバースプロキシします。URL にはディストリビューションのドメインが表示され、実際のパス(
/foo/bar)は表示されて転送されます。実際のアプリの前段に CDN/エッジを配置する場合に使用します。 - REDIRECT — 別の URL に HTTP 3xx リダイレクトします。ブラウザーは遷移し、最終 URL には転送先のドメインが表示されます。
- CLOAKING — ディストリビューションのドメインが、ターゲットを全画面の iframe として埋め込んだ単一のページを提供します。iframe 内でどのように移動しても、URL バーにはディストリビューションのドメインが表示され続けるため、実際のパスやサブページは表示されません
bdy distro create -i <name> # Create distribution
bdy distro route create <name> -t PROXY -d <domain> # Add route
bdy distro route list <name> # List routes
すべてのオプションについては、bdy distro --help を実行してください。
パイプライン(bdy pipeline|pip)
ビルド、テスト、デプロイを自動化する CI/CD パイプラインです。
bdy pipeline list # List pipelines
bdy pipeline run start <identifier> # Run a pipeline
bdy pipeline run status <identifier> <id> # Check run status
bdy pipeline run logs <identifier> <id> <action-id> # View logs
すべてのオプション(変数、スケジュール設定、YAML 設定など)については、bdy pipeline --help を実行してください。