Bucket
官方使用 Bucket 標記功能、管理公司資料,並控制功能存取權限。
你可以用 Bucket MCP 做什麼?
- 初始化專案設定 — 請助理執行
reflag init來建立包含您的應用程式 ID 與設定的reflag.config.json。 - 建立功能旗標 — 請助理執行
reflag flags create "My Flag"來新增旗標,並可選擇自訂鍵值與格式。 - 產生 TypeScript 型別 — 請助理執行
reflag flags types來為 React 或 Node 產生型別安全的旗標定義。 - 列出既有旗標 — 指示助理執行
reflag flags list來檢視目前應用程式所設定的所有旗標。 - 設定 AI 助理規則 — 請助理執行以新增 Reflag 的 Cursor 或 Copilot 內容規則。
- 設定 MCP 連線 — 請助理執行以將您的編輯器連線至遠端 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 - 環境變數:使用
REFLAG_API_KEY取代BUCKET_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
設定
當您執行 reflag init 時,CLI 會在專案目錄中建立 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 " |
baseUrl | Reflag 服務的基礎 URL。 | " https://app.reflag.com " |
apiUrl | Reflag 服務的 API URL(覆寫 API 呼叫的 baseUrl)。 | " https://app.reflag.com/api " |
appId | 您的 Reflag 應用程式 ID。 | 必填 |
typesOutput | 產生 TypeScript 型別的路徑。可以是字串或包含 path 和 format 屬性的物件陣列。可用格式: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、旗標建立和型別產生於單一步驟。這是開始使用 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)。
如果您希望對每個步驟有更多控制,可以改用個別指令(init、flags create、flags 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/rules/reflag.mdc以整合 Cursor IDE。copilot:將規則新增至.github/copilot-instructions.md以整合 GitHub Copilot。
--yes:跳過確認提示,直接覆寫現有檔案而不詢問。
此指令會將規則新增至您的專案,為 AI 工具提供如何設定和使用 Reflag 旗標的相關背景資訊。對於 copilot 格式,規則會新增至檔案中的專用區段,讓您可以在 Reflag 規則之外維護其他 copilot 指令。
Model Context Protocol
Model Context Protocol (MCP) 是一個開放式協定,提供標準化方式將 AI 模型連接到不同的資料來源和工具。在 Reflag 的脈絡中,MCP 讓您的程式碼編輯器了解您的旗標、其狀態及其在程式碼庫中的關聯。這在您的旗標管理工作流程與 AI 驅動的開發工具之間建立了無縫橋樑。MCP 伺服器由 Reflag 託管,讓您輕鬆上手。
**注意:Reflag 的 mcp CLI 指令先前用於 _local 伺服器。然而,在 Reflag CLI 的近期版本中,mcp 指令已被重新定位為協助您連接到新的遠端 MCP 伺服器。**_
設定 MCP
mcp 指令可協助您設定編輯器或 AI 用戶端,以連接到 Reflag 的遠端 MCP 伺服器。這可讓您的 AI 工具了解您的旗標並提供更具情境的協助。
npx reflag mcp [--editor <editor>] [--scope <local|global>]
選項:
--editor:要設定的編輯器/用戶端:cursor: Cursor IDEvscode: Visual Studio Codeclaude: Claude Desktopwindsurf: Windsurf
--scope:設定為全域或僅限專案本機。
此指令將引導您完成:
- 選擇要設定的編輯器/用戶端。
- 選擇要連接的 Reflag 應用程式。
- 決定使用全域或專案本機設定。
- 為您選擇的編輯器設定適當的設定檔。
注意:此設定使用 mcp-remote 作為相容性層,讓遠端託管的 Reflag MCP 伺服器可與所有支援 MCP STDIO 伺服器的編輯器/用戶端搭配運作。如果您的編輯器/用戶端支援 HTTP Streaming 搭配 OAuth,您可以直接連接到 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 金鑰僅綁定一個應用程式。諸如
apps list等指令只會傳回綁定的應用程式 - 使用 CI/CD 平台的密鑰管理功能安全地儲存 API 金鑰
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