Bucket

公式

フラグ機能を管理し、会社データを操作し、Bucketを使用して機能アクセスを制御します。

Bucket MCPで何ができますか?

  • Initialize project setup — アシスタントに reflag init を実行してもらい、アプリIDと設定を含む reflag.config.json を作成します。
  • Create feature flags — アシスタントに reflag flags create "My Flag" を実行してもらい、オプションのカスタムキーと形式を指定して新しいフラグを追加します。
  • Generate TypeScript types — アシスタントに reflag flags types を実行してもらい、React または Node 用の型安全なフラグ定義を生成します。
  • List existing flags — アシスタントに reflag flags list を実行するよう指示し、現在のアプリに設定されているすべてのフラグを表示します。
  • Configure AI assistant rules — アシスタントに実行してもらい、Cursor または Copilot 用の Reflag コンテキストルールを追加します。
  • Set up MCP connection — アシスタントに実行してもらい、エディタをリモートの Reflag MCP サーバーに接続します。

ドキュメント

Reflag CLI

Reflagサービスと対話するためのコマンドラインインターフェースです。このCLIを使用すると、アプリ、フラグ、認証の管理、およびReflagフラグ用のTypeScript型の生成が可能になります。このツールを使えば、ターミナルから直接フラグ管理ワークフローを効率化できます。

インストール

CLIをプロジェクトの開発依存関係としてインストールします:

# npm
npm install --save-dev @reflag/cli

# yarn
yarn add --dev @reflag/cli

プロジェクトのルートディレクトリからnewコマンドを実行すると、CLIの初期化、フラグの作成、TypeScript型の生成を一度に行えます:

# npm
npx reflag new

# yarn
yarn reflag new

Bucket SDKからの移行

Bucket CLIから移行する場合、注意すべき主な変更点は次のとおりです:

  • コマンド名: bucketからreflagに変更
  • 型定義ファイル: features.d.tsからflags.d.tsに名称変更(以前のファイルがコミットされている場合は手動で削除)
  • 認証ファイル: .bucket-authから.reflag-authに変更(以前のファイルは名前を変更するか削除)
  • 設定ファイル: bucket.config.jsonからreflag.config.jsonに変更(以前のファイルは名前を変更するか削除)
  • コマンド: featuresコマンドは現在flagsです
  • 環境変数: BUCKET_API_KEYの代わりにREFLAG_API_KEYを使用

重要: スクリプト、ビルド手順、.gitignoreパターンをこれらの変更に合わせて更新してください。

個別コマンド

より細かく制御するには、各コマンドを個別に実行できます:

# Initialize Reflag in your project (if not already setup)
npx reflag init

# Create a new flag
npx reflag flags create "My Flag"

# Generate TypeScript types for your flags
npx reflag flags types

設定

CLIは、reflag initを実行するとプロジェクトディレクトリにreflag.config.jsonファイルを作成します。このファイルには、Reflag統合に必要なすべての設定が含まれています。

設定ファイルの構造

reflag.config.jsonファイルで利用可能なすべての設定オプションは次のとおりです:

{
  "$schema": "https://unpkg.com/@reflag/cli@latest/schema.json",
  "baseUrl": "https://app.reflag.com",
  "apiUrl": "https://app.reflag.com/api",
  "appId": "ap123456789",
  "typesOutput": [
    {
      "path": "gen/flags.d.ts",
      "format": "react"
    }
  ]
}
オプション説明デフォルト
$schema設定の自動補完。latestは特定のバージョンに置き換えられます。" https://unpkg.com/@reflag/cli@latest/schema.json "
baseUrlReflagサービスのベースURL。" https://app.reflag.com "
apiUrlReflagサービスのAPI URL(baseUrlを上書きしてAPI呼び出しに使用)。" https://app.reflag.com/api "
appIdあなたのReflagアプリケーションID。必須
typesOutputTypeScript型が生成されるパス。文字列、またはpathformatプロパティを持つオブジェクトの配列を指定できます。利用可能な形式: reactおよびnode"gen/flags.ts"、形式は"react"

これらの設定は、個々のコマンドでコマンドラインオプションを使用して上書きできます。

コマンド

reflag init

プロジェクトに新しいReflag設定を初期化します。設定を含むreflag.config.jsonファイルを作成し、オプションで提供されていない必要な情報をプロンプトで尋ねます。

npx reflag init [--overwrite]

オプション:

  • --overwrite: 既存の設定ファイルがある場合に上書きします。
  • --app-id <id>: アプリケーションIDを設定します。
  • --key-format <format>: フラグのキー形式を設定します。

reflag new [flagName]

すぐに始めるためのオールインワンコマンドです。このコマンドは、init、フラグ作成、型生成を1つのステップで組み合わせます。Reflagを最短で使い始める方法です。

npx reflag new "My Flag" [--app-id ap123456789] [--key my-flag]  [--key-format custom] [--out gen/flags.ts] [--format react]

オプション:

  • --key: フラグの特定のキー。
  • --app-id: 使用するアプリID。
  • --key-format: フラグキーの形式(custom、snake、camelなど)。
  • --out: TypeScript型を生成するパス。
  • --format: 生成される型の形式(reactまたはnode)。

各ステップをより細かく制御したい場合は、個別コマンド(initflags createflags types)を代わりに使用できます。

reflag login

Reflagアカウントで認証します。認証情報は以降の操作のために安全に保存されます。

npx reflag login

reflag logout

Reflagアカウントからサインアウトし、保存された認証情報を削除します。

npx reflag logout

reflag flags

以下のサブコマンドでReflagフラグを管理します:

reflag flags create [flagName]

Reflagアプリに新しいフラグを作成します。オプションが提供されていない場合、このコマンドはインタラクティブなプロンプトでフラグ作成プロセスを案内します。

npx reflag flags create "My Flag" [--app-id ap123456789] [--key my-flag] [--key-format custom]

オプション:

  • --key: フラグの特定のキー。
  • --app-id: 使用するアプリID。
  • --key-format: フラグキーの形式。

reflag flags list

現在のアプリのすべてのフラグを一覧表示します。利用可能なフラグとその現在の設定を把握するのに役立ちます。

npx reflag flags list [--app-id ap123456789]

オプション:

  • --app-id: 使用するアプリID。

reflag flags types

フラグのTypeScript型を生成します。TypeScript/JavaScriptアプリケーションでReflagフラグを使用する際の型安全性を保証します。

npx reflag flags types [--app-id ap123456789] [--out gen/flags.ts] [--format react]

オプション:

  • --app-id: 使用するアプリID。
  • --out: TypeScript型を生成するパス。
  • --format: 生成される型の形式(reactまたはnode)。

reflag apps

Reflagアプリを管理するためのコマンド。

グローバルオプション

これらのオプションは任意のコマンドで使用できます:

  • --debug: 詳細出力のデバッグモードを有効にします。
  • --base-url <url>: Reflag APIのベースURLを設定します。
  • --api-url <url>: API URLを直接設定します(ベースURLを上書き)。
  • --api-key <key>: 非対話型認証用のReflag APIキー。
  • --help: コマンドのヘルプ情報を表示します。

AI支援開発

Reflagは、ルールとModel Context Protocol(MCP)を通じて強力なAI支援開発機能を提供します。これらの機能により、AI開発ツールがフラグをよりよく理解し、より正確な支援を提供できるようになります。

rulesコマンドは、プロジェクトにAI固有のルールを設定するのに役立ちます。これらのルールにより、AIツールはReflagフラグの操作方法と、コードベースでの使用方法をよりよく理解できます。

npx reflag rules [--format <cursor|copilot>] [--yes]

オプション:

  • --format: ルールを追加する形式:
    • cursor: Cursor IDE統合のために.cursor/rules/reflag.mdcにルールを追加します。
      • copilot: GitHub Copilot統合のために.github/copilot-instructions.mdにルールを追加します。
  • --yes: 確認プロンプトをスキップし、既存ファイルを確認なしで上書きします。

このコマンドは、AIツールにReflagフラグの設定と使用方法に関するコンテキストを提供するルールをプロジェクトに追加します。copilot形式の場合、ルールはファイル内の専用セクションに追加されるため、Reflagのルールとともに他のcopilot指示を維持できます。

Model Context Protocol

Model Context Protocol(MCP)は、AIモデルをさまざまなデータソースやツールに接続する標準化された方法を提供するオープンプロトコルです。Reflagのコンテキストでは、MCPによりコードエディタがフラグ、その状態、およびコードベース内での関係を理解できるようになります。これにより、フラグ管理ワークフローとAI搭載開発ツールの間にシームレスな橋渡しが生まれます。MCPサーバーはReflagによってホストされているため、簡単に始められます。

**注: ReflagのmcpCLIコマンドは以前、_localサーバーに使用されていました。ただし、Reflag CLIの最近のバージョンでは、mcpコマンドは新しいリモートMCPサーバーへの接続を支援するために再利用されています。***

MCPの設定

mcpコマンドは、エディタまたはAIクライアントをReflagのリモートMCPサーバーに接続するように設定するのに役立ちます。これにより、AIツールがフラグを理解し、より文脈に沿った支援を提供できるようになります。

npx reflag mcp [--editor <editor>] [--scope <local|global>]

オプション:

  • --editor: 設定するエディタ/クライアント:
  • --scope: 設定をグローバルに適用するか、プロジェクトローカルに適用するか。

このコマンドは次の手順を案内します:

  1. 設定するエディタ/クライアントを選択します。
  2. 接続するReflagアプリを選択します。
  3. グローバル設定かプロジェクトローカル設定かを選択します。
  4. 選択したエディタに適切な設定ファイルを設定します。

注: セットアップではmcp-remoteを互換レイヤーとして使用し、リモートでホストされたReflag MCPサーバーがMCP STDIOサーバーをサポートするすべてのエディタ/クライアントで動作できるようにします。エディタ/クライアントがOAuth付きのHTTP Streamingをサポートしている場合は、Reflag MCPサーバーに直接接続できます。

CI/CDパイプラインでの使用

Reflag CLIはCI/CDパイプラインでシームレスに動作するように設計されています。インタラクティブなログインが不可能な自動環境では、--api-keyオプションを使用するか、REFLAG_API_KEY環境変数でAPIキーを指定します。

# Generate types in CI/CD
npx reflag apps list --api-key $REFLAG_API_KEY

重要な制限:

  • --api-keyを使用する場合、loginおよびlogoutコマンドは無効になります
  • APIキーはすべてのインタラクティブな認証フローをバイパスします
  • APIキーは1つのアプリにのみバインドされます。apps listなどのコマンドはバインドされたアプリのみを返します
  • APIキーはCI/CDプラットフォームのシークレット管理を使用して安全に保存してください

CIワークフローの例:

# GitHub Actions example
- name: Generate types
  run: npx reflag flags types --api-key ${{ secrets.REFLAG_API_KEY }}

# GitHub Actions example (using environment):
- name: Generate types (environment)
  run: npx reflag flags types
  env:
    REFLAG_API_KEY: ${{ secrets.REFLAG_CI_API_KEY }}

開発

# Build the CLI
yarn build

# Run the CLI locally
yarn reflag [command]

# Lint and format code
yarn lint
yarn format

要件

  • Node.js >=18.0.0

ライセンス

MIT License Copyright (c) 2025 Bucket ApS