Настройки 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 в терминале.
| Поле | Соглашение |
|---|---|
style | workspace-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
}
}