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 " |
baseUrl | URL พื้นฐานสำหรับบริการ Reflag | " https://app.reflag.com " |
apiUrl | URL 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 IDEcopilot: เพิ่มกฎไปยัง.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: ตัวแก้ไข/ไคลเอนต์ที่จะกำหนดค่า:cursor: Cursor IDEvscode: Visual Studio Codeclaude: Claude Desktopwindsurf: Windsurf
--scope: ว่าจะกำหนดค่าการตั้งค่าระดับโลกหรือระดับโปรเจกต์
คำสั่งจะแนะนำคุณผ่าน:
- การเลือกตัวแก้ไข/ไคลเอนต์ที่จะกำหนดค่า
- การเลือกแอป Reflag ที่จะเชื่อมต่อ
- การตัดสินใจระหว่างการกำหนดค่าระดับโลกหรือระดับโปรเจกต์
- การตั้งค่าไฟล์การกำหนดค่าที่เหมาะสมสำหรับตัวแก้ไขที่คุณเลือก
หมายเหตุ: การตั้งค่าใช้ 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