Skip to content

Налаштування 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: не дають результату. Повна ієрархія описана в Root resolution.

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:

json
{
  "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:

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