OpenSpec
Мультирепо (beta)

Рабочие наборы (бета)

Откройте хранилище и использующие его репозитории в одном окне редактора, чтобы агент видел и хранилище, и репозитории.

При использовании хранилища контекст, необходимый агенту, распределён по папкам. Спецификации и изменения находятся в хранилище, а код — в каждом репозитории. Агент, запущенный в одном репозитории, может читать файлы и выполнять поиск только в нём, поэтому у него есть лишь половина нужной информации.

Для этого в OpenSpec предусмотрены рабочие наборы. Рабочий набор — это сохранённый именованный список папок, которые открываются вместе. На этой странице предполагается, что хранилище уже настроено и зарегистрировано на вашем компьютере. Это описано в разделе Хранилища (бета).

Как это работает

  • Что это такое: именованный список папок, сохраняемый только на вашем компьютере. Во входящие в набор папки ничего не записывается, и никакие изменения не фиксируются.
  • Что происходит при открытии: OpenSpec создаёт файл .code-workspace на основе списка и запускает ваш редактор с этим файлом. Все входящие в набор папки находятся в одном окне.
  • Что вы получаете: поиск в редакторе и любой агент, запущенный в этом окне, могут читать содержимое всех папок набора. Агент может в одном сеансе выполнять поиск по спецификациям хранилища и коду репозитория.
  • Что не меняется: выбор папки openspec/, которую использует команда. Он по-прежнему подчиняется правилам из раздела Где создаются артефакты.

Настройка

  1. Сохраните рабочий набор (один раз для каждого компьютера). Укажите репозиторий и хранилище как элементы набора, а также инструмент для их открытия:

    # save a named list of folders you open together
    openspec workset create platform \
      --member ~/src/web-app \
      --member ~/openspec/team-plans \
      --tool code
    Saved workset 'platform' (2 members) to your machine.
    Open it any time with: openspec workset open platform
  2. Открывайте его всякий раз, когда начинаете работу:

    # open every member in one VS Code window
    openspec workset open platform

Команда openspec workset list показывает сохранённые вами наборы, а openspec workset remove <name> удаляет рабочий набор, не затрагивая входящие в него папки:

platform  (opens in VS Code)
  web-app     /Users/you/src/web-app
  team-plans  /Users/you/openspec/team-plans

Использование: одно изменение, две папки

Допустим, изменение add-login находится в хранилище team-plans, а соответствующий код — в web-app. Откройте рабочий набор platform и попросите агента реализовать изменение. В рамках одного сеанса он сможет:

  • прочитать содержимое team-plans/openspec/changes/add-login/ и расположенные рядом спецификации
  • изменять код в web-app/
  • запускать команды openspec из папки web-app

Без рабочего набора агент видит только папку, в которой был запущен.

Инструменты, поддерживаемые по умолчанию

  • VS Code (--tool code) и Cursor (--tool cursor): поддерживаются по умолчанию. Каждый открывает одно окно со всеми папками набора.
  • Claude Code и Codex в терминале: их использование для открытия рабочих наборов временно отключено, пока перерабатывается соответствующий процесс. При указании --tool claude или --tool codex команда завершается с ошибкой, сообщает об этом и предлагает использовать VS Code или Cursor.
  • Другие редакторы: добавьте их в параметр openers в настройках CLI (config.json).

On this page