重命名CLI(或:更改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迁移,以下是需要了解的关键变更:
- 命令名称已从……更改为
buckettoreflag - 类型定义文件从(原名)更名为
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配置
命令行界面(CLI)创建了一个 reflag.config.json 当你运行时,在你的项目目录中创建文件 reflag init此文件包含您进行Reflog(注:原文中的“Reflag”可能为笔误,通常相关工具或功能名为“Reflog”,但在此按原文翻译)集成所需的所有设置。
配置文件结构
以下是所有可用的配置选项: 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 重标服务的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。--key-format设置标志的关键格式。
reflag new [flagName]
一键式命令,快速上手。此命令集成了 init一步完成标志创建和类型生成。使用此方法,以最快的方式启动并运行Reflog(注:原文中的“Reflag”可能为笔误,根据上下文推测应为“Reflog”,即一个假设的日志或标志管理工具,但具体名称需根据实际情况确定)。
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标志键的格式(自定义、蛇形、驼峰等)。--out生成 TypeScript 类型的路径。--format生成的类型格式(React 或 Node)。
如果你希望对每一步有更多的控制,你可以使用单独的命令(init, flags create, flags types)而是。
reflag login
使用您的 Reflag 帐户进行身份验证。这将安全地存储您的凭据,以便后续操作使用。
npx reflag loginreflag logout
从您的Reflag帐户中登出并删除存储的凭据。
npx reflag logoutreflag flags
使用以下子命令管理您的Reflog标志:
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
管理Reflog应用程序的命令。
全局选项
这些选项可以与任何命令一起使用:
--debug启用调试模式以获取详细输出。--base-url设置Reflag API的基础URL。--api-url直接设置API URL(覆盖基础URL)。--api-key为非交互式认证重新标记API密钥。--help显示命令的帮助信息。
人工智能辅助开发
Reflag 通过规则和模型上下文协议(MCP)提供强大的AI辅助开发能力。这些功能有助于您的AI开发工具更好地理解您的标志(或条件/参数),并提供更准确的辅助。
重新标记规则(建议)
该(或“这个”) rules 该命令帮助您为项目设置特定于AI的规则。这些规则使AI工具能够更好地理解如何与Reflog标志协同工作,以及它们应在您的代码库中如何使用。
npx reflag rules [--format ] [--yes]选项:
--format添加规则的格式为:
- cursor添加规则到 .cursor/rules/reflag.mdc 用于Cursor IDE集成。 - copilot添加规则到 .github/copilot-instructions.md 用于GitHub Copilot集成。
--yes跳过确认提示,无需询问直接覆盖现有文件。
此命令会向您的项目中添加规则,为AI工具提供关于如何设置和使用Reflog标志的上下文信息。对于copilot格式,这些规则会被添加到文件中的一个专门部分,使您能够在Reflog的规则旁边维护其他copilot指令。
模型上下文协议
模型上下文协议(MCP)是一种开放协议,它提供了一种标准化的方式,用于将人工智能模型连接到不同的数据源和工具。在Reflog的背景下,MCP使您的代码编辑器能够理解您的标志(flag)、它们的状态以及它们在代码库中的关系。这在您的标志管理流程和AI驱动的开发工具之间建立了一个无缝的桥梁。MCP服务器由Reflog托管,因此可以轻松上手。
_\*\*注:换旗\*\* mcp CLI 命令之前用于 \_本地_ 服务器。然而,在最新版本的Reflog CLI中 mcp 该命令已被重新用途,以帮助您连接到新的远程MCP服务器
设置MCP(多播连接点/主控程序等,具体含义根据上下文确定)
这个 mcp 该命令帮助您配置编辑器或AI客户端以连接到Reflog的远程MCP服务器。这样,您的AI工具就能理解您的标志(或标记),并提供更具上下文的辅助。
npx reflag mcp [--editor ] [--scope ]选项:
--editor用于配置的编辑器/客户端:
- cursor: Cursor 集成开发环境(IDE) - vscode: Visual Studio Code(简称VS Code) - claude: Claude Desktop(克劳德桌面版) - windsurf: 风帆冲浪
--scope是为项目全局配置设置还是仅局部配置设置。
该命令将引导您完成:
- 选择要配置的编辑器/客户端。
- 选择要连接的哪个Reflag应用程序。
- 决定使用全局配置还是项目本地配置。
- 为所选编辑器设置适当的配置文件。
_注:该设置使用 mcp-remote 翻译为中文是“远程MCP(多点控制单元)”或“MCP远程控制”,具体取决于上下文中的具体含义,但通常指的是用于视频会议或监控系统中的远程控制设备或功能 作为一个兼容层,它使得远程托管的Reflog MCP服务器能够与所有支持MCP STDIO服务器的编辑器/客户端协同工作。如果您的编辑器/客户端支持带有OAuth的HTTP流传输,您可以直接连接到Reflog MCP服务器。_
在CI/CD流水线中使用(测试版)
Reflog CLI 被设计为能够在 CI/CD 流水线中无缝工作。对于无法进行交互式登录的自动化环境,请使用 --api-key 选项或在其中指定API密钥 REFLAG_API_KEY 环境变量。
# 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) 版权所有 (c) 2025 Bucket ApS
