Bucket
resmiKelola 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 initguna membuatreflag.config.jsondengan 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 typesguna menghasilkan definisi flag yang aman terhadap tipe untuk React atau Node. - List existing flags — Instruksikan asisten untuk menjalankan
reflag flags listguna 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
bucketmenjadireflag - File definisi tipe: Diubah namanya dari
features.d.tsmenjadiflags.d.ts(hapus file lama secara manual jika sudah di-commit) - File autentikasi: Berubah dari
.bucket-authmenjadi.reflag-auth(ubah nama atau hapus file lama) - File konfigurasi: Berubah dari
bucket.config.jsonmenjadireflag.config.json(ubah nama atau hapus file lama) - Perintah: Perintah
featuressekarang menjadiflags - Variabel lingkungan: Gunakan
REFLAG_API_KEYalih-alihBUCKET_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"
}
]
}
| Opsi | Deskripsi | Default |
|---|---|---|
$schema | Pelengkapan otomatis untuk konfigurasi. latest dapat diganti dengan versi tertentu. | " https://unpkg.com/@reflag/cli@latest/schema.json " |
baseUrl | URL dasar untuk layanan Reflag. | " https://app.reflag.com " |
apiUrl | URL API untuk layanan Reflag (menggantikan baseUrl untuk panggilan API). | " https://app.reflag.com/api " |
appId | ID aplikasi Reflag Anda. | Wajib diisi |
typesOutput | Jalur 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.mdcuntuk integrasi Cursor IDE.copilot: Menambahkan aturan ke.github/copilot-instructions.mduntuk 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:
--editor: Editor/klien yang akan dikonfigurasi:cursor: Cursor IDEvscode: Visual Studio Codeclaude: Claude Desktopwindsurf: Windsurf
--scope: Apakah akan mengonfigurasi pengaturan secara global atau lokal untuk proyek.
Perintah ini akan memandu Anda melalui:
- Memilih editor/klien mana yang akan dikonfigurasi.
- Memilih aplikasi Reflag mana yang akan dihubungkan.
- Memutuskan antara konfigurasi global atau lokal proyek.
- 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, perintahlogindanlogoutdinonaktifkan - Kunci API melewati semua alur autentikasi interaktif
- Kunci API terikat hanya pada satu aplikasi. Perintah seperti
apps listhanya 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