Bucket

resmi

Kelola fitur, atur data perusahaan, dan kendalikan akses fitur menggunakan Bucket.

Apa yang bisa Anda lakukan dengan Bucket MCP?

  • Initialize project setup — Minta asisten untuk menjalankan reflag init guna membuat reflag.config.json dengan ID aplikasi dan pengaturan Anda.
  • Create feature flags — Minta asisten untuk menjalankan reflag flags create "My Flag" guna menambahkan flag baru dengan kunci dan format khusus opsional.
  • Generate TypeScript types — Minta asisten untuk menjalankan reflag flags types guna menghasilkan definisi flag yang aman terhadap tipe untuk React atau Node.
  • List existing flags — Instruksikan asisten untuk menjalankan reflag flags list guna melihat semua flag yang dikonfigurasi untuk aplikasi Anda saat ini.
  • Configure AI assistant rules — Minta asisten untuk menjalankan guna menambahkan aturan konteks Reflag untuk Cursor atau Copilot.
  • Set up MCP connection — Minta asisten untuk menjalankan guna menghubungkan editor Anda ke server MCP Reflag jarak jauh.

Dokumentasi

Reflag CLI

Antarmuka baris perintah untuk berinteraksi dengan layanan Reflag. CLI ini memungkinkan Anda mengelola aplikasi, flag, autentikasi, dan menghasilkan tipe TypeScript untuk flag Reflag Anda. Dengan alat ini, Anda dapat menyederhanakan alur kerja flag langsung dari terminal Anda.

Instalasi

Instal CLI sebagai dependensi pengembangan di proyek Anda:

# npm
npm install --save-dev @reflag/cli

# yarn
yarn add --dev @reflag/cli

Jalankan perintah new dari direktori root proyek Anda untuk menginisialisasi CLI, membuat flag, dan menghasilkan tipe TypeScript dalam satu langkah:

# npm
npx reflag new

# yarn
yarn reflag new

Migrasi dari Bucket SDK

Jika Anda bermigrasi dari Bucket CLI, berikut adalah perubahan utama yang perlu Anda ketahui:

  • Nama perintah: Berubah dari bucket menjadi reflag
  • File definisi tipe: Diubah namanya dari features.d.ts menjadi flags.d.ts (hapus file lama secara manual jika sudah di-commit)
  • File autentikasi: Berubah dari .bucket-auth menjadi .reflag-auth (ubah nama atau hapus file lama)
  • File konfigurasi: Berubah dari bucket.config.json menjadi reflag.config.json (ubah nama atau hapus file lama)
  • Perintah: Perintah features sekarang menjadi flags
  • Variabel lingkungan: Gunakan REFLAG_API_KEY alih-alih BUCKET_API_KEY

Penting: Perbarui skrip, langkah build, dan pola .gitignore Anda untuk mencerminkan perubahan ini.

Perintah Individual

Untuk kontrol yang lebih besar, Anda dapat menjalankan setiap perintah secara individual:

# 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

Konfigurasi

CLI membuat file reflag.config.json di direktori proyek Anda saat Anda menjalankan reflag init. File ini berisi semua pengaturan yang diperlukan untuk integrasi Reflag Anda.

Struktur File Konfigurasi

Berikut adalah semua opsi konfigurasi yang tersedia di file 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"
    }
  ]
}
OpsiDeskripsiDefault
$schemaPelengkapan otomatis untuk konfigurasi. latest dapat diganti dengan versi tertentu." https://unpkg.com/@reflag/cli@latest/schema.json "
baseUrlURL dasar untuk layanan Reflag." https://app.reflag.com "
apiUrlURL API untuk layanan Reflag (menggantikan baseUrl untuk panggilan API)." https://app.reflag.com/api "
appIdID aplikasi Reflag Anda.Wajib diisi
typesOutputJalur di mana tipe TypeScript akan dihasilkan. Dapat berupa string atau array objek dengan properti path dan format. Format yang tersedia: react dan node."gen/flags.ts" dengan format "react"

Anda dapat mengganti pengaturan ini menggunakan opsi baris perintah untuk perintah individual.

Perintah

reflag init

Inisialisasi konfigurasi Reflag baru di proyek Anda. Ini membuat file reflag.config.json dengan pengaturan Anda dan meminta informasi yang diperlukan yang tidak diberikan melalui opsi.

npx reflag init [--overwrite]

Opsi:

  • --overwrite: Menimpa file konfigurasi yang ada jika sudah ada.
  • --app-id <id>: Mengatur ID aplikasi.
  • --key-format <format>: Mengatur format kunci untuk flag.

reflag new [flagName]

Perintah serba-bisa untuk memulai dengan cepat. Perintah ini menggabungkan init, pembuatan flag, dan pembuatan tipe dalam satu langkah. Gunakan ini untuk cara tercepat memulai dengan Reflag.

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

Opsi:

  • --key: Kunci spesifik untuk flag.
  • --app-id: ID aplikasi yang akan digunakan.
  • --key-format: Format untuk kunci flag (custom, snake, camel, dll.).
  • --out: Jalur untuk menghasilkan tipe TypeScript.
  • --format: Format tipe yang dihasilkan (react atau node).

Jika Anda lebih suka kontrol yang lebih besar pada setiap langkah, Anda dapat menggunakan perintah individual (init, flags create, flags types) sebagai gantinya.

reflag login

Autentikasi dengan akun Reflag Anda. Ini menyimpan kredensial Anda dengan aman untuk operasi selanjutnya.

npx reflag login

reflag logout

Keluar dari akun Reflag Anda dan hapus kredensial yang tersimpan.

npx reflag logout

reflag flags

Kelola flag Reflag Anda dengan subperintah berikut:

reflag flags create [flagName]

Buat flag baru di aplikasi Reflag Anda. Perintah ini memandu Anda melalui proses pembuatan flag dengan prompt interaktif jika opsi tidak diberikan.

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

Opsi:

  • --key: Kunci spesifik untuk flag.
  • --app-id: ID aplikasi yang akan digunakan.
  • --key-format: Format untuk kunci flag.

reflag flags list

Daftarkan semua flag untuk aplikasi saat ini. Ini membantu Anda memvisualisasikan flag apa saja yang tersedia dan konfigurasi saat ini.

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

Opsi:

  • --app-id: ID aplikasi yang akan digunakan.

reflag flags types

Hasilkan tipe TypeScript untuk flag Anda. Ini memastikan keamanan tipe saat menggunakan flag Reflag di aplikasi TypeScript/JavaScript Anda.

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

Opsi:

  • --app-id: ID aplikasi yang akan digunakan.
  • --out: Jalur untuk menghasilkan tipe TypeScript.
  • --format: Format tipe yang dihasilkan (react atau node).

reflag apps

Perintah untuk mengelola aplikasi Reflag.

Opsi Global

Opsi ini dapat digunakan dengan perintah apa pun:

  • --debug: Aktifkan mode debug untuk output yang lebih detail.
  • --base-url <url>: Atur URL dasar untuk API Reflag.
  • --api-url <url>: Atur URL API secara langsung (menggantikan URL dasar).
  • --api-key <key>: Kunci API Reflag untuk autentikasi non-interaktif.
  • --help: Tampilkan informasi bantuan untuk sebuah perintah.

Pengembangan Berbantuan AI

Reflag menyediakan kemampuan pengembangan berbantuan AI yang kuat melalui aturan dan Model Context Protocol (MCP). Fitur-fitur ini membantu alat pengembangan AI Anda memahami flag Anda dengan lebih baik dan memberikan bantuan yang lebih akurat.

Perintah rules membantu Anda menyiapkan aturan khusus AI untuk proyek Anda. Aturan-aturan ini memungkinkan alat AI untuk lebih memahami cara bekerja dengan flag Reflag dan bagaimana flag tersebut harus digunakan di basis kode Anda.

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

Opsi:

  • --format: Format untuk menambahkan aturan:
    • cursor: Menambahkan aturan ke .cursor/rules/reflag.mdc untuk integrasi Cursor IDE.
      • copilot: Menambahkan aturan ke .github/copilot-instructions.md untuk integrasi GitHub Copilot.
  • --yes: Lewati prompt konfirmasi dan timpa file yang ada tanpa bertanya.

Perintah ini menambahkan aturan ke proyek Anda yang memberikan konteks kepada alat AI tentang cara menyiapkan dan menggunakan flag Reflag. Untuk format copilot, aturan ditambahkan ke bagian khusus di file, memungkinkan Anda mempertahankan instruksi copilot lainnya bersama dengan aturan Reflag.

Model Context Protocol

Model Context Protocol (MCP) adalah protokol terbuka yang menyediakan cara standar untuk menghubungkan model AI ke berbagai sumber data dan alat. Dalam konteks Reflag, MCP memungkinkan editor kode Anda memahami flag Anda, statusnya, dan hubungannya di dalam basis kode Anda. Ini menciptakan jembatan yang mulus antara alur kerja manajemen flag Anda dan alat pengembangan bertenaga AI. Server MCP dihosting oleh Reflag, sehingga mudah untuk memulai.

**Catatan: Perintah mcp CLI Reflag sebelumnya digunakan untuk server _lokal. Namun, dalam versi terbaru CLI Reflag, perintah mcp telah dialihfungsikan untuk membantu Anda terhubung ke server MCP jarak jauh yang baru.***

Menyiapkan MCP

Perintah mcp membantu Anda mengonfigurasi editor atau klien AI Anda untuk terhubung dengan server MCP jarak jauh Reflag. Ini memungkinkan alat AI Anda memahami flag Anda dan memberikan bantuan yang lebih kontekstual.

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

Opsi:

Perintah ini akan memandu Anda melalui:

  1. Memilih editor/klien mana yang akan dikonfigurasi.
  2. Memilih aplikasi Reflag mana yang akan dihubungkan.
  3. Memutuskan antara konfigurasi global atau lokal proyek.
  4. Menyiapkan file konfigurasi yang sesuai untuk editor pilihan Anda.

Catatan: Pengaturan menggunakan mcp-remote sebagai lapisan kompatibilitas yang memungkinkan server MCP Reflag yang dihosting jarak jauh bekerja dengan semua editor/klien yang mendukung server MCP STDIO. Jika editor/klien Anda mendukung HTTP Streaming dengan OAuth, Anda dapat terhubung langsung ke server MCP Reflag.

Penggunaan dalam Pipeline CI/CD

CLI Reflag dirancang untuk bekerja dengan mulus dalam pipeline CI/CD. Untuk lingkungan otomatis di mana login interaktif tidak memungkinkan, gunakan opsi --api-key atau tentukan kunci API di variabel lingkungan REFLAG_API_KEY.

# Generate types in CI/CD
npx reflag apps list --api-key $REFLAG_API_KEY

Pembatasan penting:

  • Saat menggunakan --api-key, perintah login dan logout dinonaktifkan
  • Kunci API melewati semua alur autentikasi interaktif
  • Kunci API terikat hanya pada satu aplikasi. Perintah seperti apps list hanya akan mengembalikan aplikasi yang terikat
  • Simpan kunci API dengan aman menggunakan manajemen rahasia platform CI/CD Anda

Contoh alur kerja 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 }}

Pengembangan

# Build the CLI
yarn build

# Run the CLI locally
yarn reflag [command]

# Lint and format code
yarn lint
yarn format

Persyaratan

  • Node.js >=18.0.0

Lisensi

Lisensi MIT Hak Cipta (c) 2025 Bucket ApS