Bucket

offiziell

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

Was kann man mit Bucket MCP machen?

  • Projekt-Setup initialisieren — Bitten Sie den Assistenten, reflag init auszuführen, um eine reflag.config.json mit Ihrer App-ID und den Einstellungen zu erstellen.
  • Feature-Flags erstellen — Lassen Sie den Assistenten reflag flags create "My Flag" ausführen, um ein neues Flag mit optionalem benutzerdefiniertem Schlüssel und Format hinzuzufügen.
  • TypeScript-Typen generieren — Bitten Sie den Assistenten, reflag flags types auszuführen, um typsichere Flag-Definitionen für React oder Node zu erzeugen.
  • Vorhandene Flags auflisten — Weisen Sie den Assistenten an, reflag flags list auszuführen, um alle für Ihre aktuelle App konfigurierten Flags anzuzeigen.
  • KI-Assistenten-Regeln konfigurieren — Bitten Sie den Assistenten, auszuführen, um Reflag-Kontextregeln für Cursor oder Copilot hinzuzufügen.
  • MCP-Verbindung einrichten — Lassen Sie den Assistenten ausführen, um Ihren Editor mit dem entfernten Reflag-MCP-Server zu verbinden.

Dokumentation

Reflag CLI

Befehlszeilenschnittstelle für die Interaktion mit Reflag-Diensten. Mit der CLI können Sie Apps, Flags und Authentifizierung verwalten sowie TypeScript-Typen für Ihre Reflag-Flags generieren. Mit diesem Tool können Sie Ihren Flagging-Workflow direkt über Ihr Terminal 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 aus dem 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, beachten Sie die folgenden wichtigen Änderungen:

  • 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 wurde)
  • Authentifizierungsdatei: Geändert von .bucket-auth zu .reflag-auth (benennen Sie die alte Datei um oder entfernen Sie sie)
  • Konfigurationsdatei: Geändert von bucket.config.json zu reflag.config.json (benennen Sie die alte Datei um oder entfernen Sie sie)
  • Befehl: Der Befehl features ist 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 zu berücksichtigen.

Einzelne Befehle

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

# 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

Konfiguration

Die CLI erstellt eine Datei reflag.config.json 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 Konfigurationsoptionen, die in der Datei reflag.config.json verfügbar sind:

{
  "$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), an denen TypeScript-Typen generiert werden. Kann ein String oder ein Array von Objekten mit den Eigenschaften path und format 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 Datei reflag.config.json mit Ihren Einstellungen und fragt nach allen erforderlichen Informationen, die nicht über Optionen bereitgestellt wurden.

npx reflag init [--overwrite]

Optionen:

  • --overwrite: Vorhandene Konfigurationsdatei überschreiben, falls eine vorhanden ist.
  • --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 usw.).
  • --out: Pfad zum Generieren von TypeScript-Typen.
  • --format: Format der generierten Typen (react oder node).

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

reflag login

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

npx reflag login

reflag logout

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

npx reflag logout

reflag flags

Verwalten Sie Ihre Reflag-Flags mit diesen Unterbefehlen:

reflag flags create [flagName]

Erstellt ein neues Flag in Ihrer Reflag-App. Der Befehl führt Sie mit interaktiven Eingabeaufforderungen durch den Flag-Erstellungsprozess, falls 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

Generiert 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 zum Generieren von TypeScript-Typen.
  • --format: Format der generierten Typen (react oder node).

reflag apps

Befehle zum Verwalten 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 die nicht-interaktive Authentifizierung.
  • --help: Hilfeinformationen für einen Befehl anzeigen.

KI-gestützte Entwicklung

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

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 zum Hinzufügen von Regeln:
    • 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. Beim Copilot-Format werden die Regeln in einem dedizierten Abschnitt 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 einen standardisierten Weg bietet, KI-Modelle mit verschiedenen Datenquellen und Tools zu verbinden. Im Kontext von Reflag ermöglicht MCP Ihrem Code-Editor, Ihre Flags, deren Zustände und deren Beziehungen innerhalb Ihrer Codebasis zu verstehen. Dies schafft eine nahtlose Brücke zwischen Ihrem Flag-Verwaltungsworkflow und KI-gestützten Entwicklungstools. Der MCP-Server wird von Reflag gehostet, was den Einstieg erleichtert.

**Hinweis: Der Reflag-Befehl mcp der CLI wurde zuvor für einen _lokalen Server verwendet. In neueren Versionen der Reflag-CLI wurde der Befehl mcp jedoch umfunktioniert, um Ihnen die Verbindung zum neuen Remote-MCP-Server zu ermöglichen.**_

Einrichtung von MCP

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

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

Optionen:

Der Befehl führt Sie durch:

  1. Auswahl des zu konfigurierenden Editors/Clients.
  2. Auswahl der Reflag-App, mit der eine Verbindung hergestellt werden soll.
  3. Entscheidung zwischen globaler oder projektspezifischer Konfiguration.
  4. Einrichtung der entsprechenden Konfigurationsdatei für Ihren gewählten Editor.

Hinweis: Das Setup verwendet mcp-remote als Kompatibilitätsschicht, die es dem remote gehosteten Reflag-MCP-Server ermöglicht, mit allen Editoren/Clients zu funktionieren, 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

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

# Generate types in CI/CD
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 an nur eine App gebunden. Befehle wie apps list geben nur die gebundene App zurück
  • Speichern Sie API-Schlüssel sicher mithilfe der Geheimnisverwaltung Ihrer CI/CD-Plattform

Beispiel für einen CI-Workflow:

# 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 }}

Entwicklung

# Build the CLI
yarn build

# Run the CLI locally
yarn reflag [command]

# Lint and format code
yarn lint
yarn format

Anforderungen

  • Node.js >=18.0.0

Lizenz

MIT-Lizenz Copyright (c) 2025 Bucket ApS