mcpField
B
buddy

buddy

github.com/buddyクラウド・DevOps201.5k 回インストール14 週間前に更新
リポジトリ

buddy について

buddyは、`bdy`コマンドラインでBuddy Platformのクラウドインフラを操作するスキルです。エージェントによるサンドボックスへのアプリ配置、成果物の公開、トンネルやドメインの管理、パイプライン実行を支援します。

主な機能

  1. 01クラウドサンドボックスの作成と管理
  2. 02バージョン付きファイル成果物やDockerイメージの公開
  3. 03セキュアトンネルによるローカルサービスの公開
  4. 04ドメインとトラフィックルートの検索・管理
  5. 05CI/CDパイプラインの一覧表示と実行

活用シーン

  1. 01クラウドサンドボックスへの動的アプリの配置
  2. 02静的サイトやビルド成果物の公開
  3. 03トンネル経由でのローカルサービスの公開
  4. 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 がプリインストールされています。
ワークフロー
  1. 作成:bdy sandbox create -i <name> --resources 2x4 --wait-for-running
  2. ファイルをコピー:bdy sandbox cp ./src <name>:/app --ignore "node_modules/**" ".git/**" > /dev/null
  3. 依存関係をインストール:bdy sandbox exec command <name> "cd /app && npm install" --wait
  4. app add でアプリを起動します(exec は使用しないでください。ステータス、ログ、再起動を確認できます)。 bdy sandbox app add <name> "cd /app && npm start -- -H 0.0.0.0"
  5. アプリを確認:bdy sandbox app status <name> <app-id> と bdy sandbox app logs <name> <app-id>
  6. エンドポイントを追加:bdy sandbox endpoint add <name> -n web -e <port>
  7. 公開エンドポイントの 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 のワークフロー
  1. 必要に応じてビルド:npm run build
  2. アーティファクトを作成:bdy artifact create <name>(デフォルトの種類は BUCKET です)
    • 認証はバージョンごとではなく、作成時に設定します。先に認証方式を確認してください(HTTP Basic -a / Buddy -b /なし)。
  3. バージョンを指定して公開:bdy artifact publish <name>@1.0.0 ./dist
    • バージョンを指定しない場合:bdy artifact publish <name> ./dist → latest バージョンを作成します。
  4. URL を取得:bdy artifact version get <name> <version>
  5. 公開 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
    • 認証なし → フラグなし
  • 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 を実行してください。

コメント