Bucket MCP Server
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.
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 flagging 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 : Changé 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 : Changé de
.bucket-authà.reflag-auth(renommez ou supprimez l'ancien fichier) - Fichier de configuration : Changé de
bucket.config.jsonàreflag.config.json(renommez ou supprimez l'ancien fichier) - Commande : La commande
featuresest maintenantflags - Variable d'environnement : Utilisez
REFLAG_API_KEYau lieu deBUCKET_API_KEY
Important : Mettez à jour vos scripts, étapes de build et motifs .gitignore pour refléter ces changements.
Commandes individuelles
Pour plus de contrôle, vous pouvez exécuter chaque commande individuellement :
Initialiser Reflag dans votre projet (si ce n'est pas déjà fait)
npx reflag init
Créer un nouveau flag
npx reflag flags create "Mon Flag"
Générer les types TypeScript pour vos 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 à 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 config. 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 de l'API pour les services Reflag (remplace baseUrl pour les appels API). | "https://app.reflag.com/api" |
| appId | Votre ID 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 en utilisant les 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 demande toute information requise non fournie via les options.
npx reflag init [--overwrite]
Options :
--overwrite: Écraser le fichier de configuration existant s'il existe.--app-id <id>: Définir l'ID d'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 "Mon Flag" [--app-id ap123456789] [--key mon-flag] [--key-format custom] [--out gen/flags.ts] [--format react]
Options :
--key: Clé spécifique pour le flag.--app-id: ID d'application à utiliser.--key-format: Format pour les clés de flag (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 suivantes.
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 à travers le processus de création de flag avec des invites interactives si les options ne sont pas fournies.
npx reflag flags create "Mon Flag" [--app-id ap123456789] [--key mon-flag] [--key-format custom]
Options :
--key: Clé spécifique pour le flag.--app-id: ID d'application à utiliser.--key-format: Format pour les clés de flag.
reflag flags list
Listez tous les flags pour l'application actuelle. Cela vous aide à visualiser les flags disponibles et leurs configurations actuelles.
npx reflag flags list [--app-id ap123456789]
Options :
--app-id: ID d'application à utiliser.
reflag flags types
Générez les types TypeScript pour vos flags. Cela garantit la sécurité de type 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: ID 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 verbeuse.--base-url <url>: Définir l'URL de base pour l'API Reflag.--api-url <url>: Définir l'URL de l'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 fournit de puissantes capacités de développement assisté par IA via des règles et le 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.
Règles Reflag (Recommandé)
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 base de code.
npx reflag rules [--format <cursor|copilot>] [--yes]
Options :
--format: Format pour ajouter les règles :cursor: Ajoute des règles à.cursor/rules/reflag.mdcpour l'intégration avec Cursor IDE.copilot: Ajoute des 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 un contexte sur la façon de configurer et d'utiliser les flags Reflag. Pour le format copilot, les règles sont ajoutées à une section dédiée dans le fichier, vous permettant de maintenir 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 un moyen standardisé de connecter les modèles d'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 base de code. Cela crée un pont transparent entre votre flux de travail de gestion des flags et les outils de développement alimentés par l'IA. Le serveur MCP est hébergé par Reflag, ce qui facilite le démarrage.
**Remarque : La commande CLI Reflag mcp était précédemment 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 se 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 ] [--scope <local|global>]
Options :
--editor: L'éditeur/client à configurer :cursor: Cursor IDEvscode: Visual Studio Codeclaude: Claude Desktopwindsurf: Windsurf
--scope: S'il faut 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 l'é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 qui prennent en charge les serveurs MCP STDIO. Si votre éditeur/client prend en charge le HTTP Streaming avec OAuth, vous pouvez vous connecter directement au serveur MCP Reflag.
Utilisation dans les pipelines CI/CD (Bêta)
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.
Générer les types dans 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. Les commandes telles que
apps listne retourneront 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 workflow CI :
Exemple GitHub Actions
- name: Generate types run: npx reflag flags types --api-key ${{ secrets.REFLAG_API_KEY }}
Exemple GitHub Actions (utilisant l'environnement) :
- name: Generate types (environment) run: npx reflag flags types env: REFLAG_API_KEY: ${{ secrets.REFLAG_CI_API_KEY }}
Développement
Construire la CLI
yarn build
Exécuter la CLI localement
yarn reflag [command]
Linter et formater le code
yarn lint yarn format
Prérequis
- Node.js >=18.0.0
Licence
Licence MIT Copyright (c) 2025 Bucket ApS