OpenSpec
СправочникConfiguration

Настройки CLI (config.json)

Каждое поле config.json: как CLI openspec работает на вашем компьютере.

Расположение

CLI хранит настройки уровня компьютера в ~/.config/openspec/config.json в macOS и Linux и в %APPDATA%\openspec\config.json в Windows. Если задана переменная $XDG_CONFIG_HOME, она имеет приоритет на любой платформе. Команда openspec config считывает и изменяет этот файл.

Поля

КлючТипОбязательноДействие
profileстрока: core или customНетВыбирает набор процессов, устанавливаемый openspec init
deliveryстрока: both, skills или commandsНетОпределяет, что устанавливает init: навыки, слэш-команды или и то и другое
workflowsсписок строкНетСписок процессов, устанавливаемых профилем custom
featureFlagsсловарь: флаг → логическое значениеНетЛогические переключатели функций
defaultStoreстрокаНетРезервное хранилище уровня компьютера для определения корня
openersсловарь: идентификатор инструмента → настройкиНетИнструменты, в которых открываются рабочие наборы, и способ запуска каждого из них
telemetryсловарьНетОтказ от телеметрии, анонимный идентификатор и состояние показа уведомления

profile

Определяет набор процессов, который устанавливает openspec init. По умолчанию используется core: propose, explore, apply, update, sync и archive. При значении custom вместо этого устанавливаются процессы в точности по списку workflows.

delivery

Определяет, устанавливает ли init процессы в виде навыков, слэш-команд или и того и другого. По умолчанию используется both.

workflows

Процессы, которые устанавливает профиль custom; не используется, если профиль — core. Допустимые идентификаторы: propose, explore, new, continue, apply, update, ff, sync, archive, bulk-archive, verify, onboard.

featureFlags

Логические переключатели, ключами которых служат имена флагов; задаются с помощью openspec config set featureFlags.<flag> true. На данный момент CLI не считывает ни один флаг.

defaultStore

Идентификатор резервного хранилища уровня компьютера для определения корня. Он используется только тогда, когда корень не удаётся определить по флагу --store, локальному каталогу openspec/ или указателю store: в проекте. Полная последовательность приведена в разделе Определение корня.

openers

Инструменты, в которых можно открыть рабочий набор, с идентификаторами инструментов в качестве ключей. Измените openers в глобальном config.json с помощью команды openspec config edit в терминале.

ПолеСоглашение
styleworkspace-file или attach-dirs. Обязательно для нового инструмента; необязательно для встроенного.
labelНепустая строка, отображаемая в списке выбора инструментов. Для нового инструмента по умолчанию используется его идентификатор.
commandНепустое имя исполняемого файла или путь к нему. Для нового инструмента по умолчанию используется его идентификатор. Аргументы указывайте в args, а не в этой строке.
argsМассив строк, передаваемых перед файлом рабочей области или флагами присоединения. Для нового инструмента по умолчанию используется [].
attach_flagНепустая строка, указываемая в паре с путём каждого элемента для attach-dirs. Для нового инструмента по умолчанию используется --add-dir. Игнорируется для workspace-file.

Переопределения для встроенных инструментов: code, cursor, claude и codex сохраняют все поля, которые вы не указываете. При задании args заменяется весь список аргументов; [] очищает его.

Способы запуска: workspace-file передаёт исполняемому файлу путь к созданному файлу .code-workspace. attach-dirs передаёт по одной паре «флаг/путь» на каждый элемент, включая основной.

Доступность: средства открытия attach-dirs, включая Claude Code и Codex, по умолчанию отключены. Их нельзя выбрать или сохранить с помощью --tool, а OpenSpec отказывается открывать рабочий набор, в котором уже указано одно из таких средств. Переопределения в конфигурации не позволяют включить способ запуска attach-dirs.

Валидация: неизвестные поля, недопустимые типы и новый инструмент без style вызывают ошибку, когда команда рабочего набора считывает таблицу средств открытия.

Этот пример добавляет VS Code Insiders и передаёт --new-window при каждом запуске встроенного средства открытия VS Code:

{
  "openers": {
    "code-insiders": {
      "style": "workspace-file",
      "label": "VS Code Insiders"
    },
    "code": {
      "args": ["--new-window"]
    }
  }
}

Соответствующий исполняемый файл code-insiders или code должен быть установлен и доступен через PATH.

telemetry

CLI хранит ваш анонимный идентификатор и сведения о том, было ли показано уведомление при первом запуске. Чтобы отключить телеметрию, установите для telemetry.enabled значение false. Вы также можете отказаться от телеметрии, задав в окружении OPENSPEC_TELEMETRY=0 или DO_NOT_TRACK=1.

Пример

Заполненный файл config.json:

{
  "profile": "core",
  "delivery": "both",
  "featureFlags": {},
  "telemetry": {
    "anonymousId": "5f8a2c1e-4b6d-4f9a-9c3d-7e1b2a8d4c6f",
    "noticeSeen": true
  }
}

On this page