Bucket

ทางการ

ตั้งค่าสถานะฟีเจอร์ จัดการข้อมูลบริษัท และควบคุมการเข้าถึงฟีเจอร์โดยใช้ Bucket

คุณทำอะไรได้บ้างด้วย Bucket MCP?

  • เริ่มต้นการตั้งค่าโปรเจกต์ — ขอให้ผู้ช่วยรัน reflag init เพื่อสร้าง reflag.config.json พร้อมด้วย App ID และการตั้งค่าของคุณ
  • สร้างฟีเจอร์แฟล็ก — ให้ผู้ช่วยรัน reflag flags create "My Flag" เพื่อเพิ่มแฟล็กใหม่พร้อมคีย์และรูปแบบที่กำหนดเองได้
  • สร้าง TypeScript types — ขอให้ผู้ช่วยรัน reflag flags types เพื่อสร้างคำจำกัดความของแฟล็กที่ปลอดภัยต่อชนิดข้อมูลสำหรับ React หรือ Node
  • แสดงรายการแฟล็กที่มีอยู่ — สั่งให้ผู้ช่วยรัน reflag flags list เพื่อดูแฟล็กทั้งหมดที่กำหนดค่าไว้สำหรับแอปปัจจุบันของคุณ
  • กำหนดค่ากฎสำหรับผู้ช่วย AI — ขอให้ผู้ช่วยรันเพื่อเพิ่มกฎบริบทของ Reflag สำหรับ Cursor หรือ Copilot
  • ตั้งค่าการเชื่อมต่อ MCP — ให้ผู้ช่วยรันเพื่อเชื่อมต่อโปรแกรมแก้ไขของคุณกับเซิร์ฟเวอร์ MCP ของ Reflag ระยะไกล

เอกสาร

Reflag CLI

อินเทอร์เฟซบรรทัดคำสั่งสำหรับการโต้ตอบกับบริการ Reflag CLI ช่วยให้คุณจัดการแอป แฟล็ก การรับรองความถูกต้อง และสร้าง TypeScript types สำหรับแฟล็ก Reflag ของคุณ ด้วยเครื่องมือนี้ คุณสามารถปรับปรุงขั้นตอนการทำงานแฟล็กของคุณได้โดยตรงจากเทอร์มินัล

การติดตั้ง

ติดตั้ง CLI เป็น development dependency ในโปรเจกต์ของคุณ:

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

# yarn
yarn add --dev @reflag/cli

รันคำสั่ง new จากไดเรกทอรีรากของโปรเจกต์เพื่อเริ่มต้น CLI สร้างแฟล็ก และสร้าง TypeScript types ในขั้นตอนเดียว:

# npm
npx reflag new

# yarn
yarn reflag new

การย้ายจาก Bucket SDK

หากคุณกำลังย้ายจาก Bucket CLI นี่คือการเปลี่ยนแปลงสำคัญที่ควรทราบ:

  • ชื่อคำสั่ง: เปลี่ยนจาก bucket เป็น reflag
  • ไฟล์นิยามประเภท: เปลี่ยนชื่อจาก features.d.ts เป็น flags.d.ts (ลบไฟล์เก่าด้วยตนเองหากถูกคอมมิตไว้)
  • ไฟล์รับรองความถูกต้อง: เปลี่ยนจาก .bucket-auth เป็น .reflag-auth (เปลี่ยนชื่อหรือลบไฟล์เก่า)
  • ไฟล์การกำหนดค่า: เปลี่ยนจาก bucket.config.json เป็น reflag.config.json (เปลี่ยนชื่อหรือลบไฟล์เก่า)
  • คำสั่ง: คำสั่ง features ตอนนี้คือ flags
  • ตัวแปรสภาพแวดล้อม: ใช้ REFLAG_API_KEY แทน BUCKET_API_KEY

สำคัญ: อัปเดตสคริปต์ ขั้นตอนการ build และรูปแบบ .gitignore ของคุณเพื่อสะท้อนการเปลี่ยนแปลงเหล่านี้

คำสั่งแต่ละคำสั่ง

เพื่อการควบคุมที่มากขึ้น คุณสามารถรันแต่ละคำสั่งแยกกันได้:

# 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

การกำหนดค่า

CLI สร้างไฟล์ reflag.config.json ในไดเรกทอรีโปรเจกต์ของคุณเมื่อคุณรัน reflag init ไฟล์นี้ประกอบด้วยการตั้งค่าที่จำเป็นทั้งหมดสำหรับการรวม Reflag ของคุณ

โครงสร้างไฟล์การกำหนดค่า

นี่คือตัวเลือกการกำหนดค่าทั้งหมดที่มีในไฟล์ 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"
    }
  ]
}
ตัวเลือกคำอธิบายค่าเริ่มต้น
$schemaการเติมข้อความอัตโนมัติสำหรับการกำหนดค่า latest สามารถแทนที่ด้วยเวอร์ชันเฉพาะได้" https://unpkg.com/@reflag/cli@latest/schema.json "
baseUrlURL พื้นฐานสำหรับบริการ Reflag" https://app.reflag.com "
apiUrlURL API สำหรับบริการ Reflag (แทนที่ baseUrl สำหรับการเรียก API)" https://app.reflag.com/api "
appIdรหัสแอปพลิเคชัน Reflag ของคุณจำเป็น
typesOutputเส้นทางที่ TypeScript types จะถูกสร้างขึ้น สามารถเป็นสตริงหรืออาร์เรย์ของออบเจกต์ที่มีคุณสมบัติ path และ format รูปแบบที่มี: react และ node"gen/flags.ts" พร้อมรูปแบบ "react"

คุณสามารถแทนที่การตั้งค่าเหล่านี้ได้โดยใช้ตัวเลือกบรรทัดคำสั่งสำหรับคำสั่งแต่ละคำสั่ง

คำสั่ง

reflag init

เริ่มต้นการกำหนดค่า Reflag ใหม่ในโปรเจกต์ของคุณ สิ่งนี้สร้างไฟล์ reflag.config.json พร้อมการตั้งค่าของคุณและแจ้งข้อมูลที่จำเป็นใด ๆ ที่ไม่ได้ระบุผ่านตัวเลือก

npx reflag init [--overwrite]

ตัวเลือก:

  • --overwrite: เขียนทับไฟล์การกำหนดค่าที่มีอยู่หากมีอยู่
  • --app-id <id>: ตั้งค่ารหัสแอปพลิเคชัน
  • --key-format <format>: ตั้งค่ารูปแบบคีย์สำหรับแฟล็ก

reflag new [flagName]

คำสั่งแบบครบวงจรเพื่อเริ่มต้นอย่างรวดเร็ว คำสั่งนี้รวม init การสร้างแฟล็ก และการสร้างประเภทในขั้นตอนเดียว ใช้วิธีนี้เพื่อวิธีที่เร็วที่สุดในการเริ่มต้นใช้งาน Reflag

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

ตัวเลือก:

  • --key: คีย์เฉพาะสำหรับแฟล็ก
  • --app-id: รหัสแอปที่จะใช้
  • --key-format: รูปแบบสำหรับคีย์แฟล็ก (custom, snake, camel, ฯลฯ)
  • --out: เส้นทางเพื่อสร้าง TypeScript types
  • --format: รูปแบบของประเภทที่สร้าง (react หรือ node)

หากคุณต้องการควบคุมแต่ละขั้นตอนมากขึ้น คุณสามารถใช้คำสั่งแต่ละคำสั่ง (init, flags create, flags types) แทนได้

reflag login

รับรองความถูกต้องด้วยบัญชี Reflag ของคุณ สิ่งนี้เก็บข้อมูลรับรองของคุณอย่างปลอดภัยสำหรับการดำเนินการครั้งต่อไป

npx reflag login

reflag logout

ออกจากระบบบัญชี Reflag ของคุณและลบข้อมูลรับรองที่เก็บไว้

npx reflag logout

reflag flags

จัดการแฟล็ก Reflag ของคุณด้วยคำสั่งย่อยเหล่านี้:

reflag flags create [flagName]

สร้างแฟล็กใหม่ในแอป Reflag ของคุณ คำสั่งจะแนะนำคุณผ่านกระบวนการสร้างแฟล็กด้วยพรอมต์โต้ตอบหากไม่ได้ระบุตัวเลือก

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

ตัวเลือก:

  • --key: คีย์เฉพาะสำหรับแฟล็ก
  • --app-id: รหัสแอปที่จะใช้
  • --key-format: รูปแบบสำหรับคีย์แฟล็ก

reflag flags list

แสดงรายการแฟล็กทั้งหมดสำหรับแอปปัจจุบัน สิ่งนี้ช่วยให้คุณเห็นภาพว่าแฟล็กใดบ้างที่พร้อมใช้งานและการกำหนดค่าปัจจุบันของแฟล็กเหล่านั้น

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

ตัวเลือก:

  • --app-id: รหัสแอปที่จะใช้

reflag flags types

สร้าง TypeScript types สำหรับแฟล็กของคุณ สิ่งนี้รับประกันความปลอดภัยของประเภทเมื่อใช้แฟล็ก Reflag ในแอปพลิเคชัน TypeScript/JavaScript ของคุณ

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

ตัวเลือก:

  • --app-id: รหัสแอปที่จะใช้
  • --out: เส้นทางเพื่อสร้าง TypeScript types
  • --format: รูปแบบของประเภทที่สร้าง (react หรือ node)

reflag apps

คำสั่งสำหรับจัดการแอป Reflag

ตัวเลือกทั่วโลก

ตัวเลือกเหล่านี้สามารถใช้กับคำสั่งใดก็ได้:

  • --debug: เปิดใช้งานโหมดดีบักสำหรับเอาต์พุตโดยละเอียด
  • --base-url <url>: ตั้งค่า URL พื้นฐานสำหรับ Reflag API
  • --api-url <url>: ตั้งค่า URL API โดยตรง (แทนที่ URL พื้นฐาน)
  • --api-key <key>: คีย์ API Reflag สำหรับการรับรองความถูกต้องแบบไม่โต้ตอบ
  • --help: แสดงข้อมูลช่วยเหลือสำหรับคำสั่ง

การพัฒนาที่ช่วยด้วย AI

Reflag มอบความสามารถการพัฒนาที่ช่วยด้วย AI ที่ทรงพลังผ่านกฎและ Model Context Protocol (MCP) คุณสมบัติเหล่านี้ช่วยให้เครื่องมือพัฒนา AI ของคุณเข้าใจแฟล็กของคุณได้ดีขึ้นและให้ความช่วยเหลือที่แม่นยำยิ่งขึ้น

คำสั่ง rules ช่วยให้คุณตั้งค่ากฎเฉพาะ AI สำหรับโปรเจกต์ของคุณ กฎเหล่านี้ช่วยให้เครื่องมือ AI เข้าใจวิธีการทำงานกับแฟล็ก Reflag และวิธีที่ควรใช้ในโค้ดเบสของคุณได้ดีขึ้น

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

ตัวเลือก:

  • --format: รูปแบบเพื่อเพิ่มกฎ:
    • cursor: เพิ่มกฎไปยัง .cursor/rules/reflag.mdc สำหรับการรวม Cursor IDE
      • copilot: เพิ่มกฎไปยัง .github/copilot-instructions.md สำหรับการรวม GitHub Copilot
  • --yes: ข้ามพรอมต์ยืนยันและเขียนทับไฟล์ที่มีอยู่โดยไม่ถาม

คำสั่งนี้เพิ่มกฎไปยังโปรเจกต์ของคุณที่ให้บริบทกับเครื่องมือ AI เกี่ยวกับวิธีการตั้งค่าและใช้แฟล็ก Reflag สำหรับรูปแบบ copilot กฎจะถูกเพิ่มไปยังส่วนเฉพาะในไฟล์ ทำให้คุณสามารถรักษาคำแนะนำ copilot อื่น ๆ ควบคู่ไปกับกฎของ Reflag ได้

Model Context Protocol

Model Context Protocol (MCP) เป็นโปรโตคอลเปิดที่ให้วิธีมาตรฐานในการเชื่อมต่อโมเดล AI กับแหล่งข้อมูลและเครื่องมือต่าง ๆ ในบริบทของ Reflag MCP ช่วยให้ตัวแก้ไขโค้ดของคุณเข้าใจแฟล็ก สถานะ และความสัมพันธ์ภายในโค้ดเบสของคุณ สิ่งนี้สร้างสะพานเชื่อมที่ราบรื่นระหว่างขั้นตอนการทำงานการจัดการแฟล็กของคุณและเครื่องมือพัฒนาที่ขับเคลื่อนด้วย AI เซิร์ฟเวอร์ MCP โฮสต์โดย Reflag ทำให้ง่ายต่อการเริ่มต้น

**หมายเหตุ: คำสั่ง Reflag mcp CLI เคยถูกใช้สำหรับเซิร์ฟเวอร์ _local อย่างไรก็ตาม ในเวอร์ชันล่าสุดของ Reflag CLI คำสั่ง mcp ถูกปรับเปลี่ยนเพื่อช่วยให้คุณเชื่อมต่อกับเซิร์ฟเวอร์ MCP ระยะไกลใหม่***

การตั้งค่า MCP

คำสั่ง mcp ช่วยให้คุณกำหนดค่าตัวแก้ไขหรือไคลเอนต์ AI ของคุณเพื่อเชื่อมต่อกับเซิร์ฟเวอร์ MCP ระยะไกลของ Reflag สิ่งนี้ช่วยให้เครื่องมือ AI ของคุณเข้าใจแฟล็กของคุณและให้ความช่วยเหลือตามบริบทมากขึ้น

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

ตัวเลือก:

  • --editor: ตัวแก้ไข/ไคลเอนต์ที่จะกำหนดค่า:
  • --scope: ว่าจะกำหนดค่าการตั้งค่าระดับโลกหรือระดับโปรเจกต์

คำสั่งจะแนะนำคุณผ่าน:

  1. การเลือกตัวแก้ไข/ไคลเอนต์ที่จะกำหนดค่า
  2. การเลือกแอป Reflag ที่จะเชื่อมต่อ
  3. การตัดสินใจระหว่างการกำหนดค่าระดับโลกหรือระดับโปรเจกต์
  4. การตั้งค่าไฟล์การกำหนดค่าที่เหมาะสมสำหรับตัวแก้ไขที่คุณเลือก

หมายเหตุ: การตั้งค่าใช้ mcp-remote เป็นเลเยอร์ความเข้ากันได้ที่อนุญาตให้เซิร์ฟเวอร์ MCP ระยะไกลที่โฮสต์โดย Reflag ทำงานกับตัวแก้ไข/ไคลเอนต์ทั้งหมดที่รองรับเซิร์ฟเวอร์ MCP STDIO หากตัวแก้ไข/ไคลเอนต์ของคุณรองรับ HTTP Streaming พร้อม OAuth คุณสามารถเชื่อมต่อกับเซิร์ฟเวอร์ MCP ของ Reflag ได้โดยตรง

การใช้ในไปป์ไลน์ CI/CD

Reflag CLI ออกแบบมาเพื่อทำงานอย่างราบรื่นในไปป์ไลน์ CI/CD สำหรับสภาพแวดล้อมอัตโนมัติที่ไม่สามารถเข้าสู่ระบบแบบโต้ตอบได้ ให้ใช้ตัวเลือก --api-key หรือระบุคีย์ API ในตัวแปรสภาพแวดล้อม REFLAG_API_KEY

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

ข้อจำกัดที่สำคัญ:

  • เมื่อใช้ --api-key คำสั่ง login และ logout จะถูกปิดใช้งาน
  • คีย์ API ข้ามขั้นตอนการรับรองความถูกต้องแบบโต้ตอบทั้งหมด
  • คีย์ API ผูกกับแอปเดียวเท่านั้น คำสั่งเช่น apps list จะส่งคืนเฉพาะแอปที่ผูกไว้เท่านั้น
  • เก็บคีย์ API อย่างปลอดภัยโดยใช้การจัดการความลับของแพลตฟอร์ม CI/CD ของคุณ

ตัวอย่างขั้นตอนการทำงาน 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 }}

การพัฒนา

# Build the CLI
yarn build

# Run the CLI locally
yarn reflag [command]

# Lint and format code
yarn lint
yarn format

ข้อกำหนด

  • Node.js >=18.0.0

ใบอนุญาต

ใบอนุญาต MIT ลิขสิทธิ์ (c) 2025 Bucket ApS