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
Шесть команд от плана до закрытия
Каждый шаг оставляет файл. Ничто не закрывается по галочке: тест запускается, его вывод сохраняется, а инкремент остаётся открытым, пока не пройдёт проверка.
01 Спланируйте инкремент
$ specweave create-increment "Resumable checkout"Агент заполняет разделы Problem, Scope, пронумерованные критерии приёмки, Approach и Tasks. Перед тем как писать код, sw-increment задаёт только те вопросы, где нужны вы, по одному и с рекомендованным ответом: по умолчанию не больше пяти, а глубину задаёт
planning.deepInterview.spec.mdКаждая задача называет свои критерии, файлы и тест.02 Возьмите задачу
$ specweave task claim T-02Захват записывается в журнал, поэтому второй агент, запросивший ту же задачу, получит отказ. Захват старше двух часов считается устаревшим и может быть перехвачен.
specweave task nextвыводит следующую задачу с текстом её критериев.ledger.jsonlТолько добавление: события claim, done, release, skip и block.03 Докажите, что готово
$ specweave task done T-02 --run "npm test"CLI сам запускает тест. Задача считается выполненной только при коде выхода 0, а подтверждением служат коммит и хвост вывода. Неудачный запуск ничего не записывает.
reports/task-T-02.txtПолный вывод команды с кодом выхода и временем.04 Проверьте инкремент
$ specweave verifyЗапускает ваши команды тестов, линтера и сборки — из
testing.commandsили определённые поpackage.json, Cargo, pytest или Go — и проверяет каждый критерий приёмки.reports/verify.jsonok равно true, только когда проходят все команды и критерии.05 Ревью от другой модели
$ specweave reviewОтдаёт диф ревьюеру из другого семейства моделей, чем та, что писала код: Codex проверяет код Claude, Claude — код OpenAI. Код 0 означает, что можно выпускать, код 3 — сначала исправьте.
--briefвыводит бриф, который можно вставить в любой инструмент. Новое в 3.1.0; см. Ревью другой моделью.reports/review-codex.mdЗамечания и вердикт, файл назван по имени ревьюера.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 не сообщает процент, поэтому его хук срабатывает, когда ход упирается в лимит запросов).

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 Возобновляемое оформление заказа |
|---|---|
| Состояние | Активен |
| Задачи | Готово 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-ом.
Руководство по LSPspecweave lsp setupподбирает серверы под языки вашего репозитория.Jev
$ specweave jev route "<prompt>"Решения из закрытого набора примерно за 250 мс: какой скилл или уровень модели выбрать, безопасна ли shell-команда, нужно ли перепроверить подтянутый текст. Включается командой
О Jevspecweave jev setup.Хаб проекта
$ 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