Перейти к основному содержимому

SpecWeave CLI 3.1.0Бесплатно и с открытым кодом

Работа переживает сессию.

Код пишет ваш агент. SpecWeave хранит, что значит «готово», что это подтвердило и где вы остановились, в виде обычных файлов в git, чтобы Claude Code, Codex или любой другой агент мог продолжить ту же задачу.

npm i -g specweave

Версия 3.1.0, выпущена 17 October 2026. Бесплатно и с открытым кодом.

$ specweave pickup
Picked up the handoff from claude@cloud (out of tokens): applied 7 uncommitted files.
SpecWeave pickup · you are codex@laptop
Increment 0001-resumable-checkout "Resumable checkout" (active) · tasks 1/2 done
Next: T-02 Restore the draft on return
  AC-01: Returning within 24 hours restores the cart and shipping choice
  AC-02: A paid order is never restored
  Files: src/restore.js | Test: npm test
Branch: main · in sync with origin/main · 3 uncommitted files
Last handoff: claude@cloud: out of tokens · next: finish restore on return
Notes:
- claude@cloud: Payment thread: drafts must never store card data
Реальный вывод из второго клона, запущенного как Codex, после передачи от Claude Code.

Шесть команд от плана до закрытия

Каждый шаг оставляет файл. Ничто не закрывается по галочке: тест запускается, его вывод сохраняется, а инкремент остаётся открытым, пока не пройдёт проверка.

  1. 01 Спланируйте инкремент

    $ specweave create-increment "Resumable checkout"

    Агент заполняет разделы Problem, Scope, пронумерованные критерии приёмки, Approach и Tasks. Перед тем как писать код, sw-increment задаёт только те вопросы, где нужны вы, по одному и с рекомендованным ответом: по умолчанию не больше пяти, а глубину задаёт planning.deepInterview.

    spec.mdКаждая задача называет свои критерии, файлы и тест.

  2. 02 Возьмите задачу

    $ specweave task claim T-02

    Захват записывается в журнал, поэтому второй агент, запросивший ту же задачу, получит отказ. Захват старше двух часов считается устаревшим и может быть перехвачен. specweave task next выводит следующую задачу с текстом её критериев.

    ledger.jsonlТолько добавление: события claim, done, release, skip и block.

  3. 03 Докажите, что готово

    $ specweave task done T-02 --run "npm test"

    CLI сам запускает тест. Задача считается выполненной только при коде выхода 0, а подтверждением служат коммит и хвост вывода. Неудачный запуск ничего не записывает.

    reports/task-T-02.txtПолный вывод команды с кодом выхода и временем.

  4. 04 Проверьте инкремент

    $ specweave verify

    Запускает ваши команды тестов, линтера и сборки — из testing.commands или определённые по package.json, Cargo, pytest или Go — и проверяет каждый критерий приёмки.

    reports/verify.jsonok равно true, только когда проходят все команды и критерии.

  5. 05 Ревью от другой модели

    $ specweave review

    Отдаёт диф ревьюеру из другого семейства моделей, чем та, что писала код: Codex проверяет код Claude, Claude — код OpenAI. Код 0 означает, что можно выпускать, код 3 — сначала исправьте. --brief выводит бриф, который можно вставить в любой инструмент. Новое в 3.1.0; см. Ревью другой моделью.

    reports/review-codex.mdЗамечания и вердикт, файл назван по имени ревьюера.

  6. 06 Закройте

    $ specweave complete 0001

    Отказывает, пока reports/verify.json отсутствует или не ok. Закрыть без него можно с --reason, и причина сохранится в инкременте.

    metadata.jsonЗавершён или причина, по которой закрыт без подтверждения.

Команды, флаги и имена файлов — как в specweave 3.1.0. Инкремент, задача и ревьюер на этой странице — единый пример.

Токены закончились — это не конец

Скажите «передай» в инструменте, который покидаете, и «продолжи с того места, где я остановился» в следующем. Codex может продолжить то, что начал Claude Code, на той же машине или на другой. Между инструментами ничего не копируется: specweave handoff отправляет снимок в specweave-handoff и wip/<branch> и добавляет событие в журнал.

  • handoff --allЗаписывает один индекс всех активных инкрементов и всех вложенных репозиториев с локальной работой.
  • pickup --listПоказывает ожидающие передачи, сначала новые, и ничего не меняет.
  • pickup <id или название>Берёт конкретную, если ждут несколько.
  • handoff --no-pushОставляет передачу на этой машине, не отправляя её в ваш удалённый репозиторий.
Передача и подхват подробно

Уходит: Claude Code, как claude@cloud

$ specweave handoff --reason "out of tokens"
Handed off 0001-resumable-checkout (released T-02, pushed your uncommitted edits).
To continue in any tool, machine or account, say "pick up" there (or run `specweave pickup`).
Details: .specweave/increments/0001-resumable-checkout/handoff.md

Снимок, отправленный в specweave-handoff и wip/<branch> на вашем удалённом репозитории, и событие передачи в журнале

Приходит: Codex, как codex@laptop

$ specweave pickup
Picked up the handoff from claude@cloud (out of tokens): applied 7 uncommitted files.
SpecWeave pickup · you are codex@laptop
Increment 0001-resumable-checkout "Resumable checkout" (active) · tasks 1/2 done
Next: T-02 Restore the draft on return

Строки подхвата — реальный вывод из второго клона, запущенного как Codex. Строки передачи — точное сообщение CLI для того же запуска.

Лимиты использования обрабатываются до того, как сработают

specweave auto-handoff on добавляет хуки в Claude Code, Codex и Grok Build. Каждый хук сохраняет локальную контрольную точку, а при 95% любого окна использования режим решает, что делать (Grok не сообщает процент, поэтому его хук срабатывает, когда ход упирается в лимит запросов).

Панель расхода SpecWithCode: Codex, на неделю осталось 10%; Claude, сессия 2%, неделя 54% и неделя Fable 84%, у каждого указано время сброса
Настоящий снимок · панель расхода SpecWithCode, окна, за которыми следит хук
  • suggestПо умолчанию
    На пороге
    Один раз сообщает, что передача готова, и продолжает работу.
    Подходит для
    По умолчанию. Вы сами решаете, когда переключаться.
  • enforce
    На пороге
    Запускает specweave handoff и останавливает сессию.
    Подходит для
    Автономные запуски, которые должны чисто остановиться на границе задачи.
  • checkpoint
    На пороге
    Только сохраняет локальные контрольные точки и никогда не передаёт работу.
    Подходит для
    Тарифы, где кредиты или прокси позволяют работать и после лимита.
  • --at 90Сдвигает порог; по умолчанию 95.
  • --wait-under 30Ничего не делает, если все заполненные окна сбрасываются в пределах этого числа минут; по умолчанию 30.
  • autocompact onСжимает контекст Claude Code на 400K токенов, а не около миллиона, чтобы поздние ходы оставались компактными.

Запускаете агентов в SpecWithCode? Используйте одну машину на подписку провайдера: оставляйте на каждой машине вход в один аккаунт каждого провайдера навсегда, а когда нужно больше ресурса, добавляйте машину, а не переключайте подписки вручную.

Руководство по автопередаче

Семь скиллов по умолчанию, ещё четыре — когда нужны

Скиллы — это короткие инструкции, которые агент загружает по требованию. Начиная с 3.1.0, необязательные включаются, когда их требует проект. specweave skills list показывает, почему включён каждый, а enable или disable это меняет.

В каждом проекте

sw-increment
Планирует инкремент как один spec.md и сначала задаёт критичные вопросы.
sw-grill-me
Опрашивает вас раундами, пока не будет решён каждый вопрос плана. При planning.deepInterview со значением deep запускается для каждого нового инкремента.
sw-do
Ведёт инкремент задача за задачей: захват, реализация в рамках её файлов, тест, коммит, готово с подтверждением. В одиночку, автономно или в параллельных линиях.
sw-auto
Ведёт инкремент без присмотра, пока не выполнены все задачи, затем проверяет и закрывает его.
sw-review
Жёсткое ревью свежим контекстом или моделью другого семейства. Каждое замечание указывает файл и строку.
sw-done
Закрывает инкремент: задачи выполнены, verify зелёный, ревью свежим контекстом, затем complete.
sw-handoff
Передаёт работу другому инструменту, аккаунту или машине и подхватывает её там.

Когда этого требует проект

sw-glossary
Собирает GLOSSARY.md — общий словарь проекта. specweave glossary check --strict роняет CI при расхождениях.
sw-sync
Отправляет инкременты в GitHub, Jira или Azure DevOps. Включается, когда у проекта есть трекер.
sw-project
Читает и обновляет хаб проекта. Включается, когда существует .specweave/project/hub.json.
sw-jev
Передаёт решения из закрытого набора в Jev. Включается, когда задан jev.enabled.
Справочник по скиллам

Запись, которую можно проверить

Всё перечисленное выше — обычные файлы в вашем репозитории. Историю защищают git-ревью и контроль доступа; эти файлы не заменяют защищённый от подделки аудит.

  • spec.md

    Что значит «готово»

    Записывается при планировании и читается до кода.

  • ledger.jsonl

    Что произошло

    Захваты, завершения с подтверждениями, заметки и передачи.

  • reports/

    Что это подтвердило

    Логи задач, verify.md, verify.json и отчёты о ревью.

  • handoff.md

    Где вы остановились

    Записывает specweave handoff.

  • specweave note

    Заметки для следующего агента

    Хранятся в журнале, а pickup их показывает.

  • .specweave/memory/

    Решения, которые переживают сессию

    Один файл на факт, с индексом в MEMORY.md и коммитом, чтобы его видел каждый инструмент и аккаунт.

  • specweave dashboard

    Доска со всем этим

    Только локально, по умолчанию на 127.0.0.1, порт 3456. Чтобы её читать, вызов модели не нужен.

  • specweave report

    Кто что делал, в виде страницы

    HTML-хронология инструментов, сессий, передач и подтверждений в reports/handoff-report.html.

Что читает дашборд в этом примере

Что дашборд читает для инкремента 0001-resumable-checkout
Инкремент0001-resumable-checkout Возобновляемое оформление заказа
СостояниеАктивен
ЗадачиГотово 1 из 2
Следующая задачаT-02 Восстановить черновик при возвращении
КритерииAC-01 Возврат в течение 24 часов восстанавливает корзину и выбор доставки. AC-02 Оплаченный заказ никогда не восстанавливается.
Файлы и тестsrc/restore.js, npm test
Последняя передачаclaude@cloud, токены закончились. Подхвачено: codex@laptop.

Построено по тому же запуску specweave pickup, что показан в начале страницы. Запустите specweave dashboard в своём проекте, чтобы увидеть свой.

Связь с инструментами, которыми вы уже пользуетесь

Каждая интеграция необязательна и остаётся выключенной, пока вы её не настроите.

  • Навигация по коду

    $ specweave lsp refs src/restore.js restoreDraft

    Ссылки, определения, типы при наведении и символы из языковых серверов, чтобы агенты не искали grep-ом. specweave lsp setup подбирает серверы под языки вашего репозитория.

    Руководство по LSP
  • Jev

    $ specweave jev route "<prompt>"

    Решения из закрытого набора примерно за 250 мс: какой скилл или уровень модели выбрать, безопасна ли shell-команда, нужно ли перепроверить подтянутый текст. Включается командой specweave jev setup.

    О Jev
  • Хаб проекта

    $ specweave project brief

    Общая цель, контекст, артефакты и рутины в .specweave/project/hub.json, которые читает каждый инструмент. --harness codex экспортирует бриф для другого инструмента.

    Руководство по переносимым проектам
  • Существующие репозитории

    $ specweave get owner/repo

    Клонирует и регистрирует репозиторий в рабочем пространстве или все репозитории организации с --all. --dry-run показывает, что будет, если принять уже имеющийся у вас чекаут.

    Руководство по подключению рабочего пространства
  • Трекеры задач

    $ specweave sync push

    Необязательно. Отправляйте инкремент в GitHub Issues, Jira или Azure DevOps, если команда планирует там.

    Руководство по синхронизации с трекерами
Все интеграции

Ведите те же инкременты в десктопном приложении

Воркер-тред SpecWithCode работает в одной ветке и открывает один пул-реквест — это ровно форма инкремента. Его чеклист — это список задач инкремента, а записи в журнал — команды с этой страницы. Треды оставляют друг другу заметки в журнале, а не правят чужие файлы.

Смотреть SpecWithCode
SpecWithCodeВоркер-тред
Воркер-тред SpecWithCode сообщает результат: выполненная команда с её выводом, без блокеров, два изменённых файла
Воркер-тред сообщает результат, подтверждения и изменённые файлы. SpecWithCode 1.0.21, 15 октября 2026.

Запишите, что значит «готово», и свободно меняйте инструменты

Быстрый стартЧто изменилось в 3.1