Skip to content

Справочник по CLI

CLI OpenSpec (openspec) предоставляет команды терминала для настройки проекта, проверки, мониторинга состояния и управления. Эти команды дополняют AI-команды со слэшем (такие как /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 для программного использования AI-агентами и скриптами:

КомандаИспользование человекомИспользование агентом
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 в вашем проекте. Создает структуру папок и настраивает интеграции с AI-инструментами.

Поведение по умолчанию использует глобальные настройки конфигурации: профиль core, доставка both, рабочие процессы propose, explore, apply, archive.

openspec init [path] [options]

Аргументы:

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

Опции:

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

--profile custom использует текущие выбранные в глобальной конфигурации рабочие процессы (openspec config profile).

Поддерживаемые идентификаторы инструментов (--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. Повторно генерирует файлы конфигурации AI-инструментов, используя текущий глобальный профиль, выбранные рабочие процессы и режим доставки.

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

Вывод (текст):

Активные изменения:
  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 (режим 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

Что делает команда:

  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

Вывод (текст):

Изменение: 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

Получение обогащенных инструкций для создания артефакта или выполнения задач. Используется AI-агентами для понимания того, что создавать дальше.

openspec instructions [artifact] [options]

Аргументы:

АргументОбязательныйОписание
artifactНетИдентификатор артефакта: 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.md

openspec schemas

Вывод доступных схем рабочего процесса с их описаниями и потоками артефактов.

openspec schemas [options]

Опции:

ОпцияОписание
--jsonВывод в формате JSON

Пример:

bash
openspec schemas

Вывод:

Доступные схемы:

  spec-driven (пакет)
    Стандартный рабочий процесс разработки, управляемый спецификациями
    Поток: proposal → specs → design → tasks

  my-custom (проект)
    Пользовательский рабочий процесс для этого проекта
    Поток: 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. Создает запрос в GitHub.

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Отключает цветной вывод при установке

Связанная документация