mcpField
C
configure-feature-flags

configure-feature-flags

github.com/laurigates開発5952 回インストール1 日前に更新
リポジトリ

configure-feature-flags について

OpenFeature に基づく機能フラグ基盤の設定と監査を支援するスキルです。プロジェクトの状態を調べ、SDK、プロバイダー、中継プロキシ、テストの設定を案内します。

主な機能

  1. 01言語とフラグプロバイダーの検出
  2. 02SDKとプロバイダー設定の監査
  3. 03SDKとプロバイダーの設定
  4. 04中継プロキシ基盤の構築
  5. 05インメモリテスト設定の作成
  6. 06確認のみと自動修正に対応

活用シーン

  1. 01機能フラグ設定の完全性評価
  2. 02新規プロジェクトへのOpenFeature導入
  3. 03GO Feature Flagまたはflagdの設定
  4. 04機能フラグの単体テスト準備

インストール

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

$npx skills add https://github.com/laurigates/claude-plugins --skill configure-feature-flags

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

同梱ファイルREFERENCE.md

詳細

/configure:feature-flags

プラグイン可能なプロバイダーを備えた OpenFeature 標準を使用して、フィーチャーフラグのインフラストラクチャを確認および設定します。

このスキルを使用する場合

次の場合にこのスキルを使用します...次の場合は別の方法を使用します...
新しいプロジェクトにフィーチャーフラグのインフラストラクチャを追加するYAML 内の個々のフラグ定義を作成または編集する
プロバイダー(GOFF、flagd、LaunchDarkly)を使って OpenFeature SDK をセットアップする特定のフラグ評価で予期しない値が返される原因をデバッグする
既存のフィーチャーフラグ設定に不足がないか監査するフィーチャーフラグを使用するアプリケーションロジックを記述する
リレープロキシのインフラストラクチャを設定する(Docker、Kubernetes)LaunchDarkly または Split のダッシュボード設定を管理する
フィーチャーフラグ用のテストヘルパーとメモリ内プロバイダーを追加するエラートラッキングを設定する(代わりに /configure:sentry を使用)

コンテキスト

  • Package JSON: !find . -maxdepth 1 -name \'package.json\'
  • Python プロジェクト: !find . -maxdepth 1 -name \'pyproject.toml\'
  • Go プロジェクト: !find . -maxdepth 1 -name \'go.mod\'
  • Cargo プロジェクト: !find . -maxdepth 1 -name \'Cargo.toml\'
  • OpenFeature SDK: !find . -maxdepth 1 \( -name package.json -o -name pyproject.toml -o -name Cargo.toml -o -name go.mod \) -exec grep -l 'openfeature' {} +
  • GOFF 設定: !find . -maxdepth 2 -name 'flags.goff.yaml' -o -name 'flags.goff.yml'
  • Docker compose: !find . -maxdepth 1 -name 'docker-compose*.yml' -o -name 'docker-compose*.yaml'
  • プロジェクト標準: !find . -maxdepth 1 -name \'.project-standards.yaml\'

パラメーター

$ARGUMENTS から解析します。

  • --check-only: 変更を加えずに準拠状況を報告します
  • --fix: 確認を求めずにすべての修正を自動適用します
  • --provider <provider>: プロバイダーの検出結果を上書きします(goff、flagd、launchdarkly、split)

バージョンの確認

重要: フィーチャーフラグを設定する前に、WebSearch または WebFetch を使用して SDK とプロバイダーの最新バージョンを確認します。

  1. OpenFeature JS SDK: npm を確認します
  2. OpenFeature Python SDK: PyPI を確認します
  3. GO Feature Flag: GitHub リリースを確認します
  4. flagd: GitHub リリースを確認します

実行

次のフィーチャーフラグ設定ワークフローを実行します。

ステップ 1: プロジェクトの言語と既存のセットアップを検出する

既存のフィーチャーフラグのインフラストラクチャを確認します。

指標言語検出されたプロバイダー
package.json 内の @openfeature/server-sdkNode.jsOpenFeature(プロバイダーを確認)
package.json 内の @openfeature/web-sdkブラウザー JSOpenFeature Web
package.json 内の @openfeature/react-sdkReactOpenFeature React
pyproject.toml 内の openfeature-sdkPythonOpenFeature Python
@openfeature/go-feature-flag-providerNode.jsGO Feature Flag
docker-compose 内の go-feature-flag-relay-proxy任意GO Feature Flag Relay
docker-compose/k8s 内の flagd任意flagd プロバイダー
ステップ 2: 現在の状態を分析する

フィーチャーフラグのセットアップが完全か確認します。

  1. プロジェクトの言語に対応する OpenFeature SDK がインストールされていることを確認します
  2. プロバイダーパッケージがインストールされていることを確認します
  3. アプリケーションの起動時にプロバイダーが初期化されていることを確認します
  4. 評価コンテキストの設定を確認します
  5. フック(ロギング、テレメトリー)が設定されていることを確認します
  6. GOFF の場合:フラグ設定ファイルが存在し、リレープロキシが設定されていることを確認します
  7. flagd の場合:コンテナー/サービスが設定され、gRPC/HTTP エンドポイントがあることを確認します
ステップ 3: 準拠レポートを生成する

書式付きの準拠レポートを出力します。

Feature Flag Compliance Report
==============================
Project: [name]
Language: [detected]
Provider: [detected or None]

OpenFeature SDK:    [status per check]
Provider Config:    [status per check]
Infrastructure:     [status per check]

Overall: [X issues found]
Recommendations: [list specific fixes]

--check-only が指定されている場合は、ここで終了します。

ステップ 4:SDK をインストールし、プロバイダーを設定する(--fix またはユーザーが確認した場合)

検出された言語に基づき、選択したプロバイダーとともに OpenFeature SDK をインストールして設定します。REFERENCE.md のコードテンプレートを使用します。

  1. OpenFeature SDK とプロバイダーパッケージをインストールする
  2. フィーチャーフラグのクライアントラッパーモジュールを作成する
  3. 評価コンテキストのヘルパーを作成する
  4. HTTP フレームワーク(Express、FastAPI など)向けのミドルウェアを作成する
ステップ 5:フラグ設定を作成する

一般的なパターンを網羅するサンプルフラグを含む flags.goff.yaml を作成します。

  • シンプルなブール値フラグ
  • パーセンテージロールアウト
  • 複数バリアントフラグ(A/B テスト)
  • 環境固有のフラグ
  • ユーザー固有のオーバーライド
  • スケジュールされたロールアウト

REFERENCE.md のフラグテンプレートを使用します。

ステップ 6:インフラストラクチャを設定する
  1. リレープロキシ用の docker-compose エントリを作成する(ローカル開発用)
  2. 必要に応じて、本番環境向けの Kubernetes マニフェストを作成する
ステップ 7:テスト設定を作成する

フィーチャーフラグの単体テストでインメモリプロバイダーを使用するテストファイルを作成します。

ステップ 8:標準の追跡情報を更新する

.project-standards.yaml を更新します。

components:
  feature_flags: "2025.1"
  feature_flags_sdk: "openfeature"
  feature_flags_provider: "[goff|flagd|launchdarkly]"
ステップ 9:完了レポートを出力する

SDK のインストール、プロバイダーの設定、フラグファイルの作成、次の手順(リレーの起動、アプリでの初期化、コードでのフラグの使用)など、行った変更をすべて要約して出力します。

詳細なコードテンプレート、フラグ設定のパターン、インフラストラクチャのマニフェストについては、REFERENCE.md を参照してください。

エージェント向けの最適化

コンテキストコマンド
コンプライアンスの簡易チェック/configure:feature-flags --check-only
GOFF プロバイダーで自動修正/configure:feature-flags --fix --provider goff
フラグ設定を検証goff lint --file flags.goff.yaml
リレープロキシの正常性を確認`curl -s http://localhost:1031/health
設定済みフラグを一覧表示`curl -s http://localhost:1031/v1/feature/flags
SDK のインストールを確認(JS)`jq -r '.dependencies

フラグ

フラグ説明
--check-only修正を提案せずにステータスを報告する
--fix確認を求めずにすべての修正を自動適用する
--provider <provider>プロバイダーの検出結果を上書きする(goff、flagd、launchdarkly、split)

例

# Check compliance and offer fixes
/configure:feature-flags

# Check only, no modifications
/configure:feature-flags --check-only

# Auto-fix with GO Feature Flag provider
/configure:feature-flags --fix --provider goff

# Configure for LaunchDarkly
/configure:feature-flags --fix --provider launchdarkly

エラー処理

  • パッケージマネージャーが見つからない場合:SDK をインストールできないため、手動での手順を提示する
  • プロバイダーがサポートされていない場合:サポート対象のプロバイダーを列挙し、代替案を提案する
  • リレープロキシに接続できない場合:Docker/K8s の設定を確認する
  • フラグの構文が無効な場合:デプロイ前に goff lint で検証する

関連項目

  • /configure:all - すべてのコンプライアンスチェックを実行する
  • /configure:sentry - エラー追跡(ロールバックのため、フィーチャーフラグと併用されることがよくあります)
  • OpenFeature のドキュメント:https://openfeature.dev
  • GO Feature Flag のドキュメント:https://gofeatureflag.org

コメント