mcpField
L
launch-sync-environment-variables-from-env-example

launch-sync-environment-variables-from-env-example

github.com/contentstackクラウド・DevOps584 回インストール1 週間前に更新
リポジトリ

launch-sync-environment-variables-from-env-example について

このスキルは、ローカルの `.env.example` と Contentstack Launch環境の変数キーを比較し、不足分を追加します。デプロイ設定を揃えたいチーム向けで、値を開示せずに変更を報告します。

主な機能

  1. 01`.env.example`から変数名を解析
  2. 02Launchのプロジェクト環境変数を取得
  3. 03Launchで不足するキーを特定
  4. 04不足キーのみをパッチで追加
  5. 05値を開示せず変更を報告

活用シーン

  1. 01デプロイ前にLaunchの変数を監査
  2. 02ローカルの例ファイルを基に環境変数を補完

インストール

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

$npx skills add https://github.com/contentstack/contentstack-agent-skills --skill launch-sync-environment-variables-from-env-example

インストール後、Claude Code で/launch-sync-environment-variables-from-env-exampleを入力して読み込まれたか確認します。

詳細

.env.example から Launch 環境変数を同期する

説明

Contentstack Launch プロジェクトから環境変数を取得し、ローカルの .env.example ファイルと比較して、不足しているキーを追加するよう対象環境にパッチを適用します。

使用する場面

Launch 環境のキーをローカルの .env.example ファイルで定義されたキーと一致させる必要がある場合に使用します。 デプロイ前に不足している環境変数を監査する場合に使用します。 設定を手動で編集せずに、Launch 環境へ不足している変数名を追加する場合に使用します。

ユーザーの課題

Launch 環境とフロントエンドプロジェクトが想定する変数との間にずれが生じることがあります。このスキルは環境を .env.example と照合し、キーが不足している場合は Launch を更新します。

成功条件

.env.example にあるすべてのキーが対象の Launch 環境に存在します。 不足しているキーが Launch Projects/Environments API を通じて追加されます。 スクリプトは不足していた内容と更新内容を報告します。 ログにシークレットは出力されません。

想定される入力

  • Launch プロジェクト UID
  • Launch 環境 UID
  • ローカルの .env.example ファイルへのパス
  • Launch API 認証情報または認証済みコンテキスト
  • オプション:ドライランフラグ

想定される出力

  • .env.example で見つかったキーの一覧
  • Launch にすでに存在するキーの一覧
  • パッチが適用された不足キーの一覧
  • 実行した API 呼び出しの概要
  • 成功または失敗を示す終了コード

ユーザーからの依頼例

  • .env.example から Launch 環境変数を同期する Node.js スクリプトを生成してください。
  • Launch 環境変数を .env.example と比較して、不足しているキーを追加してください。
  • プロジェクト abc123 と環境 dev456 の不足している Launch 環境変数にパッチを適用するスクリプトを書いてください。

ワークフローの概要

ローカルの .env.example ファイルを読み取り、解析します。 対象の Launch 環境と現在の変数を取得します。 ファイル内のキーを Launch のキーと比較します。 不足しているキーのみを含む最小限のパッチペイロードを作成します。 PATCH /projects/{project_uid}/environments/{environment_uid} を呼び出します。 値を漏らさずに変更内容を報告して終了します。

手順

入力の解析

ローカルの .env.example ファイルを読み取り、変数名を抽出します。コメント、空行、不正な形式のエントリは無視します。

Launch の状態を取得

Launch API を使用して対象のプロジェクトと環境を取得し、現在の環境変数を読み取ります。

キーを比較

.env.example のキーを Launch のキーと比較します。ユーザーが既存の値の更新を明示的に求めている場合を除き、不足しているキーのみを特定します。

環境にパッチを適用

不足しているキーを追加するために必要な最小限の更新内容で、PATCH /projects/{project_uid}/environments/{environment_uid} を呼び出します。

結果を報告

不足しているキー、パッチが適用されたキー、エラーの概要を簡潔に返します。シークレット値やトークンは決して出力しません。

出力形式

機械可読な簡潔な概要を使用します。 Launch またはローカルファイルのシークレット値は出力しません。 不足しているキーと更新されたキーを分けて表示します。 概要にはプロジェクト UID と環境 UID を含めます。 ドライランモードで実行する場合は、変更が行われていないことを明確に示します。

ツールに関する注意事項

Launch API と Projects/Environments エンドポイントを使用します。 パッチを適用する前に、プロジェクト UID と環境 UID を検証します。 デプロイトークンや環境のシークレットをログに記録しないようにします。 可能な限り小さい PATCH ペイロードを使用します。 API が検証エラーを返した場合は、むやみに再試行せず、エラーを提示します。

セキュリティ

デフォルト設定

デプロイトークンや環境のシークレットを決して漏らしません。 パッチを適用する前に、プロジェクトと環境の対象を検証します。 ログや出力に変数の値を表示しません。 変更を加える前に、ユーザーの明示的な意思を確認します。 ユーザーが変更の適用を求めていない限り、ドライランを優先します。

破壊的な操作

Launch の設定を変更する PATCH は、破壊的な外部操作として扱います。変更を適用する前に、対象のプロジェクトと環境を確認します。ユーザーが明示的に求めていない限り、不足しているキー以外に更新範囲を広げません。

シークレット

.env.example または Launch のシークレット値を決して開示しないでください。ログにはキー名と件数のみを記録してください。すべての出力で、トークン、API キー、環境変数の値をマスキングしてください。

環境変数

認証と対象の選択に必要な場合に限り、環境変数を読み取ってください。環境変数の値を決して出力しないでください。シークレットを開示せず、比較のみを目的として、ローカルの .env.example を読み込めるようにしてください。

製品コンテキスト

    • 製品:Launch
    • 説明:Contentstack Launch:Contentstack を活用したフロントエンド向けのホスティング、デプロイ、エッジ配信、サーバーレス関数、環境管理、CI/CD を提供します。
    • 製品の安全ルール: - デプロイトークンや環境シークレットを決して公開しないでください。
  • トリガーする前にデプロイ先を検証してください。
  • 本番環境へのデプロイには確認を必須としてください。
  • レビューなしで本番環境へ自動デプロイしないでください。
    • デフォルトのツール:["Launch API", "Projects", "Environments", "Deployments", "Serverless Functions", "Edge Delivery", "Custom Domains"]
    • デフォルトのコネクター:["Launch Proxy", "GitHub", "CI/CD Pipelines"]

コメント