Справочник по 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Что делает команда:
- Проверяет изменение (если не указан
--no-validate) - Запрашивает подтверждение (если не указан
--yes) - Сливает дельта-спецификации в
openspec/specs/ - Перемещает папку изменения в
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.mdopenspec 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.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. Нажатие 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 | Отключает цветной вывод при установке |
Связанная документация
- Команды - AI-слэш-команды (
/opsx:propose,/opsx:applyи т.д.) - Рабочие процессы - Типовые схемы и когда использовать каждую команду
- Настройка - Создание пользовательских схем и шаблонов
- Начало работы - Руководство по первоначальной настройке