Налаштування 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 у терміналі.
| Поле | Контракт |
|---|---|
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
}
}