Skip to content

Справочник по 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]

В списке отображается местоположение каждой рабочей области и привязанные репозитории или папки. Устаревшие записи реестра отображаются, но не изменяются.

Запись существующего репозитория или папки для одной рабочей области.

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/ в репозитории.

Изменение или восстановление локального пути для существующей привязки.

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 none

workspace 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-launch

workspace 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-git

openspec 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

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

  1. Проверяет изменение (если не указан --no-validate)
  2. Запрашивает подтверждение (если не указан --yes)
  3. Сливает дельта-спецификации в openspec/specs/
  4. Перемещает папку изменения в 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 --json

openspec 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.md

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

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