mcpField
G
go-deploy

go-deploy

github.com/fudesign2008クラウド・DevOps680 回インストール今日更新
リポジトリ

go-deploy について

go-deployは、プロジェクト内のデプロイリンクを探して開くスキルです。案内ファイルがない場合はドキュメントや設定を調べ、複数のリンクがあれば選択を促します。デプロイの実行や状態確認は行いません。

主な機能

  1. 01docs/deploy.mdからリンクを読み取り
  2. 02プロジェクト内のデプロイURLを検索
  3. 03候補リンクの確認を依頼
  4. 04選択したリンクをブラウザーで開く

活用シーン

  1. 01プロジェクトのデプロイコンソールを開く
  2. 02案内ファイルがない場合にリンクを探す

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/fudesign2008/open-skills --skill go-deploy

インストール後、Claude Code で/go-deployを入力して読み込まれたか確認します。

詳細

Go Deploy — デプロイリンクを開く

トリガー

  • 「去部署」(デプロイへ)
  • 「部署平台」(デプロイプラットフォーム)
  • 「准备部署」(デプロイの準備)

トリガーされたら、1 つのアクションを実行します:デプロイプラットフォームのリンクを開く。デプロイの実行、ステータスの照会、ビルド操作は行いません。


フェーズ 1:docs/deploy.md を読み込む

  1. プロジェクトのルートに docs/deploy.md があるか確認します
  2. 存在する → フェーズ 3(リンクの解析)に進みます
  3. 存在しない → フェーズ 2(プロジェクトのスキャン)に進みます

フェーズ 2:プロジェクトをスキャンする

docs/deploy.md が存在しません。プロジェクトにはまだデプロイ情報が設定されていません。既存のドキュメントをスキャンして情報を自動抽出し、設定ファイルを生成することで、手動入力の負担を軽減します。

次のソースを優先順位の高い順にスキャンします(優先順位の高いソースは通常、プロジェクトのオーナーが管理しており、より信頼性が高いものです)。

優先順位ソーススキャンロジック
1AGENTS.md「部署」「deploy」「发布」を含むセクションを探し、URL を抽出します
2README.md上記と同じです
3scripts/ ディレクトリファイル名に deploy/open/publish が含まれるスクリプトを探し、URL 変数を読み取ります
4CI/CD 設定.github/workflows/*.yml、.gitlab-ci.yml、Jenkinsfile
5package.jsonscripts フィールド内の deploy/publish/release コマンド

リンクのフィルタリング:プロジェクトのドキュメントには、無関係な URL(依存関係のサイト、参考資料など)が多数含まれていることがあります。デプロイコンソールと思われる URL(deploy/console/cluster/release というキーワードを含むもの、または既知のプラットフォームのドメイン)のみを抽出します。重複を除外し、それぞれに出典を付記します。

スキャン結果の処理
  • 候補リンクが見つかった場合 → 候補をすべて(出典ファイルとともに)一覧表示し、どれが実際のデプロイリンクかユーザーに確認します(キーワードの照合には誤検出があるため、ユーザーに確認することで誤った情報の書き込みを防ぎます)→ 確認後、docs/deploy.md を生成します(以下の形式を参照)→ フェーズ 3 に進みます
  • 候補リンクが見つからなかった場合 → 次のプロンプトを出力します:
No deployment-related information found in the project.

Please provide the following and I'll create docs/deploy.md:
1. Deployment link URL (required)
2. Deployment platform name (optional, e.g. "Vercel", "Internal Deploy Platform")
3. Brief description (optional)

If the project has multiple deployment links, list them separately.

ユーザーから情報が提供された後、docs/deploy.md を生成し、フェーズ 3 に進みます。


フェーズ 3:リンクを解析する

docs/deploy.md からデプロイリンクを抽出します。

  1. ## レベル 2 の見出しをすべて探します(各見出しが 1 つのデプロイ先を表します)
  2. 各見出しの下で、**Link**:、**链接**:、**URL**: で始まる行を探し、URL を抽出します
  3. 必要に応じて **Platform**:/**平台**: と **Description**:/**说明**: の行も読み取ります
  4. リンク一覧にまとめます

エラー処理:docs/deploy.md は存在するもののリンクの行が見つからない場合 → 形式が規約に一致しないことを通知し、フェーズ 2(スキャン)に進みます。URL が http:// または https:// で始まらない場合 → スキップして警告します。


フェーズ 4:リンクを選択する

  • リンクが 1 つだけの場合 → そのままフェーズ 5 に進みます
  • リンクが複数ある場合 → すべて一覧表示し、ユーザーに選択してもらいます(以前の選択を記憶せず、毎回確認します):
Detected the following deployment links:

1. <first ## heading>
2. <second ## heading>

Enter the number of the link to open:

フェーズ 5:リンクを開く

OS に適したコマンドを実行します:

# macOS
open "<URL>"
# Linux
xdg-open "<URL>"
# Windows (Git Bash / MSYS2 / Cygwin)
cmd.exe /c start "" "<URL>"

フォールバック:ブラウザーで開けない場合、またはコマンドが失敗した場合 → URL を直接出力し、手動でコピーするようユーザーに促します。リンクを開いた後、次のように伝えます:「開きました:<link name>」。


docs/deploy.md の形式規約

各デプロイ先を ## レベル 2 の見出しにします。その下に URL を記載する **Link**: 行(必須)を含むリストを記述します。**Platform**: と **Description**: は任意です。生成時に docs/ ディレクトリが存在しない場合は作成します。

例:

# Deployment

## Production

- **Platform**: Internal Deploy Platform
- **Link**: https://deploy.example.com/console/my-project
- **Description**: Main deployment entry — view cluster status, release new versions

## Staging

- **Link**: https://pre-deploy.example.com/my-project

コメント