Skip to content

Довідник CLI

CLI OpenSpec (openspec) надає термінальні команди для налаштування проєкту, перевірки, інспекції стану та керування. Ці команди доповнюють команди штучного інтелекту (наприклад, /opsx:propose), описані в розділі Команди.

Огляд

КатегоріяКомандиПризначення
Налаштуванняinit, updateІніціалізація та оновлення OpenSpec у вашому проєкті
Переглядlist, view, showДослідження змін та специфікацій
ПеревіркаvalidateПеревірка змін та специфікацій на наявність проблем
Життєвий циклarchiveЗавершення завершених змін
Робочий процесstatus, instructions, templates, schemasПідтримка робочого процесу на основі артефактів
Схемиschema init, schema fork, schema validate, schema whichСтворення та керування користувацькими робочими процесами
КонфігураціяconfigПерегляд та зміна налаштувань
Утилітиfeedback, completionЗворотний зв'язок та інтеграція з оболонкою

Команди для людей та агентів

Більшість CLI-команд призначені для використання людьми в терміналі. Деякі команди також підтримують використання агентами/скриптами через вивід у форматі JSON.

Команди виключно для людей

Ці команди є інтерактивними та призначені для роботи в терміналі:

КомандаПризначення
openspec initІніціалізація проєкту (інтерактивні запити)
openspec viewІнтерактивна панель моніторингу
openspec config editВідкрити конфігурацію в редакторі
openspec feedbackНадіслати відгук через GitHub
openspec completion installВстановити доповнення для оболонки

Команди, сумісні з агентами

Ці команди підтримують вивід --json для програмного використання ШІ-агентами та скриптами:

КомандаВикористання людьмиВикористання агентами
openspec listПерегляд змін/специфікацій--json для структурованих даних
openspec show <item>Читання вмісту--json для парсингу
openspec validateПеревірка на проблеми--all --json для масової валідації
openspec statusПерегляд прогресу артефактів--json для структурованого стану
openspec instructionsОтримання наступних кроків--json для інструкцій агента
openspec templatesПошук шляхів до шаблонів--json для визначення шляхів
openspec schemasВивід доступних схем--json для виявлення схем

Глобальні опції

Ці опції працюють з усіма командами:

ОпціяОпис
--version, -VПоказати номер версії
--no-colorВимкнути кольоровий вивід
--help, -hПоказати довідку для команди

Команди налаштування

openspec init

Ініціалізує OpenSpec у вашому проєкті. Створює структуру папок та налаштовує інтеграції з інструментами ШІ.

Стандартна поведінка використовує глобальні значення за замовчуванням: профіль core, доставка both, робочі процеси propose, explore, apply, archive.

openspec init [path] [options]

Аргументи:

АргументОбов'язковийОпис
pathНіЦільова директорія (за замовчуванням: поточна директорія)

Опції:

ОпціяОпис
--tools <list>Налаштувати інструменти ШІ без інтерактивного режиму. Використовуйте all, none або комо-розділений список
--forceАвтоматичне очищення застарілих файлів без запиту
--profile <profile>Перевизначити глобальний профіль для цього запуску init (core або custom)

--profile custom використовує будь-які робочі процеси, які наразі вибрані в глобальній конфігурації (openspec config profile).

Підтримувані ID інструментів (--tools): amazon-q, antigravity, auggie, claude, cline, codex, codebuddy, continue, costrict, crush, cursor, factory, gemini, github-copilot, iflow, kilocode, kiro, opencode, pi, qoder, 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/       # Команди Cursor OPSX (якщо доставка включає команди)
... (інші конфігурації інструментів)

openspec update

Оновлює файли інструкцій OpenSpec після оновлення CLI. Повторно генерує файли конфігурації інструментів ШІ, використовуючи ваш поточний глобальний профіль, вибрані робочі процеси та режим доставки.

openspec update [path] [options]

Аргументи:

АргументОбов'язковийОпис
pathНіЦільова директорія (за замовчуванням: поточна директорія)

Опції:

ОпціяОпис
--forceПримусове оновлення навіть якщо файли актуальні

Приклад:

bash
# Оновлення файлів інструкцій після оновлення npm
npm update @fission-ai/openspec
openspec update

Команди перегляду

openspec list

Виводить список змін або специфікацій у вашому проєкті.

openspec list [options]

Опції:

ОпціяОпис
--specsВивести специфікації замість змін
--changesВивести зміни (за замовчуванням)
--sort <order>Сортувати за recent (за замовчуванням) або name
--jsonВивід у форматі JSON

Приклади:

bash
# Вивести всі активні зміни
openspec list

# Вивести всі специфікації
openspec list --specs

# Вивід JSON для скриптів
openspec list --json

Вивід (текст):

Active changes:
  add-dark-mode     UI theme switching support
  fix-login-bug     Session timeout handling

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-індексованим номером (режим 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

Вивід (текст):

Validating add-dark-mode...
  ✓ proposal.md valid
  ✓ specs/ui/spec.md valid
  ⚠ design.md: missing "Technical Approach" section

1 warning found

Вивід (JSON):

json
{
  "version": "1.0.0",
  "results": {
    "changes": [
      {
        "name": "add-dark-mode",
        "valid": true,
        "warnings": ["design.md: missing 'Technical Approach' section"]
      }
    ]
  },
  "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

Що робиться:

  1. Валідує зміну (якщо не використано --no-validate)
  2. Запитує підтвердження (якщо не використано --yes)
  3. Зливає дельта-специфікації з openspec/specs/
  4. Переміщує папку зміни до openspec/changes/archive/YYYY-MM-DD-<name>/

Команди робочого процесу

Ці команди підтримують робочий процес OPSX, орієнтований на артефакти. Вони корисні як для людей, які перевіряють прогрес, так і для агентів, які визначають наступні кроки.

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

Вивід (текст):

Change: add-dark-mode
Schema: spec-driven
Progress: 2/4 artifacts complete

[x] proposal
[ ] design
[x] specs
[-] tasks (blocked by: 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

Вивід (текст):

Schema: spec-driven

Templates:
  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.md

openspec schemas

Виводить доступні схеми робочих процесів з їх описами та потоками артефактів.

openspec schemas [options]

Опції:

ОпціяОпис
--jsonВивід у форматі JSON

Приклад:

bash
openspec schemas

Вивід:

Available schemas:

  spec-driven (package)
    The default spec-driven development workflow
    Flow: proposal → specs → design → tasks

  my-custom (project)
    Custom workflow for this project
    Flow: 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.md

openspec schema fork

Копіює існуючу схему до вашого проєкту для налаштування.

openspec schema fork <source> [name] [options]

Аргументи:

АргументОбов'язковийОпис
sourceТакСхема для копіювання
nameНіНова назва схеми (за замовчуванням: <source>-custom)

Параметри:

ПараметрОпис
--forceПерезаписати існуюче місце призначення
--jsonВивести у форматі JSON

Приклад:

bash
# Розгалуження вбудованої схеми spec-driven
openspec schema fork spec-driven my-workflow

openspec schema validate

Перевіряє структуру та шаблони схеми.

openspec schema validate [name] [options]

Аргументи:

АргументОбов'язковийОпис
nameНіСхема для перевірки (якщо не вказано, перевіряються всі)

Параметри:

ПараметрОпис
--verboseПоказувати детальні кроки перевірки
--jsonВивести у форматі JSON

Приклад:

bash
# Перевірка конкретної схеми
openspec schema validate my-workflow

# Перевірка всіх схем
openspec schema validate

openspec 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

Пріоритетність схем:

  1. Проєкт: openspec/schemas/<name>/
  2. Користувач: ~/.local/share/openspec/schemas/<name>/
  3. Пакет: Вбудовані схеми

Команди конфігурації

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 core

openspec config profile починається з підсумку поточного стану, а потім дозволяє вам вибрати:

  • Змінити доставку + робочі процеси
  • Змінити лише доставку
  • Змінити лише робочі процеси
  • Зберегти поточні налаштування (вийти)

Якщо ви зберігаєте поточні налаштування, зміни не записуються, і запит на оновлення не показується. Якщо змін конфігурації немає, але поточні файли проєкту не синхронізовані з вашим глобальним профілем/доставкою, OpenSpec покаже попередження та запропонує запустити openspec update. Натискання Ctrl+C також чисто скасовує процес (без трасування стеку) та виходить з кодом 130. У контрольному списку робочих процесів [x] означає, що робочий процес вибрано в глобальній конфігурації. Щоб застосувати ці вибори до файлів проєкту, запустіть openspec update (або виберіть Apply changes to this project now? під час запиту всередині проєкту).

Інтерактивні приклади:

bash
# Оновлення лише доставки
openspec config profile
# вибрати: Change delivery only
# вибрати доставку: Skills only

# Оновлення лише робочих процесів
openspec config profile
# вибрати: Change workflows only
# переключити робочі процеси у контрольному списку, потім підтвердити

Допоміжні команди

openspec feedback

Надіслати відгук про OpenSpec. Створює issue на GitHub.

openspec feedback <message> [options]

Аргументи:

АргументОбов'язковийОпис
messageТакПовідомлення зворотного зв'язку

Параметри:

ПараметрОпис
--body <text>Детальний опис

Вимоги: CLI GitHub (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Вимикає кольоровий вивід, якщо встановлено

Пов'язана документація