Bucket MCP Server

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.

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 features est maintenant flags
  • Variable d'environnement : Utilisez REFLAG_API_KEY au lieu de BUCKET_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" } ] }

OptionDescriptionDéfaut
$schemaAutocomplétion pour la config. 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 de l'API pour les services Reflag (remplace baseUrl pour les appels API)."https://app.reflag.com/api"
appIdVotre ID 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 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.mdc pour l'intégration avec Cursor IDE.
    • copilot : Ajoute des 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 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 IDE
    • vscode : Visual Studio Code
    • claude : Claude Desktop
    • windsurf : Windsurf
  • --scope : S'il faut configurer les paramètres globalement ou localement pour le projet.

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 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 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. Les commandes telles que apps list ne 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