Справочник по CLI
Интерфейс командной строки OpenSpec (openspec) предоставляет терминальные команды для настройки проекта, проверки, мониторинга состояния и управления. Эти команды дополняют слеш-команды ИИ (такие как /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 | Управление регистрацией локального хранилища контекста и постоянным контекстом инициативы |
| Просмотр | list, view, show | Просмотр изменений и спецификаций |
| Проверка | validate | Проверка изменений и спецификаций на наличие проблем |
| Жизненный цикл | archive | Завершение выполненных изменений |
| Рабочий процесс | new change, set change, 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 для поиска схем |
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 <порядок> | Сортировка по 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 <тип> | Указать тип: 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 <тип> | Указать тип при неоднозначности имени: 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: отсутствует раздел 'Technical Approach'"]
}
]
},
"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 <текст> | Описание для добавления в README.md |
--goal <текст> | Цель продукта рабочего пространства для хранения вместе с изменением |
--areas <имена> | Имена затронутых рабочих пространств через запятую |
--initiative <id> | Привязать локальное изменение репозитория к инициативе |
--store <id> | ID хранилища контекста для --initiative |
--store-path <путь> | Существующий корень локального хранилища контекста для --initiative |
--schema <имя> | Схема рабочего процесса для использования |
--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> | ID хранилища контекста для --initiative |
--store-path <путь> | Существующий корень локального хранилища контекста для --initiative |
--json | Вывести JSON |
set change --initiative является идемпотентной, когда запрашиваемая привязка уже существует, и отказывается заменять существующую привязку к другой инициативе.
openspec status
Отобразить статус готовности артефактов для изменения.
openspec status [options]Параметры:
| Параметр | Описание |
|---|---|
--change <id> | Имя изменения (запросится, если пропущено) |
--schema <имя> | Переопределение схемы (автоопределение из конфигурации изменения) |
--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 <имя> | Переопределение схемы |
--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 <имя> | Схема для просмотра (по умолчанию: 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. Создает issue на 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и т.д.) - Рабочие процессы - Общие паттерны и когда использовать каждую команду
- Кастомизация - Создание пользовательских схем и шаблонов
- Начало работы - Руководство по первоначальной настройке