Bucket MCP Server

ทางการ

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

เอกสาร

Reflag CLI

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

การติดตั้ง

ติดตั้ง CLI เป็น dependency สำหรับการพัฒนาในโปรเจกต์ของคุณ:

npm

npm install --save-dev @reflag/cli

yarn

yarn add --dev @reflag/cli

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

npm

npx reflag new

yarn

yarn reflag new

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

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

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

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

คำสั่งแต่ละรายการ

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

เริ่มต้น Reflag ในโปรเจกต์ของคุณ (หากยังไม่ได้ตั้งค่า)

npx reflag init

สร้างแฟล็กใหม่

npx reflag flags create "My Flag"

สร้างไทป์ TypeScript สำหรับแฟล็กของคุณ

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"
appIdID แอปพลิเคชัน Reflag ของคุณจำเป็น
typesOutputพาธที่ไทป์ TypeScript จะถูกสร้างขึ้น สามารถเป็นสตริงหรืออาร์เรย์ของออบเจกต์ที่มีพร็อพเพอร์ตี้ path และ format รูปแบบที่ใช้ได้: react และ node"gen/flags.ts" พร้อมรูปแบบ "react"

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

คำสั่ง

reflag init

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

npx reflag init [--overwrite]

ตัวเลือก:

  • --overwrite: เขียนทับไฟล์การกำหนดค่าที่มีอยู่หากมีอยู่แล้ว
  • --app-id <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: ID แอปที่จะใช้
  • --key-format: รูปแบบสำหรับคีย์แฟล็ก (custom, snake, camel, ฯลฯ)
  • --out: พาธที่จะสร้างไทป์ TypeScript
  • --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: ID แอปที่จะใช้
  • --key-format: รูปแบบสำหรับคีย์แฟล็ก

reflag flags list

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

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

ตัวเลือก:

  • --app-id: ID แอปที่จะใช้

reflag flags types

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

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

ตัวเลือก:

  • --app-id: ID แอปที่จะใช้
  • --out: พาธที่จะสร้างไทป์ TypeScript
  • --format: รูปแบบของไทป์ที่สร้างขึ้น (react หรือ node)

reflag apps

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

ตัวเลือกส่วนกลาง

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

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

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

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

กฎ Reflag (แนะนำ)

คำสั่ง 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 ก่อนหน้านี้ใช้สำหรับเซิร์ฟเวอร์ ภายใน อย่างไรก็ตาม ในเวอร์ชันล่าสุดของ Reflag CLI คำสั่ง mcp ได้ถูกนำมาใช้ใหม่เพื่อช่วยคุณเชื่อมต่อกับเซิร์ฟเวอร์ MCP ระยะไกลใหม่**

การตั้งค่า MCP

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

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

ตัวเลือก:

  • --editor: ตัวแก้ไข/ไคลเอนต์ที่จะกำหนดค่า:
    • cursor: Cursor IDE
    • vscode: Visual Studio Code
    • claude: Claude Desktop
    • windsurf: Windsurf
  • --scope: ว่าจะกำหนดค่าการตั้งค่าทั่วโลกหรือเฉพาะโปรเจกต์

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

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

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

การใช้ใน CI/CD Pipelines (เบต้า)

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

สร้างไทป์ใน 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

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

ตัวอย่าง GitHub Actions (ใช้ environment):

  • name: Generate types (environment) run: npx reflag flags types env: REFLAG_API_KEY: ${{ secrets.REFLAG_CI_API_KEY }}

การพัฒนา

Build CLI

yarn build

รัน CLI ในเครื่อง

yarn reflag [command]

ตรวจสอบและจัดรูปแบบโค้ด

yarn lint yarn format

ความต้องการ

  • Node.js >=18.0.0

ใบอนุญาต

MIT License Copyright (c) 2025 Bucket ApS