Bucket MCP Server
官方使用 Bucket 標記功能、管理公司資料,並控制功能存取權限。
文件
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 模式以反映這些變更。
個別命令
如需更多控制,您可以個別執行每個命令:
在您的專案中初始化 Reflag(如果尚未設定)
npx reflag init
建立新旗標
npx reflag flags create "My Flag"
為您的旗標產生 TypeScript 型別
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 透過規則和模型上下文協定 (MCP) 提供強大的 AI 輔助開發功能。這些功能可協助您的 AI 開發工具更了解您的旗標,並提供更準確的協助。
Reflag 規則(建議使用)
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 指令。
模型上下文協定
模型上下文協定 (MCP) 是一種開放協定,提供將 AI 模型連接到不同資料來源和工具的標準化方式。在 Reflag 的上下文中,MCP 讓您的程式碼編輯器能夠了解您的旗標、其狀態以及在程式碼庫中的關係。這在您的旗標管理工作流程和 AI 驅動的開發工具之間建立了無縫橋樑。MCP 伺服器由 Reflag 託管,讓您輕鬆入門。
**注意:Reflag mcp CLI 命令先前用於 本地 伺服器。然而,在 Reflag CLI 的最新版本中,mcp 命令已重新調整用途,以協助您連接到新的遠端 MCP 伺服器。**
設定 MCP
mcp 命令可協助您設定編輯器或 AI 用戶端,以連接到 Reflag 的遠端 MCP 伺服器。這讓您的 AI 工具能夠了解您的旗標並提供更多上下文相關的協助。
npx reflag mcp [--editor ] [--scope <local|global>]
選項:
--editor:要設定的編輯器/用戶端:cursor:Cursor IDEvscode:Visual Studio Codeclaude:Claude Desktopwindsurf:Windsurf
--scope:要全域設定還是針對專案進行本機設定。
命令將引導您完成:
- 選擇要設定的編輯器/用戶端。
- 選擇要連接的 Reflag 應用程式。
- 決定全域或專案本機設定。
- 為您選擇的編輯器設定適當的設定檔。
注意:此設定使用 mcp-remote 作為相容層,允許遠端託管的 Reflag MCP 伺服器與所有支援 MCP STDIO 伺服器的編輯器/用戶端搭配使用。如果您的編輯器/用戶端支援帶有 OAuth 的 HTTP Streaming,您可以直接連接到 Reflag MCP 伺服器。
在 CI/CD 管線中使用 (Beta)
Reflag CLI 設計為可在 CI/CD 管線中無縫運作。對於無法進行互動式登入的自動化環境,請使用 --api-key 選項,或在 REFLAG_API_KEY 環境變數中指定 API 金鑰。
在 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 範例
- name: Generate types run: npx reflag flags types --api-key ${{ secrets.REFLAG_API_KEY }}
GitHub Actions 範例(使用環境變數):
- name: Generate types (environment) run: npx reflag flags types env: REFLAG_API_KEY: ${{ secrets.REFLAG_CI_API_KEY }}
開發
建置 CLI
yarn build
在本機執行 CLI
yarn reflag [command]
檢查並格式化程式碼
yarn lint yarn format
需求
- Node.js >=18.0.0
授權
MIT License Copyright (c) 2025 Bucket ApS