Справка по CLI
CLI OpenSpec (openspec) предоставляет командные строки для настройки проекта, валидации, проверки статуса и управления. Эти команды дополняют AI-команды слэш (такие как /opsx:propose), описанные в Commands.
Обзор
| Категория | Команды | Назначение |
|---|---|---|
| Настройка | init, update | Инициализировать и обновлять OpenSpec в вашем проекте |
| Хранилища (автономные репозитории OpenSpec) | store setup, store register, store unregister, store remove, store list, store doctor | Управлять хранилищами — автономными репозиториями OpenSpec, которые вы зарегистрировали |
| Состояние | doctor | Отчитываться о состоянии связей для разрешенного корня |
| Рабочий контекст | context | Собрать рабочий набор (корень + ссылочные хранилища) |
| Личные рабочие наборы | workset create, workset list, workset open, workset remove | Сохранять и открывать личные локальные рабочие представления в вашем инструменте |
| Просмотр | list, view, show | Изучать изменения и спецификации |
| Валидация | validate | Проверять изменения и спецификации на наличие проблем |
| Жизненный цикл | archive | Финализировать завершенные изменения |
| Рабочий процесс | new change, status, instructions, templates, schemas | Поддержка рабочего процесса, управляемого артефактами |
| Схемы | schema init, schema fork, schema validate, schema which | Создавать и управлять пользовательскими рабочими процессами |
| Конфигурация | config | Просматривать и изменять настройки |
| Утилита | feedback, completion | Обратная связь и интеграция с оболочкой |
Команды для человека и агентов
Большинство CLI-команд предназначены для использования человеком в терминале. Некоторые команды также поддерживают использование агентами/скриптами через вывод JSON.
Команды только для человека
Эти команды интерактивны и предназначены для использования в терминале:
| Command | Назначение |
|---|---|
openspec init | Инициализация проекта (интерактивные подсказки) |
openspec view | Интерактивная панель мониторинга |
openspec workset open <name> | Открытие сохраненного рабочего набора (окно редактора или сессия агента в терминале) |
openspec config edit | Открытие конфигурации в редакторе |
openspec feedback | Отправка обратной связи через GitHub |
openspec completion install | Установка дополнений оболочки (shell completions) |
Команды, совместимые с агентами
Эти команды поддерживают вывод --json для программного использования AI-агентами и скриптами:
| Command | Использование человеком | Использование агентом |
|---|---|---|
openspec list | Просмотр изменений/спецификаций | --json для структурированных данных |
openspec show <item> | Чтение содержимого | --json для парсинга |
openspec validate | Проверка на наличие проблем | --all --json для массовой валидации |
openspec status | Просмотр прогресса артефакта | --json для структурированного статуса |
openspec instructions | Получение следующих шагов | --json для инструкций агента |
openspec templates | Поиск путей шаблонов | --json для разрешения пути |
openspec schemas | Список доступных схем | --json для обнаружения схем |
openspec store setup <id> | Создание и регистрация локального хранилища | --json с явными входными данными для структурированного выходного результата настройки |
openspec store register <path> | Регистрация существующего хранилища | --json для структурированного выходного результата регистрации |
openspec store unregister <id> | Забыть регистрацию локального хранилища | --json для структурированной очистки |
openspec store remove <id> | Удаление папки зарегистрированного локального хранилища | --yes --json для неинтерактивного удаления |
openspec store list | Просмотр зарегистрированных хранилищ | --json для структурированной регистрации |
openspec store doctor | Проверка настройки локального хранилища | --json для структурированной диагностики |
openspec new change <id> | Создание шаблона изменения на уровне репозитория | --json, а также --store <id> для использования зарегистрированного хранилища в качестве корневого OpenSpec |
openspec workset create [name] | Составление личного рабочего представления | --member <path> --json для неинтерактивного составления |
openspec workset list | Просмотр сохраненных рабочих наборов | --json для структурированных представлений |
openspec workset remove <name> | Удаление сохраненного представления | --yes --json для неинтерактивного удаления |
Глобальные опции
Эти опции работают со всеми командами:
| Option | Описание |
|---|---|
--version, -V | Показать номер версии |
--no-color | Отключить вывод цвета |
--help, -h | Отобразить справку для команды |
Команды настройки
openspec init
Инициализирует OpenSpec в вашем проекте. Создает структуру папок и настраивает интеграции с AI-инструментами.
Поведение по умолчанию использует глобальные значения конфигурации: профиль core, доставка both, рабочие процессы propose, explore, apply, sync, archive.
openspec init [path] [options]Аргументы:
| Argument | Обязателен? | Описание |
|---|---|---|
path | Нет | Целевой каталог (по умолчанию: текущий каталог) |
Опции:
| Option | Описание |
|---|---|
--tools <list> | Настройка AI-инструментов в неинтерактивном режиме. Используйте all, none или список, разделенный запятыми |
--force | Автоматическая очистка устаревших файлов без запроса подтверждения |
--profile <profile> | Переопределение глобального профиля для этого запуска инициализации (core или custom) |
--profile custom использует рабочие процессы, которые в данный момент выбраны в глобальной конфигурации (openspec config profile).
Поддерживаемые ID инструментов (--tools): amazon-q, antigravity, auggie, bob, claude, cline, codex, forgecode, codebuddy, continue, costrict, crush, cursor, factory, gemini, github-copilot, iflow, junie, kilocode, kimi, kiro, lingma, vibe, opencode, pi, qoder, qwen, roocode, trae, windsurf
Этот список отражает
AI_TOOLSвsrc/core/config.ts. См. Supported Tools для навыков и путей команд каждого инструмента.
Примеры:
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]Аргументы:
| Argument | Обязателен? | Описание |
|---|---|---|
path | Нет | Целевой каталог (по умолчанию: текущий каталог) |
Опции:
| Option | Описание |
|---|---|
--force | Принудительное обновление, даже если файлы актуальны |
Пример:
bash
# Обновление файлов инструкций после npm upgrade
npm update @fission-ai/openspec
openspec updateХранилища (независимые репозитории OpenSpec)
Бета. Хранилища и функции, построенные на них (ссылки, рабочий контекст, рабочие наборы), являются новыми; названия команд, флаги, форматы файлов и вывод JSON могут меняться между релизами. Для ознакомительного руководства по работе с хранилищами см. stores guide.
Хранилище — это независимый репозиторий OpenSpec, который вы зарегистрировали на этой машине — например, репозиторий планирования или репозиторий контрактов. Регистрация хранилища позволяет обычным командам (list, show, status, validate, new change, archive, ...) действовать в нем из любой точки, передавая --store <id>.
openspec store setup
Создает и регистрирует локальное хранилище. При отсутствии аргументов в терминале OpenSpec направляет пользователя через процесс настройки. Агенты и скрипты должны передавать явные входные данные и использовать --json.
bash
openspec store setup [id] [options]Опции:
| Option | Описание |
|---|---|
--path <path> | Папка, в которой должно находиться хранилище (например, ~/openspec/<id>) |
--remote <url> | Запись канонического удаленного репозитория в файл store.yaml нового хранилища |
--init-git | Инициализация Git-репозитория с начальным коммитом (по умолчанию) |
--no-init-git | Пропуск всех действий Git: без инициализации, без начального коммита |
--json | Вывод JSON |
Неинтерактивные запуски (--json, скрипты, агенты) должны передавать как ID хранилища, так и --path. В интерактивном терминале процесс настройки запрашивает местоположение с редактируемым предложением в видимом месте, принадлежащем пользователю (например, ~/openspec/<id>); он никогда не использует каталог данных OpenSpec по умолчанию.
Примеры:
bash
openspec store setup
openspec store setup team-context
openspec store setup team-context --path ~/openspec/team-context --no-init-git
openspec store setup team-context --path ~/openspec/team-context --no-init-git --jsonopenspec store register
Регистрирует существующую локальную папку хранилища.
bash
openspec store register [path] [options]Опции:
| Option | Описание |
|---|---|
--id <id> | ID хранилища; по умолчанию берется из метаданных хранилища или имени папки |
--yes | Подтвердить создание метаданных идентичности хранилища для здорового корневого OpenSpec |
--json | Вывод JSON |
openspec store unregister
Забывает регистрацию локального хранилища без удаления файлов.
bash
openspec store unregister <id> [--json]Используйте это, если хранилище было перемещено, клонировано в другое место или больше не должно отображаться OpenSpec на этой машине.
openspec store remove
Забывает регистрацию локального хранилища и удаляет его локальную папку.
bash
openspec store remove <id> [--yes] [--json]Команда remove показывает точную папку перед удалением в интерактивном терминале. Агенты, скрипты и вызывающие JSON должны передать --yes для подтверждения удаления. OpenSpec отказывается удалять папку, которая не содержит соответствующих метаданных хранилища.
openspec store list
Список локально зарегистрированных хранилищ.
bash
openspec store list [--json]
openspec store ls [--json]openspec store doctor
Проверка регистрации локального хранилища, метаданных и наличия Git.
bash
openspec store doctor [id] [--json]Doctor предназначен только для диагностики; он сообщает о недостающих корнях, несоответствиях метаданных и недействительном состоянии локальной регистрации без изменения хранилища.
Ссылки на хранилища из проекта
Репозиторий проекта может объявить, на какие хранилища опирается его работа, в файле openspec/config.yaml:
yaml
schema: spec-driven
references:
- team-contextС этого момента вывод openspec instructions в этом репозитории (как для каждого артефакта, так и для поверхности apply, режимы JSON и человека) содержит индекс спецификаций каждого ссылочного хранилища — ID спецификаций, однострочное резюме из раздела Назначение каждой спецификации и команда получения (openspec show <spec-id> --type spec --store <id>). Индекс строится в реальном времени на основе зарегистрированного чекаута при каждом запуске; содержимое спецификаций никогда не копируется в вывод.
Ссылки являются контекстом только для чтения. Они никогда не меняют места, где действуют команды: работа остается в собственном корне репозитория, а запись в ссылочное хранилище остается явным действием --store. Ссылка, которую невозможно разрешить (например, хранилище, которое не зарегистрировано на этой машине), превращается в предупреждение в индексе с точным исправлением, и инструкции все равно генерируются. openspec doctor сообщает о состоянии ссылок в одном месте.
Регистрация источника клонирования хранилища
Хранилище может записать свой канонический источник клонирования в файл идентичности, который он коммитит, чтобы процесс адаптации никогда не заходил в тупик на "зарегистрируйте хранилище":
bash
openspec store setup team-context --path ~/openspec/team-context \
--remote git@github.com:acme/team-context.gitУдаленный репозиторий записывается в .openspec-store/store.yaml внутри начального коммита, поэтому каждый клон рождается со знанием об этом. Для существующего хранилища отредактируйте store.yaml вручную и закоммитьте. store doctor показывает записанный удаленный репозиторий (и наблюдаемый Git-ориджин чекаута); setup/register называет его, а register записывает ориджин чекаута в локальный реестр машины.
Объявление ссылки также может содержать источник клонирования, поэтому товарищ по команде, у которого еще нет хранилища, получает полное, копируемое исправление (git clone <remote> <path> && openspec store register <path> --id <id>):
yaml
references:
- { id: team-context, remote: "git@github.com:acme/team-context.git" }Запись удаленного репозитория не является синхронизацией: OpenSpec никогда не клонирует, не скачивает и не отправляет самостоятельно.
Объявление хранилища по умолчанию
Репозиторий, чье планирование полностью внешне (нет локальных openspec/specs/ или openspec/changes/), может объявить свое хранилище один раз вместо передачи --store при каждой команде:
yaml
# openspec/config.yaml (единственный файл в openspec/)
store: team-contextОбычные команды затем автоматически разрешаются к объявленному хранилищу; корневой баннер и блок root в JSON сообщают source: "declared" с ID хранилища, а выведенные подсказки все еще содержат --store <id>. Объявление является запасным вариантом, никогда не переопределяя: явный --store всегда побеждает, а каталог с реальными папками планирования игнорирует указатель (с предупреждением). Чтобы преобразовать репозиторий-указатель в локальный корень OpenSpec, удалите строку store: и запустите openspec init — init отказывается создавать шаблоны при наличии объявления.
Doctor (проверка состояния репозитория)
Один вопрос только для чтения, одно место: здоров ли корневой OpenSpec и доступны ли хранилища, на которые он ссылается, на этой машине?
bash
openspec doctor [--store <id>] [--json]Отчет разделяет состояние корня, состояние метаданных хранилищ (включая примечание о расхождении записанного удаленного и происхождения чекаута) и состояние ссылок (те же диагностические инструкции, с исправлениями клонирования для неразрешенных ссылок). Обнаружение проблем любого уровня завершается кодом 0 — агенты читают массивы status; только ошибки команды (нет корня, неизвестное хранилище) завершаются кодом 1. Doctor никогда не клонирует, не синхронизирует и не исправляет. Чтобы получить собранный набор, а не его состояние, используйте openspec context.
Рабочий контекст (собранный набор)
Все, что связано с этим через декларации OpenSpec, в одном рабочем наборе: корневой OpenSpec и хранилища, на которые он ссылается.
bash
openspec context [--store <id>] [--json] [--code-workspace <path> [--force]]JSON-краткое описание пригодно для потребления агентом (каждое доступное ссылаемое хранилище несет свой рецепт получения; неразрешенные члены несут те же инструкции по исправлению и вывод Doctor). --code-workspace дополнительно записывает файл рабочего пространства VS Code, содержащий корень плюс доступные ссылаемые хранилища (ref:<id> папки) — это единственное действие, которое выполняет эта команда, отклоняемое без --force, если файл существует. Недоступные члены сообщаются, а не предполагаются.
"Рабочий контекст" — это собранный набор; поле context: в openspec/config.yaml является фоном проекта, внедренным в инструкции — две разные вещи. openspec doctor отвечает на вопрос о том, здоров ли этот набор; openspec context отвечает на вопрос о том, какой этот набор.
Персональные рабочие наборы
Бета. Рабочие наборы являются частью нового бета-интерфейса; команды, флаги и форматы файлов могут меняться между релизами. Для ознакомления см. руководство по хранилищам.
Рабочий набор — это личный, именованный вид папок, над которыми вы работаете вместе — корневой план плюс все остальное, что вы выбираете — который хранится на вашей машине и открывается по имени в вашем инструменте. Он чисто локальный: никогда не коммитится, никогда не делится, никогда не выводится из деклараций, и удаление одного никогда не затрагивает папку-член.
bash
openspec workset create [name] [--member <path> | --member <name>=<path>]... [--tool <id>] [--json]
openspec workset list [--json]
openspec workset open <name> [--tool <id>]
openspec workset remove <name> [--yes] [--json]create запускает короткий управляемый процесс (или принимает флаги --member неинтерактивно; первый член является основным — сессии начинаются оттуда). open запускает выбранный инструмент: редакторы (VS Code, Cursor) открывают окно со всеми членами и возвращаются; CLI-агенты (Claude Code, codex) берут этот терминал в качестве сессии со всеми прикрепленными членами без предварительно заполненного промпта, завершаясь, когда вы выходите. Если папка-член отсутствует во время открытия, она пропускается с примечанием; остальные открываются. Сохраненное предпочтение инструмента может быть переопределено при открытии с помощью --tool.
Поддержка нового инструмента — это конфигурация, а не код. Каждый инструмент имеет один из двух стилей запуска — workspace-file (запускается с сгенерированным .code-workspace) или attach-dirs (один флаг присоединения на члена) — и ключ openers в глобальном config.json (откройте его с помощью openspec config edit) добавляет инструменты или настраивает встроенные функции по полю:
json
{
"openers": {
"zed": { "style": "workspace-file" },
"claude": { "attach_flag": "--dir" }
}
}Все состояния рабочего набора хранятся в папке worksets/ глобального каталога данных (сохраненные виды плюс сгенерированные файлы <name>.code-workspace, которые перегенерируются при каждом открытии); удаление этой папки стирает все следы.
Команды просмотра
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 Нет задач только что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 new change
Создает каталог изменения и необязательные метаданные, зафиксированные в корневом каталоге OpenSpec.
bash
openspec new change <name> [options]Опции:
| Опция | Описание |
|---|---|
--description <text> | Описание для добавления в index.md |
--goal <text> | Необязательные метаданные цели для хранения с изменением |
--schema <name> | Схема рабочего процесса для использования |
--store <id> | ID хранилища, используемый как корень OpenSpec (хранилище — это автономное репозиторий OpenSpec, который вы зарегистрировали) |
--json | Вывод JSON |
Примеры:
bash
openspec new change add-billing-api
openspec new change add-billing-api --store team-context --jsonopenspec 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 | Нет | ID артефакта: proposal, specs, design, tasks или apply |
Опции:
| Опция | Описание |
|---|---|
--change <id> | Имя изменения (требуется в неинтерактивном режиме) |
--schema <name> | Переопределение схемы |
--json | Вывод в формате JSON |
Особый случай: Используйте apply как артефакт, чтобы получить инструкции по реализации задачи.
Примеры:
bash
# Получить инструкции для следующего артефакта
openspec instructions --change add-dark-mode
# Получить инструкции для конкретного артефакта
openspec instructions design --change add-dark-mode
# Получить инструкции apply/реализации
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 (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
# Форк встроенной схемы, управляемой спецификациями
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 (или выберите «Применить изменения в этом проекте сейчас?» при запросе внутри проекта).
Интерактивные примеры:
bash
# Обновление только доставки
openspec config profile
# выбрать: Изменить только доставку
# выбрать delivery: Только навыки
# Обновление только рабочих процессов
openspec config profile
# выбрать: Изменить только рабочие процессы
# переключить рабочие процессы в контрольном списке, затем подтвердитьУтилиты
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
Управление автодополнением командной строки 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 | Отключить вывод цвета при установке |
Связанная документация
- Commands - Слэш-команды AI (
/opsx:propose,/opsx:applyи т. д.) - Workflows - Общие шаблоны и когда использовать каждую команду
- Customization - Создание пользовательских схем и шаблонов
- Getting Started - Руководство для первого запуска