Bucket MCP Server

официальный

Управляйте функциями, данными компании и доступом к функциям с помощью Bucket.

Документация

Reflag CLI

Интерфейс командной строки для взаимодействия с сервисами Reflag. CLI позволяет управлять приложениями, флагами, аутентификацией и генерировать типы TypeScript для ваших флагов Reflag. С помощью этого инструмента вы можете оптимизировать рабочий процесс управления флагами прямо из терминала.

Установка

Установите 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
  • Переменная окружения: Используйте REFLAG_API_KEY вместо BUCKET_API_KEY

Важно: Обновите ваши скрипты, шаги сборки и шаблоны .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"
baseUrlБазовый URL для сервисов Reflag."https://app.reflag.com"
apiUrlURL API для сервисов Reflag (переопределяет baseUrl для вызовов API)."https://app.reflag.com/api"
appIdИдентификатор вашего приложения 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>: Установить идентификатор приложения.
  • --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.
  • --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 для ваших флагов. Это обеспечивает безопасность типов при использовании флагов Reflag в ваших приложениях TypeScript/JavaScript.

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

Параметры:

  • --app-id: Используемый идентификатор приложения.
  • --out: Путь для генерации типов TypeScript.
  • --format: Формат генерируемых типов (react или node).

reflag apps

Команды для управления приложениями Reflag.

Глобальные параметры

Эти параметры можно использовать с любой командой:

  • --debug: Включить режим отладки для подробного вывода.
  • --base-url <url>: Установить базовый URL для API Reflag.
  • --api-url <url>: Установить URL API напрямую (переопределяет базовый URL).
  • --api-key <key>: Ключ API Reflag для неинтерактивной аутентификации.
  • --help: Показать справочную информацию по команде.

Разработка с помощью ИИ

Reflag предоставляет мощные возможности разработки с помощью ИИ через правила и Model Context Protocol (MCP). Эти функции помогают вашим инструментам разработки на базе ИИ лучше понимать ваши флаги и предоставлять более точную помощь.

Правила Reflag (Рекомендуется)

Команда rules помогает настроить специфичные для ИИ правила для вашего проекта. Эти правила позволяют инструментам ИИ лучше понимать, как работать с флагами Reflag и как их следует использовать в вашей кодовой базе.

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

Параметры:

  • --format: Формат для добавления правил:
    • cursor: Добавляет правила в .cursor/rules/reflag.mdc для интеграции с Cursor IDE.
    • copilot: Добавляет правила в .github/copilot-instructions.md для интеграции с GitHub Copilot.
  • --yes: Пропустить запросы подтверждения и перезаписать существующие файлы без запроса.

Эта команда добавляет в ваш проект правила, которые предоставляют инструментам ИИ контекст о том, как настраивать и использовать флаги Reflag. Для формата copilot правила добавляются в специальный раздел файла, что позволяет вам поддерживать другие инструкции copilot наряду с правилами Reflag.

Model Context Protocol

Model Context Protocol (MCP) — это открытый протокол, предоставляющий стандартизированный способ подключения моделей ИИ к различным источникам данных и инструментам. В контексте Reflag MCP позволяет вашему редактору кода понимать ваши флаги, их состояния и их взаимосвязи в вашей кодовой базе. Это создает плавный мост между вашим рабочим процессом управления флагами и инструментами разработки на базе ИИ. MCP-сервер размещается Reflag, что упрощает начало работы.

**Примечание: Команда Reflag mcp CLI ранее использовалась для локального сервера. Однако в последних версиях Reflag CLI команда mcp была перепрофилирована, чтобы помочь вам подключиться к новому удаленному MCP-серверу.**

Настройка MCP

Команда mcp помогает настроить ваш редактор или ИИ-клиент для подключения к удаленному MCP-серверу Reflag. Это позволяет вашим инструментам ИИ понимать ваши флаги и предоставлять более контекстную помощь.

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 пайплайнах (Бета)

Reflag CLI разработан для бесперебойной работы в CI/CD пайплайнах. Для автоматизированных сред, где интерактивный вход невозможен, используйте параметр --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 (с использованием окружения):

  • 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