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 助手规则 — 让助手运行来为 Cursor 或 Copilot 添加 Reflag 上下文规则。
- 设置 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 通过规则和模型上下文协议(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 指令。
模型上下文协议
模型上下文协议(MCP)是一种开放协议,提供了一种标准化方式,将 AI 模型连接到不同的数据源和工具。在 Reflag 的上下文中,MCP 使您的代码编辑器能够理解您的标志、其状态及其在代码库中的关系。这在您的标志管理工作流程和 AI 驱动的开发工具之间创建了无缝桥梁。MCP 服务器由 Reflag 托管,使入门变得简单。
**注意:Reflag 的 mcp CLI 命令以前用于 _本地 服务器。但在 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 服务器的编辑器/客户端配合使用。如果您的编辑器/客户端支持带 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 密钥仅绑定到一个应用。诸如
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 许可证 版权所有 (c) 2025 Bucket ApS