Bucket

oficial

Marque características, administre datos de la empresa y controle el acceso a funciones usando Bucket.

¿Qué puedes hacer con Bucket MCP?

  • Initialize project setup — Pídele al asistente que ejecute reflag init para crear un reflag.config.json con tu ID de aplicación y configuración.
  • Create feature flags — Haz que el asistente ejecute reflag flags create "My Flag" para agregar una nueva bandera con clave y formato personalizados opcionales.
  • Generate TypeScript types — Pídele al asistente que ejecute reflag flags types para producir definiciones de banderas con seguridad de tipos para React o Node.
  • List existing flags — Indica al asistente que ejecute reflag flags list para ver todas las banderas configuradas para tu aplicación actual.
  • Configure AI assistant rules — Pídele al asistente que ejecute para agregar reglas de contexto de Reflag para Cursor o Copilot.
  • Set up MCP connection — Haz que el asistente ejecute para conectar tu editor al servidor remoto de Reflag MCP.

Documentación

CLI de Reflag

Interfaz de línea de comandos para interactuar con los servicios de Reflag. La CLI te permite gestionar aplicaciones, flags, autenticación y generar tipos de TypeScript para tus flags de Reflag. Con esta herramienta, puedes optimizar tu flujo de trabajo de flags directamente desde tu terminal.

Instalación

Instala la CLI como una dependencia de desarrollo en tu proyecto:

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

# yarn
yarn add --dev @reflag/cli

Ejecuta el comando new desde el directorio raíz de tu proyecto para inicializar la CLI, crear un flag y generar tipos de TypeScript en un solo paso:

# npm
npx reflag new

# yarn
yarn reflag new

Migración desde el SDK de Bucket

Si estás migrando desde la CLI de Bucket, estos son los cambios clave que debes tener en cuenta:

  • Nombre del comando: Cambió de bucket a reflag
  • Archivo de definiciones de tipos: Renombrado de features.d.ts a flags.d.ts (elimina manualmente el archivo anterior si fue confirmado)
  • Archivo de autenticación: Cambió de .bucket-auth a .reflag-auth (renombra o elimina el archivo anterior)
  • Archivo de configuración: Cambió de bucket.config.json a reflag.config.json (renombra o elimina el archivo anterior)
  • Comando: El comando features ahora es flags
  • Variable de entorno: Usa REFLAG_API_KEY en lugar de BUCKET_API_KEY

Importante: Actualiza tus scripts, pasos de compilación y patrones de .gitignore para reflejar estos cambios.

Comandos individuales

Para tener más control, puedes ejecutar cada comando individualmente:

# 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

Configuración

La CLI crea un archivo reflag.config.json en el directorio de tu proyecto cuando ejecutas reflag init. Este archivo contiene todos los ajustes necesarios para tu integración con Reflag.

Estructura del archivo de configuración

Aquí están todas las opciones de configuración disponibles en el archivo 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"
    }
  ]
}
OpciónDescripciónPredeterminado
$schemaAutocompletado para la configuración. latest puede reemplazarse con una versión específica." https://unpkg.com/@reflag/cli@latest/schema.json "
baseUrlURL base para los servicios de Reflag." https://app.reflag.com "
apiUrlURL de API para los servicios de Reflag (anula baseUrl para llamadas de API)." https://app.reflag.com/api "
appIdTu ID de aplicación de Reflag.Requerido
typesOutputRuta(s) donde se generarán los tipos de TypeScript. Puede ser una cadena o un arreglo de objetos con propiedades path y format. Formatos disponibles: react y node."gen/flags.ts" con formato "react"

Puedes anular estos ajustes usando opciones de línea de comandos para comandos individuales.

Comandos

reflag init

Inicializa una nueva configuración de Reflag en tu proyecto. Esto crea un archivo reflag.config.json con tus ajustes y solicita cualquier información requerida que no se haya proporcionado mediante opciones.

npx reflag init [--overwrite]

Opciones:

  • --overwrite: Sobrescribe el archivo de configuración existente si hay uno.
  • --app-id <id>: Establece el ID de la aplicación.
  • --key-format <format>: Establece el formato de clave para los flags.

reflag new [flagName]

Comando todo-en-uno para comenzar rápidamente. Este comando combina init, la creación de flags y la generación de tipos en un solo paso. Úsalo para la forma más rápida de ponerte en marcha con Reflag.

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

Opciones:

  • --key: Clave específica para el flag.
  • --app-id: ID de aplicación a usar.
  • --key-format: Formato para las claves de flags (custom, snake, camel, etc.).
  • --out: Ruta para generar tipos de TypeScript.
  • --format: Formato de los tipos generados (react o node).

Si prefieres tener más control sobre cada paso, puedes usar los comandos individuales (init, flags create, flags types) en su lugar.

reflag login

Autentícate con tu cuenta de Reflag. Esto almacena tus credenciales de forma segura para operaciones posteriores.

npx reflag login

reflag logout

Cierra sesión de tu cuenta de Reflag y elimina las credenciales almacenadas.

npx reflag logout

reflag flags

Gestiona tus flags de Reflag con estos subcomandos:

reflag flags create [flagName]

Crea un nuevo flag en tu aplicación de Reflag. El comando te guía a través del proceso de creación de flags con indicaciones interactivas si no se proporcionan opciones.

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

Opciones:

  • --key: Clave específica para el flag.
  • --app-id: ID de aplicación a usar.
  • --key-format: Formato para las claves de flags.

reflag flags list

Lista todos los flags de la aplicación actual. Esto te ayuda a visualizar qué flags están disponibles y sus configuraciones actuales.

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

Opciones:

  • --app-id: ID de aplicación a usar.

reflag flags types

Genera tipos de TypeScript para tus flags. Esto garantiza la seguridad de tipos al usar flags de Reflag en tus aplicaciones TypeScript/JavaScript.

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

Opciones:

  • --app-id: ID de aplicación a usar.
  • --out: Ruta para generar tipos de TypeScript.
  • --format: Formato de los tipos generados (react o node).

reflag apps

Comandos para gestionar aplicaciones de Reflag.

Opciones globales

Estas opciones se pueden usar con cualquier comando:

  • --debug: Habilita el modo de depuración para salida detallada.
  • --base-url <url>: Establece la URL base para la API de Reflag.
  • --api-url <url>: Establece la URL de API directamente (anula la URL base).
  • --api-key <key>: Clave de API de Reflag para autenticación no interactiva.
  • --help: Muestra información de ayuda para un comando.

Desarrollo asistido por IA

Reflag proporciona potentes capacidades de desarrollo asistido por IA mediante reglas y Protocolo de Contexto de Modelo (MCP). Estas funciones ayudan a tus herramientas de desarrollo de IA a comprender mejor tus flags y brindar asistencia más precisa.

El comando rules te ayuda a configurar reglas específicas de IA para tu proyecto. Estas reglas permiten que las herramientas de IA comprendan mejor cómo trabajar con los flags de Reflag y cómo deben usarse en tu código.

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

Opciones:

  • --format: Formato para agregar reglas:
    • cursor: Agrega reglas a .cursor/rules/reflag.mdc para la integración con Cursor IDE.
      • copilot: Agrega reglas a .github/copilot-instructions.md para la integración con GitHub Copilot.
  • --yes: Omite los mensajes de confirmación y sobrescribe los archivos existentes sin preguntar.

Este comando agrega reglas a tu proyecto que proporcionan contexto a las herramientas de IA sobre cómo configurar y usar los flags de Reflag. Para el formato de copilot, las reglas se agregan a una sección dedicada en el archivo, lo que te permite mantener otras instrucciones de copilot junto con las reglas de Reflag.

Protocolo de Contexto de Modelo

El Protocolo de Contexto de Modelo (MCP) es un protocolo abierto que proporciona una forma estandarizada de conectar modelos de IA a diferentes fuentes de datos y herramientas. En el contexto de Reflag, MCP permite que tu editor de código comprenda tus flags, sus estados y sus relaciones dentro de tu código. Esto crea un puente fluido entre tu flujo de trabajo de gestión de flags y las herramientas de desarrollo impulsadas por IA. El servidor MCP está alojado por Reflag, lo que facilita comenzar.

**Nota: El comando mcp de la CLI de Reflag se usaba anteriormente para un servidor _local. Sin embargo, en versiones recientes de la CLI de Reflag, el comando mcp ha sido reutilizado para ayudarte a conectarte al nuevo servidor MCP remoto.**_

Configuración de MCP

El comando mcp te ayuda a configurar tu editor o cliente de IA para conectarse al servidor MCP remoto de Reflag. Esto permite que tus herramientas de IA comprendan tus flags y brinden asistencia más contextual.

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

Opciones:

El comando te guiará a través de:

  1. Seleccionar qué editor/cliente configurar.
  2. Elegir a qué aplicación de Reflag conectarse.
  3. Decidir entre configuración global o local del proyecto.
  4. Configurar el archivo de configuración apropiado para tu editor elegido.

Nota: La configuración usa mcp-remote como una capa de compatibilidad que permite que el servidor MCP remoto alojado de Reflag funcione con todos los editores/clientes que admiten servidores MCP STDIO. Si tu editor/cliente admite HTTP Streaming con OAuth, puedes conectarte directamente al servidor MCP de Reflag.

Uso en pipelines de CI/CD

La CLI de Reflag está diseñada para funcionar sin problemas en pipelines de CI/CD. Para entornos automatizados donde el inicio de sesión interactivo no es posible, usa la opción --api-key o especifica la clave de API en la variable de entorno REFLAG_API_KEY.

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

Restricciones importantes:

  • Al usar --api-key, los comandos login y logout están deshabilitados
  • Las claves de API omiten todos los flujos de autenticación interactivos
  • Las claves de API están vinculadas a una sola aplicación. Comandos como apps list solo devolverán la aplicación vinculada
  • Almacena las claves de API de forma segura usando la gestión de secretos de tu plataforma de CI/CD

Ejemplo de flujo de trabajo de 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 }}

Desarrollo

# Build the CLI
yarn build

# Run the CLI locally
yarn reflag [command]

# Lint and format code
yarn lint
yarn format

Requisitos

  • Node.js >=18.0.0

Licencia

Licencia MIT Copyright (c) 2025 Bucket ApS