Bucket
officielGé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 initpour créer un fichierreflag.config.jsonavec 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 typespour produire des définitions d’indicateurs typées pour React ou Node. - Lister les indicateurs existants — Demandez à l’assistant d’exécuter
reflag flags listpour 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
featuresest désormaisflags - Variable d'environnement : Utilisez
REFLAG_API_KEYau lieu deBUCKET_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"
}
]
}
| Option | Description | Défaut |
|---|---|---|
$schema | Autocomplétion pour la configuration. latest peut être remplacé par une version spécifique. | " https://unpkg.com/@reflag/cli@latest/schema.json " |
baseUrl | URL de base pour les services Reflag. | " https://app.reflag.com " |
apiUrl | URL API pour les services Reflag (remplace baseUrl pour les appels API). | " https://app.reflag.com/api " |
appId | Votre identifiant d'application Reflag. | Requis |
typesOutput | Chemin(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.mdcpour l'intégration avec l'IDE Cursor.copilot: Ajoute les règles à.github/copilot-instructions.mdpour 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 :
--editor: L'éditeur/client à configurer :cursor: IDE Cursorvscode: Visual Studio Codeclaude: Claude Desktopwindsurf: Windsurf
--scope: Configurer les paramètres globalement ou localement pour le projet.
La commande vous guidera à travers :
- La sélection de l'éditeur/client à configurer.
- Le choix de l'application Reflag à laquelle se connecter.
- La décision entre une configuration globale ou locale au projet.
- 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 commandesloginetlogoutsont 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 listne 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