Bucket

offiziell

Funktionen kennzeichnen, Unternehmensdaten verwalten und den Zugriff auf Funktionen mit Bucket steuern.

Was kann man mit Bucket MCP machen?

  • Initialize a Reflag project — Führen Sie init aus, um eine reflag.config.json mit Ihrer App-ID und den Ausgabeeinstellungen für den Typ zu erstellen.
  • Create and bootstrap a flag in one step — Verwenden Sie new, um das Projekt zu initialisieren, ein Flag zu erstellen und gleichzeitig TypeScript-Typen zu generieren.
  • Create a feature flag — Führen Sie flags create mit einem Namen und optionalem Schlüssel aus, um Ihrer Reflag-App ein neues Flag hinzuzufügen.
  • Generate TypeScript types for flags — Führen Sie flags types aus, um Typdefinitionen für React oder Node aus Ihren aktuellen Flags zu erstellen.
  • List all flags for an app — Führen Sie flags list aus, um vorhandene Flags und deren Konfigurationen anzuzeigen.
  • Set up AI editor rules for Reflag — Führen Sie rules aus, um Cursor- oder Copilot-Anweisungen hinzuzufügen, die KI-Tools helfen, Ihre Flags zu verstehen.

Dokumentation

Reflag CLI

Befehlszeilenschnittstelle zur Interaktion mit Reflag-Diensten. Die CLI ermöglicht es Ihnen, Apps, Flags, Authentifizierung zu verwalten und TypeScript-Typen für Ihre Reflag-Flags zu generieren. Mit diesem Tool können Sie Ihren Flagging-Workflow direkt von Ihrem Terminal aus optimieren.

Installation

Installieren Sie die CLI als Entwicklungsabhängigkeit in Ihrem Projekt:

npm

npm install --save-dev @reflag/cli

yarn

yarn add --dev @reflag/cli

Führen Sie den Befehl new im Stammverzeichnis Ihres Projekts aus, um die CLI zu initialisieren, ein Flag zu erstellen und TypeScript-Typen in einem Schritt zu generieren:

npm

npx reflag new

yarn

yarn reflag new

Migration vom Bucket SDK

Wenn Sie von der Bucket CLI migrieren, sind hier die wichtigsten Änderungen, die Sie beachten sollten:

  • Befehlsname: Geändert von bucket zu reflag
  • Typdefinitionsdatei: Umbenannt von features.d.ts zu flags.d.ts (entfernen Sie die alte Datei manuell, falls sie eingecheckt war)
  • Authentifizierungsdatei: Geändert von .bucket-auth zu .reflag-auth (umbenennen oder alte Datei entfernen)
  • Konfigurationsdatei: Geändert von bucket.config.json zu reflag.config.json (umbenennen oder alte Datei entfernen)
  • Befehl: Der Befehl features heißt jetzt flags
  • Umgebungsvariable: Verwenden Sie REFLAG_API_KEY anstelle von BUCKET_API_KEY

Wichtig: Aktualisieren Sie Ihre Skripte, Build-Schritte und .gitignore-Muster, um diese Änderungen widerzuspiegeln.

Einzelne Befehle

Für mehr Kontrolle können Sie jeden Befehl einzeln ausführen:

Reflag in Ihrem Projekt initialisieren (falls noch nicht eingerichtet)

npx reflag init

Ein neues Flag erstellen

npx reflag flags create "My Flag"

TypeScript-Typen für Ihre Flags generieren

npx reflag flags types

Konfiguration

Die CLI erstellt eine reflag.config.json-Datei in Ihrem Projektverzeichnis, wenn Sie reflag init ausführen. Diese Datei enthält alle notwendigen Einstellungen für Ihre Reflag-Integration.

Struktur der Konfigurationsdatei

Hier sind alle verfügbaren Konfigurationsoptionen in der reflag.config.json-Datei:

{ "$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" } ] }

OptionBeschreibungStandard
$schemaAutovervollständigung für die Konfiguration. latest kann durch eine bestimmte Version ersetzt werden."https://unpkg.com/@reflag/cli@latest/schema.json"
baseUrlBasis-URL für Reflag-Dienste."https://app.reflag.com"
apiUrlAPI-URL für Reflag-Dienste (überschreibt baseUrl für API-Aufrufe)."https://app.reflag.com/api"
appIdIhre Reflag-Anwendungs-ID.Erforderlich
typesOutputPfad(e), unter denen TypeScript-Typen generiert werden. Kann ein String oder ein Array von Objekten mit Pfad- und Formateigenschaften sein. Verfügbare Formate: react und node."gen/flags.ts" mit Format "react"

Sie können diese Einstellungen mit Befehlszeilenoptionen für einzelne Befehle überschreiben.

Befehle

reflag init

Initialisiert eine neue Reflag-Konfiguration in Ihrem Projekt. Dies erstellt eine reflag.config.json-Datei mit Ihren Einstellungen und fragt nach erforderlichen Informationen, die nicht über Optionen bereitgestellt wurden.

npx reflag init [--overwrite]

Optionen:

  • --overwrite: Vorhandene Konfigurationsdatei überschreiben, falls vorhanden.
  • --app-id <id>: Die Anwendungs-ID festlegen.
  • --key-format <format>: Das Schlüsselformat für Flags festlegen.

reflag new [flagName]

All-in-One-Befehl für einen schnellen Einstieg. Dieser Befehl kombiniert init, Flag-Erstellung und Typgenerierung in einem einzigen Schritt. Verwenden Sie dies für den schnellsten Weg, um mit Reflag loszulegen.

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

Optionen:

  • --key: Spezifischer Schlüssel für das Flag.
  • --app-id: Zu verwendende App-ID.
  • --key-format: Format für Flag-Schlüssel (custom, snake, camel, etc.).
  • --out: Pfad zur Generierung von TypeScript-Typen.
  • --format: Format der generierten Typen (react oder node).

Wenn Sie mehr Kontrolle über jeden Schritt bevorzugen, können Sie stattdessen die einzelnen Befehle (init, flags create, flags types) verwenden.

reflag login

Authentifizieren Sie sich mit Ihrem Reflag-Konto. Dies speichert Ihre Anmeldeinformationen sicher für nachfolgende Vorgänge.

npx reflag login

reflag logout

Melden Sie sich von Ihrem Reflag-Konto ab und entfernen Sie gespeicherte Anmeldeinformationen.

npx reflag logout

reflag flags

Verwalten Sie Ihre Reflag-Flags mit diesen Unterbefehlen:

reflag flags create [flagName]

Erstellen Sie ein neues Flag in Ihrer Reflag-App. Der Befehl führt Sie durch den Flag-Erstellungsprozess mit interaktiven Eingabeaufforderungen, wenn keine Optionen angegeben werden.

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

Optionen:

  • --key: Spezifischer Schlüssel für das Flag.
  • --app-id: Zu verwendende App-ID.
  • --key-format: Format für Flag-Schlüssel.

reflag flags list

Listet alle Flags für die aktuelle App auf. Dies hilft Ihnen zu visualisieren, welche Flags verfügbar sind und wie ihre aktuellen Konfigurationen aussehen.

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

Optionen:

  • --app-id: Zu verwendende App-ID.

reflag flags types

Generieren Sie TypeScript-Typen für Ihre Flags. Dies gewährleistet Typsicherheit bei der Verwendung von Reflag-Flags in Ihren TypeScript/JavaScript-Anwendungen.

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

Optionen:

  • --app-id: Zu verwendende App-ID.
  • --out: Pfad zur Generierung von TypeScript-Typen.
  • --format: Format der generierten Typen (react oder node).

reflag apps

Befehle zur Verwaltung von Reflag-Apps.

Globale Optionen

Diese Optionen können mit jedem Befehl verwendet werden:

  • --debug: Debug-Modus für ausführliche Ausgabe aktivieren.
  • --base-url <url>: Die Basis-URL für die Reflag-API festlegen.
  • --api-url <url>: Die API-URL direkt festlegen (überschreibt die Basis-URL).
  • --api-key <key>: Reflag-API-Schlüssel für nicht-interaktive Authentifizierung.
  • --help: Hilfeinformationen für einen Befehl anzeigen.

KI-unterstützte Entwicklung

Reflag bietet leistungsstarke KI-unterstützte Entwicklungsfunktionen durch Regeln und das Model Context Protocol (MCP). Diese Funktionen helfen Ihren KI-Entwicklungstools, Ihre Flags besser zu verstehen und genauere Unterstützung zu bieten.

Reflag-Regeln (Empfohlen)

Der Befehl rules hilft Ihnen, KI-spezifische Regeln für Ihr Projekt einzurichten. Diese Regeln ermöglichen es KI-Tools, besser zu verstehen, wie sie mit Reflag-Flags arbeiten und wie diese in Ihrer Codebasis verwendet werden sollten.

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

Optionen:

  • --format: Format, in dem Regeln hinzugefügt werden sollen:
    • cursor: Fügt Regeln zu .cursor/rules/reflag.mdc für die Cursor IDE-Integration hinzu.
    • copilot: Fügt Regeln zu .github/copilot-instructions.md für die GitHub Copilot-Integration hinzu.
  • --yes: Bestätigungsaufforderungen überspringen und vorhandene Dateien ohne Nachfrage überschreiben.

Dieser Befehl fügt Ihrem Projekt Regeln hinzu, die KI-Tools Kontext darüber geben, wie Reflag-Flags eingerichtet und verwendet werden. Für das Copilot-Format werden die Regeln in einem eigenen Abschnitt in der Datei hinzugefügt, sodass Sie andere Copilot-Anweisungen neben den Reflag-Regeln beibehalten können.

Model Context Protocol

Das Model Context Protocol (MCP) ist ein offenes Protokoll, das eine standardisierte Möglichkeit bietet, KI-Modelle mit verschiedenen Datenquellen und Werkzeugen zu verbinden. Im Kontext von Reflag ermöglicht MCP Ihrem Code-Editor, Ihre Flags, deren Zustände und ihre Beziehungen innerhalb Ihrer Codebasis zu verstehen. Dies schafft eine nahtlose Brücke zwischen Ihrem Flag-Management-Workflow und KI-gestützten Entwicklungstools. Der MCP-Server wird von Reflag gehostet, was den Einstieg erleichtert.

**Hinweis: Der Reflag mcp CLI-Befehl wurde zuvor für einen lokalen Server verwendet. In neueren Versionen der Reflag CLI wurde der Befehl mcp jedoch umgewidmet, um Ihnen bei der Verbindung mit dem neuen entfernten MCP-Server zu helfen.**

MCP einrichten

Der Befehl mcp hilft Ihnen, Ihren Editor oder KI-Client für die Verbindung mit dem entfernten MCP-Server von Reflag zu konfigurieren. Dies ermöglicht es Ihren KI-Tools, Ihre Flags zu verstehen und kontextbezogenere Unterstützung zu bieten.

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

Optionen:

  • --editor: Der zu konfigurierende Editor/Client:
    • cursor: Cursor IDE
    • vscode: Visual Studio Code
    • claude: Claude Desktop
    • windsurf: Windsurf
  • --scope: Ob die Einstellungen global oder lokal für das Projekt konfiguriert werden sollen.

Der Befehl führt Sie durch:

  1. Auswahl des zu konfigurierenden Editors/Clients.
  2. Auswahl der Reflag-App, mit der Sie sich verbinden möchten.
  3. Entscheidung zwischen globaler oder projektlokaler Konfiguration.
  4. Einrichtung der entsprechenden Konfigurationsdatei für Ihren gewählten Editor.

Hinweis: Das Setup verwendet mcp-remote als Kompatibilitätsschicht, die es dem entfernt gehosteten Reflag MCP-Server ermöglicht, mit allen Editoren/Clients zu arbeiten, die MCP STDIO-Server unterstützen. Wenn Ihr Editor/Client HTTP Streaming mit OAuth unterstützt, können Sie sich direkt mit dem Reflag MCP-Server verbinden.

Verwendung in CI/CD-Pipelines (Beta)

Die Reflag CLI ist für den nahtlosen Einsatz in CI/CD-Pipelines konzipiert. Verwenden Sie für automatisierte Umgebungen, in denen eine interaktive Anmeldung nicht möglich ist, die Option --api-key oder geben Sie den API-Schlüssel in der Umgebungsvariable REFLAG_API_KEY an.

Typen in CI/CD generieren

npx reflag apps list --api-key $REFLAG_API_KEY

Wichtige Einschränkungen:

  • Bei Verwendung von --api-key sind die Befehle login und logout deaktiviert
  • API-Schlüssel umgehen alle interaktiven Authentifizierungsabläufe
  • API-Schlüssel sind nur an eine App gebunden. Befehle wie apps list geben nur die gebundene App zurück
  • Speichern Sie API-Schlüssel sicher mit der Geheimnisverwaltung Ihrer CI/CD-Plattform

Beispiel für einen CI-Workflow:

GitHub Actions Beispiel

  • name: Typen generieren run: npx reflag flags types --api-key ${{ secrets.REFLAG_API_KEY }}

GitHub Actions Beispiel (mit Umgebungsvariable):

  • name: Typen generieren (Umgebung) run: npx reflag flags types env: REFLAG_API_KEY: ${{ secrets.REFLAG_CI_API_KEY }}

Entwicklung

CLI bauen

yarn build

CLI lokal ausführen

yarn reflag [command]

Linten und Code formatieren

yarn lint yarn format

Anforderungen

  • Node.js >=18.0.0

Lizenz

MIT License Copyright (c) 2025 Bucket ApS