Довідник CLI
CLI OpenSpec (openspec) надає команди термінала для налаштування проєкту, валідації, перегляду стану та керування. Ці команди доповнюють AI-команди зі слешем (такі як /opsx:propose), описані в розділі Команди.
Підсумок
| Категорія | Команди | Призначення |
|---|---|---|
| Налаштування | init, update | Ініціалізація та оновлення OpenSpec у вашому проєкті |
| Робочі простори (бета) | workspace setup, workspace list, workspace ls, workspace link, workspace relink, workspace doctor, workspace update, workspace open | Налаштування локальних представлень пов'язаних репозиторіїв або тек |
| Спільний контекст (бета) | context-store setup, context-store register, context-store unregister, context-store remove, context-store list, context-store doctor, initiative create, initiative show, initiative list | Керування реєстраціями локального context-store та довготривалим контекстом ініціатив |
| Перегляд | list, view, show | Огляд змін та специфікацій |
| Валідація | validate | Перевірка змін та специфікацій на наявність проблем |
| Життєвий цикл | archive | Завершення виконаних змін |
| Робочий процес | new change, set change, status, instructions, templates, schemas | Підтримка робочого процесу на основі артефактів |
| Схеми | schema init, schema fork, schema validate, schema which | Створення та керування користувацькими робочими процесами |
| Конфігурація | config | Перегляд та зміна налаштувань |
| Утиліти | feedback, completion | Зворотний зв'язок та інтеграція з оболонкою |
Людина vs Команди агентів
Більшість CLI-команд призначені для використання людиною в терміналі. Деякі команди також підтримують використання агентами/скриптами через JSON-вивід.
Команди лише для людей
Ці команди є інтерактивними та призначені для використання в терміналі:
| Команда | Призначення |
|---|---|
openspec init | Ініціалізація проєкту (інтерактивні підказки) |
openspec view | Інтерактивна панель |
openspec config edit | Відкрити конфігурацію в редакторі |
openspec feedback | Надіслати відгук через GitHub |
openspec completion install | Встановити автодоповнення для оболонки |
Команди, сумісні з агентами
Ці команди підтримують --json вивід для програмного використання AI-агентами та скриптами:
| Команда | Використання людиною | Використання агентом |
|---|---|---|
openspec list | Перегляд змін/специфікацій | --json для структурованих даних |
openspec show <item> | Читання вмісту | --json для аналізу |
openspec validate | Перевірка наявності проблем | --all --json для масової валідації |
openspec status | Перегляд прогресу артефактів | --json для структурованого статусу |
openspec instructions | Отримання наступних кроків | --json для інструкцій агента |
openspec templates | Пошук шляхів до шаблонів | --json для визначення шляхів |
openspec schemas | Список доступних схем | --json для виявлення схем |
openspec workspace setup --no-interactive | Створення робочого простору з явними вхідними даними | --json для структурованого виводу налаштування |
openspec workspace list | Перегляд відомих робочих просторів | --json для типізованих об'єктів робочого простору |
openspec workspace link | Прив'язка репозиторію або папки | --json для структурованого виводу прив'язки |
openspec workspace relink | Відновлення прив'язаного шляху | --json для структурованого виводу прив'язки |
openspec workspace doctor | Перевірка одного робочого простору | --json для структурованого виводу статусу |
openspec workspace update | Оновлення локальних рекомендацій та навичок агентів робочого простору | --tools вибирає агентів; профіль вибирає робочі процеси |
openspec context-store setup <id> | Створення локального сховища контексту | --json з явними вхідними даними для структурованого виводу налаштування |
openspec context-store register <path> | Реєстрація існуючого сховища контексту | --json для структурованого виводу реєстрації |
openspec context-store unregister <id> | Видалення реєстрації локального сховища контексту | --json для структурованого виводу очищення |
openspec context-store remove <id> | Видалення зареєстрованої папки локального сховища контексту | --yes --json для неінтерактивного видалення |
openspec context-store list | Перегляд зареєстрованих сховищ контексту | --json для структурованих реєстрацій |
openspec context-store doctor | Перевірка налаштування локального сховища | --json для структурованої діагностики |
openspec initiative list | Перегляд спільних ініціатив | --json для структурованих записів ініціатив |
openspec initiative show <id> | Вирішення ініціативи | --json для канонічних шляхів та метаданих |
openspec new change <id> | Створення локального каркасу змін у репозиторії | --json, плюс --initiative для посилань на спільну координацію |
openspec set change <id> | Оновлення впроваджених метаданих змін | --json, плюс --initiative для посилань на спільну координацію |
Глобальні параметри
Ці параметри працюють з усіма командами:
| Параметр | Опис |
|---|---|
--version, -V | Показати номер версії |
--no-color | Вимкнути кольоровий вивід |
--help, -h | Показати довідку для команди |
Команди налаштування
openspec init
Ініціалізація OpenSpec у вашому проєкті. Створює структуру папок та налаштовує інтеграції з AI-інструментами.
Поведінка за замовчуванням використовує глобальні налаштування конфігурації: профіль core, доставка both, робочі процеси propose, explore, apply, sync, archive.
openspec init [path] [options]Аргументи:
| Аргумент | Обов'язковий | Опис |
|---|---|---|
path | Ні | Цільова директорія (за замовчуванням: поточна директорія) |
Параметри:
| Параметр | Опис |
|---|---|
--tools <list> | Налаштувати AI-інструменти неінтерактивно. Використовуйте all, none або список через кому |
--force | Автоматичне очищення застарілих файлів без запитань |
--profile <profile> | Перевизначити глобальний профіль для цього запуску init (core або custom) |
--profile custom використовує будь-які робочі процеси, які наразі вибрані в глобальній конфігурації (openspec config profile).
Підтримувані ідентифікатори інструментів (--tools): amazon-q, antigravity, auggie, bob, claude, cline, codex, forgecode, codebuddy, continue, costrict, crush, cursor, factory, gemini, github-copilot, iflow, junie, kilocode, kimi, kiro, opencode, pi, qoder, lingma, qwen, roocode, trae, windsurf
Приклади:
bash
# Інтерактивна ініціалізація
openspec init
# Ініціалізація в конкретній директорії
openspec init ./my-project
# Неінтерактивне налаштування для Claude та Cursor
openspec init --tools claude,cursor
# Налаштування для всіх підтримуваних інструментів
openspec init --tools all
# Перевизначення профілю для цього запуску
openspec init --profile core
# Пропуск запитань та автоматичне очищення застарілих файлів
openspec init --forceЩо створюється:
openspec/
├── specs/ # Ваші специфікації (джерело істини)
├── changes/ # Запропоновані зміни
└── config.yaml # Конфігурація проєкту
.claude/skills/ # Навички Claude Code (якщо вибрано claude)
.cursor/skills/ # Навички Cursor (якщо вибрано cursor)
.cursor/commands/ # OPSX-команди Cursor (якщо доставка включає команди)
... (інші конфігурації інструментів)openspec update
Оновлення файлів інструкцій OpenSpec після оновлення CLI. Повторно генерує файли конфігурації AI-інструментів, використовуючи ваш поточний глобальний профіль, вибрані робочі процеси та режим доставки.
openspec update [path] [options]Аргументи:
| Аргумент | Обов'язковий | Опис |
|---|---|---|
path | Ні | Цільова директорія (за замовчуванням: поточна директорія) |
Параметри:
| Параметр | Опис |
|---|---|
--force | Примусове оновлення, навіть якщо файли актуальні |
Приклад:
bash
# Оновлення файлів інструкцій після оновлення npm
npm update @fission-ai/openspec
openspec updateКоманди робочого простору
Команди робочого простору знаходяться в бета-версії. Нижче наведена модель локального перегляду є поточним напрямком, але зовнішня автоматизація, інтеграції та довготривалі робочі процеси все ще повинні розглядати поведінку команд, файли стану та JSON-вивід як такі, що розвиваються.
Робочі простори координації є машинно-локальними представленнями пов'язаних репозиторіїв або папок. Видимість робочого простору не є фіксацією змін: прив'яжіть репозиторії або папки, які OpenSpec повинен знати, а потім створюйте зміни, коли будете готові планувати конкретну роботу.
openspec workspace setup
Створення робочого простору в стандартному розташуванні робочого простору OpenSpec та прив'язка принаймні одного існуючого репозиторію або папки.
bash
openspec workspace setup [options]Параметри:
| Параметр | Опис |
|---|---|
--name <name> | Назва робочого простору. Назви повинні бути у форматі kebab-case |
--link <path> | Прив'язати існуючий репозиторій або папку та визначити назву прив'язки з назви папки |
--link <name>=<path> | Прив'язати існуючий репозиторій або папку з явною назвою прив'язки |
--opener <id> | Зберегти бажаний відкривач під час неінтерактивного налаштування: codex-cli, claude, github-copilot або editor |
--tools <tools> | Встановити локальні навички OpenSpec для агентів у робочому просторі. Використовуйте all, none або список через кому ідентифікаторів інструментів |
--no-interactive | Вимкнути запити; вимагає --name та принаймні один --link |
--json | Вивід у форматі JSON; вимагає --no-interactive |
Приклади:
bash
openspec workspace setup
openspec workspace setup --no-interactive --name platform --link /repos/api --link web=/repos/web
openspec workspace setup --no-interactive --name platform --link /repos/api --opener codex-cli
openspec workspace setup --no-interactive --name platform --link /repos/api --tools codex,claude
openspec workspace setup --no-interactive --json --name checkout --link /repos/platform/apps/checkoutІнтерактивне налаштування запитує бажаний відкривач та може встановлювати локальні навички OpenSpec для вибраних агентів у робочому просторі. Неінтерактивне налаштування зберігає бажаний відкривач лише тоді, коли надано --opener; в іншому випадку workspace open запитуватиме пізніше в інтерактивних терміналах, коли підтримуваний відкривач доступний, або проситиме скрипти передати --agent <tool> або --editor.
Встановлення навичок робочого простору в цій бета-версії є лише навичками: навіть якщо глобальна доставка є commands або both, налаштування робочого простору записує папки навичок агентів у корені робочого простору та не створює файлів команд з косою рискою. Активний глобальний профіль вибирає, які навички робочих процесів встановлюються; --tools вибирає, які агенти їх отримують. Якщо --tools опущено в неінтерактивному налаштуванні, навички не встановлюються, і workspace update --tools <ids> може додати їх пізніше.
openspec workspace list
Список відомих робочих просторів OpenSpec з локального реєстру.
bash
openspec workspace list [--json]
openspec workspace ls [--json]Список показує розташування кожного робочого простору та пов'язані репозиторії або папки. Застарілі записи реєстру повідомляються, але не змінюються.
openspec workspace link
Запис існуючого репозиторію або папки для одного робочого простору.
bash
openspec workspace link [name] <path> [options]Параметри:
| Параметр | Опис |
|---|---|
--workspace <name> | Вибрати відомий робочий простір з локального реєстру |
--json | Вивід у форматі JSON |
--no-interactive | Вимкнути запити вибору робочого простору |
Приклади:
bash
openspec workspace link /repos/api
openspec workspace link api-service /repos/api
openspec workspace link --workspace platform /repos/platform/apps/checkoutШлях повинен вже існувати. Відносні шляхи вирішуються відносно поточної директорії команди перед тим, як OpenSpec зберігає перевірений абсолютний шлях у машинно-локальному стані робочого простору. Пов'язані шляхи можуть бути повними репозиторіями, пакетами, сервісами, додатками або папками без стану openspec/ на рівні репозиторію.
openspec workspace relink
Відновлення або зміна локального шляху для існуючої прив'язки.
bash
openspec workspace relink <name> <path> [options]Шлях повинен вже існувати. Relink оновлює лише машинно-локальний шлях для стабільної назви прив'язки.
openspec workspace doctor
Перевірка того, що один робочий простір може вирішити на поточній машині.
bash
openspec workspace doctor [options]Doctor показує розташування робочого простору, пов'язані репозиторії або папки, відсутні шляхи, шляхи специфікацій на рівні репозиторію, якщо вони є, та запропоновані виправлення. JSON-вивід також включає шлях планування робочого простору для сумісності. Він повідомляє лише про проблеми; він не виправляє їх автоматично.
Команди, яким потрібен один робочий простір, використовують поточний робочий простір, коли запускаються зсередини папки або піддиректорії робочого простору. З іншого місця передайте --workspace <name>, виберіть з вибірника в інтерактивному терміналі або покладіться на єдиний відомий робочий простір, коли існує лише один. У режимі --json або --no-interactive неоднозначний вибір завершується помилкою структурованого статусу та пропонує --workspace <name>.
JSON-відповіді використовують типізовані об'єкти плюс масиви status. Основні дані знаходяться в workspace, workspaces або link; попередження та помилки знаходяться в status.
openspec workspace update
Оновлення локальних рекомендацій OpenSpec та навичок агентів робочого простору.
bash
openspec workspace update [name] [options]Параметри:
| Параметр | Опис |
|---|---|
--workspace <name> | Вибрати відомий робочий простір з локального реєстру |
--tools <tools> | Вибрати агентів для навичок робочого простору. Використовуйте all, none або список через кому ідентифікаторів інструментів |
--json | Вивід у форматі JSON |
--no-interactive | Вимкнути запити вибору робочого простору |
Приклади:
bash
openspec workspace update
openspec workspace update platform
openspec workspace update --workspace platform --tools codex,claude
openspec workspace update --workspace platform --tools noneworkspace update оновлює згенерований блок рекомендацій робочого простору та локальну відкриту поверхню. Для навичок агентів він повторно використовує збережений вибір агента навичок робочого простору, коли --tools опущено. Передача --tools замінює це збережене виділення. Він оновлює лише керовані директорії навичок робочих процесів OpenSpec у корені робочого простору, видаляє не вибрані керовані навички робочих процесів та залишає пов'язані репозиторії та папки недоторканими.
Запуск openspec update зсередини робочого простору перенаправляє на openspec workspace update; запускайте openspec update всередині проєктів на рівні репозиторію, коли потрібно оновити файли інструментів, що належать репозиторію.
openspec workspace open
Відкриття робочого набору через збережений бажаний відкривач, одноразове перевизначення агента або режим редактора VS Code.
bash
openspec workspace open [name] [options]Параметри:
| Параметр | Опис |
|---|---|
--workspace <name> | Псевдонім для позиційної назви робочого простору |
--initiative <id> | Відкрити ініціативу як локальне представлення робочого простору. Приймає <id> або <store>/<id> |
--store <id> | Ідентифікатор зареєстрованого сховища контексту для --initiative |
--store-path <path> | Існуючий корінь локального сховища контексту для --initiative |
--agent <tool> | Одноразове перевизначення агента: codex-cli, claude або github-copilot |
--editor | Відкрити підтримуваний файл робочого простору VS Code як звичайне представлення робочого простору редактора |
--no-interactive | Вимкнути запити вибору робочого простору та відкривача |
Приклади:
bash
openspec workspace open
openspec workspace open platform
openspec workspace open platform --agent github-copilot
openspec workspace open --agent codex-cli
openspec workspace open --editor
openspec workspace open --initiative billing-launch --store platform
openspec workspace open --initiative platform/billing-launchworkspace open використовує поточний робочий простір, коли запускається зсередини одного, автоматично вибирає єдиний відомий робочий простір, коли запускається з іншого місця, та запитує користувача зробити вибір, коли відомо кілька робочих просторів. --agent та --editor не змінюють збережений бажаний відкривач. Передача обох перевизначень відкривача є помилкою; виберіть або --agent <tool>, або --editor.
Коли використовується --initiative, OpenSpec готує або вибирає приватне локальне представлення робочого простору для цієї ініціативи. Вибрані реєстром сховища зберігаються за ідентифікатором; --store-path зберігає селектор шляху, локальний для часу виконання, оскільки представлення робочого простору є приватним локальним станом.
OpenSpec підтримує <workspace-name>.code-workspace у корені робочого простору для відкриття VS Code редактором та GitHub Copilot-in-VS-Code. Цей файл є машинно-локальним станом представлення робочого простору.
Підтримуваний робочий простір VS Code спочатку перераховує дійсні пов'язані репозиторії або папки, потім контекст ініціативи, коли він прикріплений, потім файли робочого простору OpenSpec. VS Code відображає ці записи як мультикореневий робочий простір.
Відкриття кореневого робочого простору робить пов'язані репозиторії або папки видимими для дослідження та контексту. Редагування реалізації слід починати лише після явного запиту користувача та звичайного робочого процесу реалізації OpenSpec.
Команди Спільного Контексту
Контекстні сховища та ініціативи є бета-майданчиками для координації. Контекстне сховище — це локальна реєстрація для постійного спільного контексту, зазвичай папка або клон, що підтримується Git. Ініціатива — це спільний контекст координації всередині контекстного сховища; локальні зміни в репозиторії можуть посилатися на нього без копіювання спільного плану в кожен репозиторій.
openspec context-store setup
Створити та зареєструвати локальне контекстне сховище. Якщо в терміналі немає аргументів, OpenSpec проведе користувача через процес налаштування. Агенти та скрипти мають передавати явні вхідні дані та використовувати --json.
bash
openspec context-store setup [id] [options]Параметри:
| Параметр | Опис |
|---|---|
--path <path> | Шлях до папки контекстного сховища; за замовчуванням використовується керований каталог локальних даних OpenSpec |
--init-git | Ініціалізувати репозиторій Git у контекстному сховищі |
--no-init-git | Не ініціалізувати репозиторій Git |
--json | Вивести JSON |
Якщо --path не вказано, setup створює сховище в getGlobalDataDir()/context-stores/<id>: $XDG_DATA_HOME/openspec/context-stores/<id>, якщо встановлено XDG_DATA_HOME, або ~/.local/share/openspec/context-stores/<id> як запасний варіант для Unix-подібних систем. Використовуйте --path, коли потрібно розмістити сховище у видимому клоні або папці, специфічній для команди.
Приклади:
bash
openspec context-store setup
openspec context-store setup team-context
openspec context-store setup team-context --path /repos/team-context --no-init-git
openspec context-store setup team-context --json --no-init-gitopenspec context-store register
Зареєструвати існуючу папку локального контекстного сховища.
bash
openspec context-store register [path] [options]Параметри:
| Параметр | Опис |
|---|---|
--id <id> | Ідентифікатор контекстного сховища; за замовчуванням використовується метаданих сховища або назва папки |
--json | Вивести JSON |
openspec context-store unregister
Видалити з пам'яті реєстрацію локального контекстного сховища без видалення файлів.
bash
openspec context-store unregister <id> [--json]Використовуйте цю команду, коли сховище було переміщено, склоновано в інше місце, або воно більше не повинно відображатися OpenSpec на цьому комп'ютері.
openspec context-store remove
Видалити з пам'яті реєстрацію локального контекстного сховища та видалити його локальну папку.
bash
openspec context-store remove <id> [--yes] [--json]remove показує точну папку перед видаленням в інтерактивному терміналі. Агенти, скрипти та виклики JSON повинні передавати --yes для підтвердження видалення. OpenSpec відмовляється видаляти папку, яка не містить відповідних метаданих контекстного сховища.
openspec context-store list
Перелічити локально зареєстровані контекстні сховища.
bash
openspec context-store list [--json]
openspec context-store ls [--json]openspec context-store doctor
Перевірити реєстрацію локального контекстного сховища, метадані та наявність Git.
bash
openspec context-store doctor [id] [--json]Doctor є лише діагностичним інструментом; він повідомляє про відсутні кореневі теки, невідповідності метаданих та недійсний стан локального реєстру без внесення змін до сховища.
openspec initiative create
Створити ініціативу в контекстному сховищі.
bash
openspec initiative create <id> --title <title> --summary <summary> [options]Параметри:
| Параметр | Опис |
|---|---|
--store <id> | Ідентифікатор контекстного сховища з локального реєстру |
--store-path <path> | Існуючий кореневий шлях локального контекстного сховища |
--title <title> | Назва ініціативи |
--summary <summary> | Опис ініціативи |
--json | Вивести JSON |
openspec initiative list
Перелічити ініціативи. Без селектора ця команда шукає у всіх зареєстрованих контекстних сховищах і повідомляє про попередження про часткове читання в status.
bash
openspec initiative list [options]
openspec initiative ls [options]Параметри:
| Параметр | Опис |
|---|---|
--store <id> | Перелічити одне зареєстроване контекстне сховище |
--store-path <path> | Перелічити один існуючий кореневий шлях локального контекстного сховища |
--json | Вивести JSON |
openspec initiative show
Визначити ініціативу та вивести її канонічне розташування.
bash
openspec initiative show <id> [options]
openspec initiative show <store>/<id> [options]Без --store OpenSpec шукає в зареєстрованих контекстних сховищах. Якщо однаковий ідентифікатор ініціативи існує в кількох сховищах, передайте --store <id> або використовуйте форму запису <store>/<id>.
Команди перегляду
openspec list
Вивести список змін або специфікацій у вашому проєкті.
openspec list [options]Опції:
| Опція | Опис |
|---|---|
--specs | Вивести специфікації замість змін |
--changes | Вивести зміни (за замовчуванням) |
--sort <order> | Сортувати за recent (за замовчуванням) або name |
--json | Вивести у форматі JSON |
Приклади:
bash
# Вивести всі активні зміни
openspec list
# Вивести всі специфікації
openspec list --specs
# Вивід у форматі JSON для скриптів
openspec list --jsonВивід (текст):
Активні зміни:
add-dark-mode Підтримка перемикання теми інтерфейсу
fix-login-bug Обробка тайм-ауту сеансуopenspec view
Відобразити інтерактивну панель для перегляду специфікацій та змін.
openspec viewВідкриває термінальний інтерфейс для навігації специфікаціями та змінами вашого проєкту.
openspec show
Відобразити деталі зміни або специфікації.
openspec show [item-name] [options]Аргументи:
| Аргумент | Обов'язковий | Опис |
|---|---|---|
item-name | Ні | Назва зміни або специфікації (пропонується, якщо опущено) |
Опції:
| Опція | Опис |
|---|---|
--type <type> | Вказати тип: change або spec (визначається автоматично, якщо однозначно) |
--json | Вивести у форматі JSON |
--no-interactive | Вимкнути запити |
Опції, специфічні для змін:
| Опція | Опис |
|---|---|
--deltas-only | Показати лише дельта-специфікації (режим JSON) |
Опції, специфічні для специфікацій:
| Опція | Опис |
|---|---|
--requirements | Показати лише вимоги, виключити сценарії (режим JSON) |
--no-scenarios | Виключити вміст сценаріїв (режим JSON) |
-r, --requirement <id> | Показати конкретну вимогу за 1-based індексом (режим JSON) |
Приклади:
bash
# Інтерактивний вибір
openspec show
# Показати конкретну зміну
openspec show add-dark-mode
# Показати конкретну специфікацію
openspec show auth --type spec
# Вивід у форматі JSON для аналізу
openspec show add-dark-mode --jsonКоманди валідації
openspec validate
Валідувати зміни та специфікації на наявність структурних проблем.
openspec validate [item-name] [options]Аргументи:
| Аргумент | Обов'язковий | Опис |
|---|---|---|
item-name | Ні | Конкретний елемент для валідації (пропонується, якщо опущено) |
Опції:
| Опція | Опис |
|---|---|
--all | Валідувати всі зміни та специфікації |
--changes | Валідувати всі зміни |
--specs | Валідувати всі специфікації |
--type <type> | Вказати тип, коли назва неоднозначна: change або spec |
--strict | Увімкнути строгий режим валідації |
--json | Вивести у форматі JSON |
--concurrency <n> | Максимальна кількість паралельних валідацій (за замовчуванням: 6, або змінна оточення OPENSPEC_CONCURRENCY) |
--no-interactive | Вимкнути запити |
Приклади:
bash
# Інтерактивна валідація
openspec validate
# Валідувати конкретну зміну
openspec validate add-dark-mode
# Валідувати всі зміни
openspec validate --changes
# Валідувати все з виводом у форматі JSON (для CI/скриптів)
openspec validate --all --json
# Строга валідація з підвищеною паралельністю
openspec validate --all --strict --concurrency 12Вивід (текст):
Валідація add-dark-mode...
✓ proposal.md валідний
✓ specs/ui/spec.md валідний
⚠ design.md: відсутній розділ "Технічний підхід"
Знайдено 1 попередженняВивід (JSON):
json
{
"version": "1.0.0",
"results": {
"changes": [
{
"name": "add-dark-mode",
"valid": true,
"warnings": ["design.md: відсутній розділ 'Технічний підхід'"]
}
]
},
"summary": {
"total": 1,
"valid": 1,
"invalid": 0
}
}Команди життєвого циклу
openspec archive
Архівувати завершену зміну та об'єднати дельта-специфікації в основні специфікації.
openspec archive [change-name] [options]Аргументи:
| Аргумент | Обов'язковий | Опис |
|---|---|---|
change-name | Ні | Зміна для архівації (пропонується, якщо опущено) |
Опції:
| Опція | Опис |
|---|---|
-y, --yes | Пропустити запити на підтвердження |
--skip-specs | Пропустити оновлення специфікацій (для змін, що стосуються лише інфраструктури/інструментів/документації) |
--no-validate | Пропустити валідацію (потребує підтвердження) |
Приклади:
bash
# Інтерактивна архівація
openspec archive
# Архівувати конкретну зміну
openspec archive add-dark-mode
# Архівація без запитів (CI/скрипти)
openspec archive add-dark-mode --yes
# Архівація зміни інструментів, яка не впливає на специфікації
openspec archive update-ci-config --skip-specsЩо він робить:
- Валідує зміну (якщо не вказано
--no-validate) - Запитує підтвердження (якщо не вказано
--yes) - Об'єднує дельта-специфікації до
openspec/specs/ - Переміщає папку зміни до
openspec/changes/archive/YYYY-MM-DD-<name>/
Команди робочого процесу
Ці команди підтримують робочий процес OPSX на основі артефактів. Вони корисні як для людей, що перевіряють прогрес, так і для агентів, що визначають наступні кроки.
openspec new change
Створити локальну для репозиторію директорію зміни та опціональний зафіксований метадату.
bash
openspec new change <name> [options]Опції:
| Опція | Опис |
|---|---|
--description <text> | Опис для додавання до README.md |
--goal <text> | Ціль продукту робочого простору для зберігання разом із зміною |
--areas <names> | Розділений комами перелік назв посилань робочого простору, що зазнали змін |
--initiative <id> | Пов'язати локальну для репозиторію зміну з ініціативою |
--store <id> | Ідентифікатор сховища контексту для --initiative |
--store-path <path> | Існуючий кореневий шлях локального сховища контексту для --initiative |
--schema <name> | Схема робочого процесу для використання |
--json | Вивести JSON |
Приклади:
bash
openspec new change add-billing-api --initiative billing-launch --store platform
openspec new change add-billing-api --initiative platform/billing-launch --jsonopenspec set change
Оновити зафіксовану метадату локальної для репозиторію зміни без її повторного створення.
bash
openspec set change <name> [options]Опції:
| Опція | Опис |
|---|---|
--initiative <id> | Пов'язати локальну для репозиторію зміну з ініціативою |
--store <id> | Ідентифікатор сховища контексту для --initiative |
--store-path <path> | Існуючий кореневий шлях локального сховища контексту для --initiative |
--json | Вивести JSON |
set change --initiative є ідемпотентним, коли запитуване посилання вже існує, і відмовляється замінювати інше існуюче посилання на ініціативу.
openspec status
Відобразити статус виконання артефактів для зміни.
openspec status [options]Опції:
| Опція | Опис |
|---|---|
--change <id> | Назва зміни (пропонується, якщо опущено) |
--schema <name> | Заміщення схеми (автовизначається з конфігурації зміни) |
--json | Вивести у форматі JSON |
Приклади:
bash
# Інтерактивна перевірка статусу
openspec status
# Статус для конкретної зміни
openspec status --change add-dark-mode
# JSON для використання агентом
openspec status --change add-dark-mode --jsonВивід (текст):
Зміна: add-dark-mode
Схема: spec-driven
Прогрес: 2/4 артефакти завершено
[x] proposal
[ ] design
[x] specs
[-] tasks (заблоковано: design)Вивід (JSON):
json
{
"changeName": "add-dark-mode",
"schemaName": "spec-driven",
"isComplete": false,
"applyRequires": ["tasks"],
"artifacts": [
{"id": "proposal", "outputPath": "proposal.md", "status": "done"},
{"id": "design", "outputPath": "design.md", "status": "ready"},
{"id": "specs", "outputPath": "specs/**/*.md", "status": "done"},
{"id": "tasks", "outputPath": "tasks.md", "status": "blocked", "missingDeps": ["design"]}
]
}openspec instructions
Отримати збагачені інструкції для створення артефакту або застосування завдань. Використовується ШІ-агентами для розуміння, що створювати далі.
openspec instructions [artifact] [options]Аргументи:
| Аргумент | Обов'язковий | Опис |
|---|---|---|
artifact | Ні | ID артефакту: proposal, specs, design, tasks або apply |
Опції:
| Опція | Опис |
|---|---|
--change <id> | Назва зміни (обов'язково в неінтерактивному режимі) |
--schema <name> | Заміщення схеми |
--json | Вивести у форматі JSON |
Особливий випадок: Використовуйте apply як артефакт для отримання інструкцій із впровадження завдань.
Приклади:
bash
# Отримати інструкції для наступного артефакту
openspec instructions --change add-dark-mode
# Отримати інструкції для конкретного артефакту
openspec instructions design --change add-dark-mode
# Отримати інструкції з впровадження/реалізації
openspec instructions apply --change add-dark-mode
# JSON для споживання агентом
openspec instructions design --change add-dark-mode --jsonВивід включає:
- Вміст шаблону для артефакту
- Контекст проєкту з конфігурації
- Вміст артефактів-залежностей
- Правила для кожного артефакту з конфігурації
openspec templates
Показати вирішені шляхи до шаблонів для всіх артефактів у схемі.
openspec templates [options]Опції:
| Опція | Опис |
|---|---|
--schema <name> | Схема для перегляду (за замовчуванням: spec-driven) |
--json | Вивести у форматі JSON |
Приклади:
bash
# Показати шляхи до шаблонів для схеми за замовчуванням
openspec templates
# Показати шаблони для користувацької схеми
openspec templates --schema my-workflow
# JSON для програмного використання
openspec templates --jsonВивід (текст):
Схема: spec-driven
Шаблони:
proposal → ~/.openspec/schemas/spec-driven/templates/proposal.md
specs → ~/.openspec/schemas/spec-driven/templates/specs.md
design → ~/.openspec/schemas/spec-driven/templates/design.md
tasks → ~/.openspec/schemas/spec-driven/templates/tasks.mdopenspec schemas
Вивести доступні схеми робочого процесу з їх описами та потоками артефактів.
openspec schemas [options]Опції:
| Опція | Опис |
|---|---|
--json | Вивести у форматі JSON |
Приклад:
bash
openspec schemasВивід:
Доступні схеми:
spec-driven (package)
Робочий процес розробки на основі специфікацій за замовчуванням
Потік: proposal → specs → design → tasks
my-custom (project)
Користувацький робочий процес для цього проєкту
Потік: research → proposal → tasksКоманди схем
Команди для створення та керування власними схемами робочих процесів.
openspec schema init
Створити нову локальну схему проекту.
openspec schema init <name> [options]Аргументи:
| Аргумент | Обов'язковий | Опис |
|---|---|---|
name | Так | Назва схеми (kebab-case) |
Параметри:
| Параметр | Опис |
|---|---|
--description <text> | Опис схеми |
--artifacts <list> | Список ідентифікаторів артефактів через кому (за замовчуванням: proposal,specs,design,tasks) |
--default | Встановити як схему проекту за замовчуванням |
--no-default | Не пропонувати встановити як схему за замовчуванням |
--force | Перезаписати існуючу схему |
--json | Вивести як JSON |
Приклади:
bash
# Інтерактивне створення схеми
openspec schema init research-first
# Неінтерактивне створення з визначеними артефактами
openspec schema init rapid \
--description "Rapid iteration workflow" \
--artifacts "proposal,tasks" \
--defaultЩо створюється:
openspec/schemas/<name>/
├── schema.yaml # Визначення схеми
└── templates/
├── proposal.md # Шаблон для кожного артефакту
├── specs.md
├── design.md
└── tasks.mdopenspec schema fork
Скопіювати існуючу схему до вашого проекту для налаштування.
openspec schema fork <source> [name] [options]Аргументи:
| Аргумент | Обов'язковий | Опис |
|---|---|---|
source | Так | Схема для копіювання |
name | Ні | Назва нової схеми (за замовчуванням: <source>-custom) |
Параметри:
| Параметр | Опис |
|---|---|
--force | Перезаписати існуючу директорію призначення |
--json | Вивести як JSON |
Приклад:
bash
# Розгалужити вбудовану схему spec-driven
openspec schema fork spec-driven my-workflowopenspec schema validate
Перевірити структуру та шаблони схеми.
openspec schema validate [name] [options]Аргументи:
| Аргумент | Обов'язковий | Опис |
|---|---|---|
name | Ні | Схема для перевірки (якщо не вказано, перевіряються всі) |
Параметри:
| Параметр | Опис |
|---|---|
--verbose | Показати детальні кроки валідації |
--json | Вивести як JSON |
Приклад:
bash
# Перевірити конкретну схему
openspec schema validate my-workflow
# Перевірити всі схеми
openspec schema validateopenspec schema which
Показати, звідки береться схема (корисно для налагодження пріоритетів).
openspec schema which [name] [options]Аргументи:
| Аргумент | Обов'язковий | Опис |
|---|---|---|
name | Ні | Назва схеми |
Параметри:
| Параметр | Опис |
|---|---|
--all | Перелічити всі схеми з їхніми джерелами |
--json | Вивести як JSON |
Приклад:
bash
# Перевірити звідки походить схема
openspec schema which spec-drivenВивід:
spec-driven resolves from: package
Source: /usr/local/lib/node_modules/@fission-ai/openspec/schemas/spec-drivenПріоритет схем:
- Проект:
openspec/schemas/<name>/ - Користувач:
~/.local/share/openspec/schemas/<name>/ - Пакет: Вбудовані схеми
Команди конфігурації
openspec config
Перегляд та зміна глобальної конфігурації OpenSpec.
openspec config <subcommand> [options]Підкоманди:
| Підкоманда | Опис |
|---|---|
path | Показати розташування конфігураційного файлу |
list | Показати всі поточні налаштування |
get <key> | Отримати конкретне значення |
set <key> <value> | Встановити значення |
unset <key> | Видалити ключ |
reset | Скинути до стандартних значень |
edit | Відкрити в $EDITOR |
profile [preset] | Інтерактивно або за допомогою пресету налаштувати профіль робочого процесу |
Приклади:
bash
# Показати шлях до конфігураційного файлу
openspec config path
# Показати всі налаштування
openspec config list
# Отримати конкретне значення
openspec config get telemetry.enabled
# Встановити значення
openspec config set telemetry.enabled false
# Явно встановити значення рядка
openspec config set user.name "My Name" --string
# Видалити власне налаштування
openspec config unset user.name
# Скинути всю конфігурацію
openspec config reset --all --yes
# Редагувати конфігурацію у вашому редакторі
openspec config edit
# Налаштувати профіль за допомогою майстра на основі дій
openspec config profile
# Швидкий пресет: перемикання робочих процесів на core (зберігає режим доставки)
openspec config profile coreopenspec config profile починає з підсумку поточного стану, а потім дозволяє вибрати:
- Змінити доставку + робочі процеси
- Змінити лише доставку
- Змінити лише робочі процеси
- Зберегти поточні налаштування (вийти)
Якщо ви зберігаєте поточні налаштування, зміни не записуються і не показується запит на оновлення. Якщо немає змін конфігурації, але поточні файли проекту або робочого простору не синхронізовані з вашим глобальним профілем/доставкою, OpenSpec покаже попередження та запропонує openspec update для проектів на рівні репозиторію або openspec workspace update для керівництв та навичок на рівні робочого простору. Натискання Ctrl+C також акуратно скасовує процес (без трасування стека) та виходить з кодом 130. У контрольному списку робочих процесів [x] означає, що робочий процес вибрано у глобальній конфігурації. Щоб застосувати ці вибори до файлів проекту, виконайте openspec update (або виберіть Apply changes to this project now?, якщо запитано всередині проекту). Зсередини робочого простору використовуйте openspec workspace update для оновлення керівництв та навичок на рівні робочого простору; це залишається лише для навичок для генерованих файлів робочих процесів агента та не генерує команди косої риски робочого простору.
Інтерактивні приклади:
bash
# Оновлення лише доставки
openspec config profile
# виберіть: Change delivery only
# виберіть доставку: Skills only
# Оновлення лише робочих процесів
openspec config profile
# виберіть: Change workflows only
# увімкніть/вимкніть робочі процеси у контрольному списку, а потім підтвердітьСлужбові команди
openspec feedback
Надіслати відгук про OpenSpec. Створює GitHub issue.
openspec feedback <message> [options]Аргументи:
| Аргумент | Обов'язковий | Опис |
|---|---|---|
message | Так | Повідомлення відгуку |
Параметри:
| Параметр | Опис |
|---|---|
--body <text> | Детальний опис |
Вимоги: GitHub CLI (gh) повинен бути встановлений та аутентифікований.
Приклад:
bash
openspec feedback "Add support for custom artifact types" \
--body "I'd like to define my own artifact types beyond the built-in ones."openspec completion
Керування доповненнями оболонки для CLI OpenSpec.
openspec completion <subcommand> [shell]Підкоманди:
| Підкоманда | Опис |
|---|---|
generate [shell] | Вивести скрипт доповнення в stdout |
install [shell] | Встановити доповнення для вашої оболонки |
uninstall [shell] | Видалити встановлені доповнення |
Підтримувані оболонки: bash, zsh, fish, powershell
Приклади:
bash
# Встановити доповнення (автовизначення оболонки)
openspec completion install
# Встановити для конкретної оболонки
openspec completion install zsh
# Згенерувати скрипт для ручного встановлення
openspec completion generate bash > ~/.bash_completion.d/openspec
# Видалити
openspec completion uninstallКоди виходу
| Код | Значення |
|---|---|
0 | Успіх |
1 | Помилка (помилка валідації, відсутні файли тощо) |
Змінні середовища
| Змінна | Опис |
|---|---|
OPENSPEC_TELEMETRY | Встановіть 0 для вимкнення телеметрії |
DO_NOT_TRACK | Встановіть 1 для вимкнення телеметрії (стандартний сигнал DNT) |
OPENSPEC_CONCURRENCY | Стандартна конкурентність для масової валідації (за замовчуванням: 6) |
EDITOR або VISUAL | Редактор для openspec config edit |
NO_COLOR | Вимикає кольоровий вивід, коли встановлено |
Пов'язана документація
- Команди - Команди косої риски AI (
/opsx:propose,/opsx:applyтощо) - Робочі процеси - Типові шаблони та коли використовувати кожну команду
- Налаштування - Створення власних схем та шаблонів
- Початок роботи - Посібник з першого налаштування