Bucket

officiel

Gérez les fonctionnalités, administrez les données de l'entreprise et contrôlez l'accès aux fonctionnalités à l'aide de Bucket.

Que pouvez-vous faire avec Bucket MCP ?

  • Initialiser la configuration du projet — Demandez à l’assistant d’exécuter reflag init pour créer un fichier reflag.config.json avec votre ID d’application et vos paramètres.
  • Créer des indicateurs de fonctionnalité — Faites exécuter à l’assistant reflag flags create "My Flag" pour ajouter un nouvel indicateur avec une clé et un format personnalisés facultatifs.
  • Générer les types TypeScript — Demandez à l’assistant d’exécuter reflag flags types pour produire des définitions d’indicateurs typées pour React ou Node.
  • Lister les indicateurs existants — Demandez à l’assistant d’exécuter reflag flags list pour afficher tous les indicateurs configurés pour votre application actuelle.
  • Configurer les règles de l’assistant IA — Demandez à l’assistant d’exécuter pour ajouter les règles de contexte Reflag pour Cursor ou Copilot.
  • Configurer la connexion MCP — Faites exécuter à l’assistant pour connecter votre éditeur au serveur MCP Reflag distant.

Documentation

CLI Reflag

Interface en ligne de commande pour interagir avec les services Reflag. La CLI vous permet de gérer les applications, les flags, l'authentification et de générer des types TypeScript pour vos flags Reflag. Avec cet outil, vous pouvez rationaliser votre flux de travail de gestion des flags directement depuis votre terminal.

Installation

Installez la CLI comme dépendance de développement dans votre projet :

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

# yarn
yarn add --dev @reflag/cli

Exécutez la commande new depuis le répertoire racine de votre projet pour initialiser la CLI, créer un flag et générer les types TypeScript en une seule étape :

# npm
npx reflag new

# yarn
yarn reflag new

Migration depuis le SDK Bucket

Si vous migrez depuis la CLI Bucket, voici les principaux changements à connaître :

  • Nom de la commande : Passé de bucket à reflag
  • Fichier de définitions de types : Renommé de features.d.ts à flags.d.ts (supprimez manuellement l'ancien fichier s'il a été commité)
  • Fichier d'authentification : Passé de .bucket-auth à .reflag-auth (renommez ou supprimez l'ancien fichier)
  • Fichier de configuration : Passé de bucket.config.json à reflag.config.json (renommez ou supprimez l'ancien fichier)
  • Commande : La commande features est désormais flags
  • Variable d'environnement : Utilisez REFLAG_API_KEY au lieu de BUCKET_API_KEY

Important : Mettez à jour vos scripts, étapes de build et modèles .gitignore pour refléter ces changements.

Commandes individuelles

Pour plus de contrôle, vous pouvez exécuter chaque commande individuellement :

# 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

Configuration

La CLI crée un fichier reflag.config.json dans le répertoire de votre projet lorsque vous exécutez reflag init. Ce fichier contient tous les paramètres nécessaires pour votre intégration Reflag.

Structure du fichier de configuration

Voici toutes les options de configuration disponibles dans le fichier 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"
    }
  ]
}
OptionDescriptionDéfaut
$schemaAutocomplétion pour la configuration. latest peut être remplacé par une version spécifique." https://unpkg.com/@reflag/cli@latest/schema.json "
baseUrlURL de base pour les services Reflag." https://app.reflag.com "
apiUrlURL API pour les services Reflag (remplace baseUrl pour les appels API)." https://app.reflag.com/api "
appIdVotre identifiant d'application Reflag.Requis
typesOutputChemin(s) où les types TypeScript seront générés. Peut être une chaîne ou un tableau d'objets avec les propriétés path et format. Formats disponibles : react et node."gen/flags.ts" avec le format "react"

Vous pouvez remplacer ces paramètres à l'aide des options de ligne de commande pour les commandes individuelles.

Commandes

reflag init

Initialise une nouvelle configuration Reflag dans votre projet. Cela crée un fichier reflag.config.json avec vos paramètres et vous invite à saisir toute information requise non fournie via les options.

npx reflag init [--overwrite]

Options :

  • --overwrite : Écraser le fichier de configuration existant s'il y en a un.
  • --app-id <id> : Définir l'identifiant de l'application.
  • --key-format <format> : Définir le format de clé pour les flags.

reflag new [flagName]

Commande tout-en-un pour démarrer rapidement. Cette commande combine init, la création de flag et la génération de types en une seule étape. Utilisez-la pour la manière la plus rapide de démarrer avec Reflag.

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

Options :

  • --key : Clé spécifique pour le flag.
  • --app-id : Identifiant d'application à utiliser.
  • --key-format : Format pour les clés de flags (custom, snake, camel, etc.).
  • --out : Chemin pour générer les types TypeScript.
  • --format : Format des types générés (react ou node).

Si vous préférez plus de contrôle sur chaque étape, vous pouvez utiliser les commandes individuelles (init, flags create, flags types) à la place.

reflag login

Authentifiez-vous avec votre compte Reflag. Cela stocke vos identifiants de manière sécurisée pour les opérations ultérieures.

npx reflag login

reflag logout

Déconnectez-vous de votre compte Reflag et supprimez les identifiants stockés.

npx reflag logout

reflag flags

Gérez vos flags Reflag avec ces sous-commandes :

reflag flags create [flagName]

Créez un nouveau flag dans votre application Reflag. La commande vous guide tout au long du processus de création de flag avec des invites interactives si les options ne sont pas fournies.

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

Options :

  • --key : Clé spécifique pour le flag.
  • --app-id : Identifiant d'application à utiliser.
  • --key-format : Format pour les clés de flags.

reflag flags list

Listez tous les flags de l'application actuelle. Cela vous aide à visualiser les flags disponibles et leurs configurations actuelles.

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

Options :

  • --app-id : Identifiant d'application à utiliser.

reflag flags types

Générez des types TypeScript pour vos flags. Cela garantit la sécurité des types lors de l'utilisation des flags Reflag dans vos applications TypeScript/JavaScript.

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

Options :

  • --app-id : Identifiant d'application à utiliser.
  • --out : Chemin pour générer les types TypeScript.
  • --format : Format des types générés (react ou node).

reflag apps

Commandes pour gérer les applications Reflag.

Options globales

Ces options peuvent être utilisées avec n'importe quelle commande :

  • --debug : Activer le mode débogage pour une sortie détaillée.
  • --base-url <url> : Définir l'URL de base pour l'API Reflag.
  • --api-url <url> : Définir l'URL API directement (remplace l'URL de base).
  • --api-key <key> : Clé API Reflag pour l'authentification non interactive.
  • --help : Afficher les informations d'aide pour une commande.

Développement assisté par IA

Reflag offre de puissantes capacités de développement assisté par IA grâce à des règles et au Model Context Protocol (MCP). Ces fonctionnalités aident vos outils de développement IA à mieux comprendre vos flags et à fournir une assistance plus précise.

La commande rules vous aide à configurer des règles spécifiques à l'IA pour votre projet. Ces règles permettent aux outils IA de mieux comprendre comment travailler avec les flags Reflag et comment ils doivent être utilisés dans votre codebase.

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

Options :

  • --format : Format pour ajouter les règles :
    • cursor : Ajoute les règles à .cursor/rules/reflag.mdc pour l'intégration avec l'IDE Cursor.
      • copilot : Ajoute les règles à .github/copilot-instructions.md pour l'intégration avec GitHub Copilot.
  • --yes : Ignorer les invites de confirmation et écraser les fichiers existants sans demander.

Cette commande ajoute des règles à votre projet qui fournissent aux outils IA le contexte sur la façon de configurer et d'utiliser les flags Reflag. Pour le format copilot, les règles sont ajoutées dans une section dédiée du fichier, vous permettant de conserver d'autres instructions copilot aux côtés des règles de Reflag.

Model Context Protocol

Le Model Context Protocol (MCP) est un protocole ouvert qui fournit une manière standardisée de connecter les modèles IA à différentes sources de données et outils. Dans le contexte de Reflag, MCP permet à votre éditeur de code de comprendre vos flags, leurs états et leurs relations au sein de votre codebase. Cela crée un pont transparent entre votre flux de travail de gestion des flags et les outils de développement propulsés par l'IA. Le serveur MCP est hébergé par Reflag, ce qui facilite la prise en main.

**Remarque : La commande CLI Reflag mcp était auparavant utilisée pour un serveur _local. Cependant, dans les versions récentes de la CLI Reflag, la commande mcp a été réaffectée pour vous aider à vous connecter au nouveau serveur MCP distant.**_

Configuration de MCP

La commande mcp vous aide à configurer votre éditeur ou client IA pour vous connecter au serveur MCP distant de Reflag. Cela permet à vos outils IA de comprendre vos flags et de fournir une assistance plus contextuelle.

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

Options :

La commande vous guidera à travers :

  1. La sélection de l'éditeur/client à configurer.
  2. Le choix de l'application Reflag à laquelle se connecter.
  3. La décision entre une configuration globale ou locale au projet.
  4. La configuration du fichier de configuration approprié pour votre éditeur choisi.

Remarque : La configuration utilise mcp-remote comme couche de compatibilité permettant au serveur MCP Reflag hébergé à distance de fonctionner avec tous les éditeurs/clients prenant en charge les serveurs MCP STDIO. Si votre éditeur/client prend en charge le streaming HTTP avec OAuth, vous pouvez vous connecter directement au serveur MCP Reflag.

Utilisation dans les pipelines CI/CD

La CLI Reflag est conçue pour fonctionner de manière transparente dans les pipelines CI/CD. Pour les environnements automatisés où la connexion interactive n'est pas possible, utilisez l'option --api-key ou spécifiez la clé API dans la variable d'environnement REFLAG_API_KEY.

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

Restrictions importantes :

  • Lors de l'utilisation de --api-key, les commandes login et logout sont désactivées
  • Les clés API contournent tous les flux d'authentification interactifs
  • Les clés API sont liées à une seule application. Des commandes telles que apps list ne renverront que l'application liée
  • Stockez les clés API de manière sécurisée en utilisant la gestion des secrets de votre plateforme CI/CD

Exemple de flux de travail 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 }}

Développement

# Build the CLI
yarn build

# Run the CLI locally
yarn reflag [command]

# Lint and format code
yarn lint
yarn format

Prérequis

  • Node.js >=18.0.0

Licence

Licence MIT Copyright (c) 2025 Bucket ApS