Bucket MCP Server

공식

플래그 기능을 관리하고, 회사 데이터를 관리하며, Bucket을 사용하여 기능 접근을 제어합니다.

문서

Reflag CLI

Reflag 서비스와 상호 작용하기 위한 명령줄 인터페이스입니다. 이 CLI를 사용하면 앱, 플래그, 인증을 관리하고 Reflag 플래그에 대한 TypeScript 타입을 생성할 수 있습니다. 이 도구를 사용하면 터미널에서 직접 플래그 작업 흐름을 간소화할 수 있습니다.

설치

프로젝트에 개발 종속성으로 CLI를 설치합니다:

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로 이름 변경 (커밋된 경우 이전 파일을 수동으로 제거)
  • 인증 파일: .bucket-auth에서 .reflag-auth로 변경 (이전 파일 이름 변경 또는 제거)
  • 구성 파일: bucket.config.json에서 reflag.config.json로 변경 (이전 파일 이름 변경 또는 제거)
  • 명령어: features 명령이 이제 flags
  • 환경 변수: BUCKET_API_KEY 대신 REFLAG_API_KEY 사용

중요: 이러한 변경 사항을 반영하도록 스크립트, 빌드 단계 및 .gitignore 패턴을 업데이트하십시오.

개별 명령어

더 세밀하게 제어하려면 각 명령어를 개별적으로 실행할 수 있습니다:

프로젝트에서 Reflag 초기화 (아직 설정되지 않은 경우)

npx reflag init

새 플래그 생성

npx reflag flags create "My Flag"

플래그에 대한 TypeScript 타입 생성

npx reflag flags types

구성

CLI는 reflag init를 실행할 때 프로젝트 디렉터리에 reflag.config.json 파일을 생성합니다. 이 파일에는 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"
baseUrlReflag 서비스의 기본 URL."https://app.reflag.com"
apiUrlReflag 서비스의 API URL (API 호출 시 baseUrl을 재정의)."https://app.reflag.com/api"
appIdReflag 애플리케이션 ID.필수
typesOutputTypeScript 타입이 생성될 경로. 문자열 또는 path 및 format 속성을 가진 객체 배열일 수 있습니다. 사용 가능한 형식: react 및 node.형식이 "react"인 "gen/flags.ts"

개별 명령어에 대한 명령줄 옵션을 사용하여 이러한 설정을 재정의할 수 있습니다.

명령어

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 타입을 생성합니다. 이는 TypeScript/JavaScript 애플리케이션에서 Reflag 플래그를 사용할 때 타입 안전성을 보장합니다.

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>: Reflag API의 기본 URL을 설정합니다.
  • --api-url <url>: API URL을 직접 설정합니다 (기본 URL 재정의).
  • --api-key <key>: 비대화형 인증을 위한 Reflag API 키.
  • --help: 명령어에 대한 도움말 정보를 표시합니다.

AI 지원 개발

Reflag는 규칙 및 모델 컨텍스트 프로토콜(MCP)을 통해 강력한 AI 지원 개발 기능을 제공합니다. 이러한 기능은 AI 개발 도구가 플래그를 더 잘 이해하고 더 정확한 지원을 제공하도록 돕습니다.

Reflag 규칙 (권장)

rules 명령은 프로젝트에 대한 AI별 규칙을 설정하는 데 도움이 됩니다. 이러한 규칙을 통해 AI 도구는 Reflag 플래그를 사용하는 방법과 코드베이스에서 어떻게 사용해야 하는지 더 잘 이해할 수 있습니다.

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

옵션:

  • --format: 규칙을 추가할 형식:
    • cursor: Cursor IDE 통합을 위해 .cursor/rules/reflag.mdc에 규칙을 추가합니다.
    • copilot: GitHub Copilot 통합을 위해 .github/copilot-instructions.md에 규칙을 추가합니다.
  • --yes: 확인 프롬프트를 건너뛰고 묻지 않고 기존 파일을 덮어씁니다.

이 명령은 AI 도구에 Reflag 플래그를 설정하고 사용하는 방법에 대한 컨텍스트를 제공하는 규칙을 프로젝트에 추가합니다. copilot 형식의 경우 규칙은 파일의 전용 섹션에 추가되므로 Reflag의 규칙과 함께 다른 copilot 지침을 유지할 수 있습니다.

모델 컨텍스트 프로토콜

모델 컨텍스트 프로토콜(MCP)은 AI 모델을 다양한 데이터 소스 및 도구에 연결하는 표준화된 방법을 제공하는 개방형 프로토콜입니다. Reflag의 맥락에서 MCP를 사용하면 코드 편집기가 플래그, 해당 상태 및 코드베이스 내 관계를 이해할 수 있습니다. 이는 플래그 관리 워크플로우와 AI 기반 개발 도구 사이에 원활한 다리를 만듭니다. MCP 서버는 Reflag에서 호스팅하므로 쉽게 시작할 수 있습니다.

**참고: Reflag mcp CLI 명령은 이전에 로컬 서버에 사용되었습니다. 그러나 최신 버전의 Reflag CLI에서는 mcp 명령이 새로운 원격 MCP 서버에 연결하는 데 도움이 되도록 용도가 변경되었습니다.**

MCP 설정

mcp 명령은 편집기 또는 AI 클라이언트가 Reflag의 원격 MCP 서버에 연결하도록 구성하는 데 도움이 됩니다. 이를 통해 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를 호환성 계층으로 사용하여 원격 호스팅 Reflag MCP 서버가 MCP STDIO 서버를 지원하는 모든 편집기/클라이언트와 작동하도록 합니다. 편집기/클라이언트가 OAuth를 통한 HTTP 스트리밍을 지원하는 경우 Reflag MCP 서버에 직접 연결할 수 있습니다.

CI/CD 파이프라인에서 사용 (베타)

Reflag CLI는 CI/CD 파이프라인에서 원활하게 작동하도록 설계되었습니다. 대화형 로그인이 불가능한 자동화된 환경의 경우 --api-key 옵션을 사용하거나 REFLAG_API_KEY 환경 변수에 API 키를 지정하십시오.

CI/CD에서 타입 생성

npx reflag apps list --api-key $REFLAG_API_KEY

중요 제한 사항:

  • --api-key를 사용하는 경우 loginlogout 명령이 비활성화됩니다.
  • API 키는 모든 대화형 인증 흐름을 우회합니다.
  • API 키는 하나의 앱에만 바인딩됩니다. apps list와 같은 명령은 바인딩된 앱만 반환합니다.
  • CI/CD 플랫폼의 비밀 관리를 사용하여 API 키를 안전하게 저장하십시오.

CI 워크플로 예시:

GitHub Actions 예시

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

GitHub Actions 예시 (환경 사용):

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

개발

CLI 빌드

yarn build

CLI 로컬 실행

yarn reflag [command]

코드 린트 및 포맷

yarn lint yarn format

요구 사항

  • Node.js >=18.0.0

라이선스

MIT License Copyright (c) 2025 Bucket ApS