Планирование
Разбирает требования, задаёт вопросы, строит решения и проверяет согласованность документов. Здесь особенно важно качество рассуждения.
Локальная среда разработки для инженеров, команд и студий. Она превращает замысел в требования, спецификации, план, небольшие задачи, код и проверяемый результат.
ИИ выполняет работу, а команда сохраняет контроль над решениями и видит, чем подтверждён каждый завершённый шаг.
Посмотрите, какую проблему решает SF и на каких принципах строится работа.
Модель пишет быстро, но переписка не хранит структуру проекта, зависимости и историю решений. specaflow превращает разговор в последовательную работу: каждый результат остаётся в файлах, проверяется отдельно и становится основой следующего шага.
Новый проект начинается не с пустого чата. Мастер-опросник последовательно проходит продукт, инфраструктуру, бэкенд, дизайн и фронтенд — вытаскивает решения, о которых обычно вспоминают уже посреди реализации, и передаёт их в drafts как структурированный контекст.
Вопросы зависят от типа продукта. Ответы, допущения и отложенные решения сохраняются и становятся исходным контекстом для дальнейшей работы.
Приложение «Трекер привычек» — от идеи до закоммиченного кода. Кадры листаются сами, точками можно ходить вручную.
ИИ выполняет работу, вы принимаете решения. Ни один результат не становится частью проекта без вашей проверки.
Этап подготовил результат — работа останавливается. Вы смотрите изменения по файлам: принимаете их и сохраняете в Git либо возвращаете на доработку с пояснением.
Никакой базы данных: статус каждой фичи пересчитывается из specs/ при каждом запросе. Правьте спеки любым редактором или агентом — дашборд следует за файлами.
Сервер работает локально, с локальной моделью — полностью офлайн. Подойдёт для закрытых контуров: наружу не уходит ни строки, если вы сами не подключили облачный API.
Каждая функция развивается в своей ветке. В историю Git попадает только принятый вами результат: никаких скрытых коммитов, вся работа модели видима и обратима.
Главная болезнь ИИ-кодинга — тихий дрейф: план говорит одно, код делает другое, и документы врут уже через неделю. В specaflow отступление от плана — это протокол, а не случайность. Ни одна девиация не появляется без вашего одобрения, и ни одна одобренная не теряется.
Настоящие снимки интерфейса на демо-проекте «Трекер привычек» — том самом, что в анимации выше. В шапке — менеджер проектов: переключение между проектами и подключение новых, не выходя из specaflow.
Менеджер проектов — с него начинается работа
Один запущенный specaflow ведёт все ваши проекты: переключение из шапки, подключение существующей папки без перезаписи или создание нового проекта.
Features — фичи по слоям, статус выведен из файлов
Каждая карточка — фича с полосой фаз: зелёное пройдено, янтарное — в работе. Слои сворачиваются; сверху всегда актуальный.
Фича изнутри — фазы, запуск, документы
Фаза запускается одной кнопкой, рядом — заметки для агента. Ниже все документы фичи: spec, plan, research, tasks — с историей правок.
Briefs — очередь будущих фич по трекам
Брифы со статусами и зависимостями: у READY-брифа загорается ⚡ start specify — из него рождается фича.
Встроенный ассистент отвечает на быстрые вопросы, объясняет устройство specaflow и помогает разобраться, что происходит с проектом прямо сейчас. По кнопке «+» к вопросу прикладываются текущая вкладка, открытая фича, состояние прогона или журнал последних запусков.
Вы включаете чип «что сейчас на экране», и Спекки получает снимок рабочего состояния. В примере он видит, что для 105-analyzer-agent идёт фаза tasks, знает выбранную модель и объясняет, какие файлы агент уже изучил.
Быстрый вопрос можно открыть в drafts и развить в полноценное обсуждение. И наоборот: разговор из drafts продолжается в компактном ассистенте — история и контекст не теряются при переходе.
Без вложений Спекки отвечает как обычный советник. Одним нажатием можно показать ему текущий экран, активную фичу, вопрос фазы, журнал прогонов или файл — никакого скрытого гигантского промпта.
Помощник работает только на чтение: не запускает рабочие этапы, не создаёт документы и не меняет файлы за вашей спиной. Для него можно назначить отдельную модель или использовать основной профиль.
Внутри specaflow — агентный харнес, написанный с нуля на Go (только стандартная библиотека, ни одного стороннего пакета). Он ведёт модель по фазам через фиксированный набор из дюжины инструментов и берёт на себя всё то, из-за чего «просто подключить LLM» не работает в проде.
Никакого «дай модели всё и надейся»: набор маленький, известный заранее, права зависят от фазы.
Каждый механизм появился из настоящего сбоя — и после него этот класс сбоев перестал убивать раны.
Плюс журнал каждого рана на диске, лимиты раундов и веб-запросов, контроль наполнения контекстного окна с предупреждением агенту — скучная сантехника, без которой агенты не доживают до конца фазы.
Обычный агент начинает фазу вслепую и десятки раундов листает файлы, наполняя контекст тем, что успел найти. В specaflow встроен гибридный поиск по всему корпусу проекта — спецификациям, планам, брифам, конституции, документации: BM25 + вектора + Reciprocal Rank Fusion, написан с нуля на стандартной библиотеке Go. Без векторной БД и внешних сервисов: индекс — кэш в .specaflow/index/, целиком выводится из файлов, изменения подхватываются сверкой sha256 — в том числе после переключения git-ветки.
Перед стартом фазы харнес сам достаёт релевантный срез корпуса и кладёт его в стартовый промпт (бюджет ~3000 токенов). Меньше раундов «прочитаю ещё файл», меньше токенов на перечитывание одного и того же — а analyze видит кросс-фичевые связи, которых нет в артефактах его фичи.
Инструмент search_project понимает и «как у нас устроена ротация токенов», и точный идентификатор вроде T029: вектора ищут смысл, BM25 — букву, RRF сливает обе выдачи. Каждый сниппет подписан путём, заголовком и строками — модель обязана перечитать источник, прежде чем на него опереться.
Эмбеддинги — любой OpenAI-совместимый эндпоинт, включая локальные Ollama / LM Studio / llama.cpp: проект не покидает машину. Эмбеддер недоступен — индекс работает лексически и довекторизуется, когда тот вернётся. Тогл выключен — specaflow работает ровно как раньше: RAG не может сломать ни одну фазу.
Чем позже найдена ошибка, тем дороже её исправить. specaflow сдвигает поиск ошибок влево — в спецификацию и план, где правка стоит минуты, — и режет ревью на порции, которые реально прочитать.
относительно правки на этапе спецификации*
* классическая индустриальная оценка (Boehm; IBM Systems Sciences Institute)
строк за один присест, типичная фича
specaflow делит ту же функцию на небольшие порции изменений, которые можно внимательно проверить
SF разделяет не обязательные подключения, а три понятные роли. Можно назначить одну и ту же модель на все роли либо подобрать сочетание по качеству, скорости и стоимости.
Разбирает требования, задаёт вопросы, строит решения и проверяет согласованность документов. Здесь особенно важно качество рассуждения.
Переносит принятые решения в документы, проверки и код. Здесь полезны точность, скорость и умение следовать готовому плану.
Объясняет текущее состояние проекта и допустимые следующие действия. Работает только на чтение и не меняет проект за вашей спиной.
Все роли получают один и тот же подтверждённый контекст из файлов проекта. Поэтому смена модели не обнуляет историю решений.
specaflow — единый исполняемый файл на Go без внешних зависимостей: ни Docker, ни Node, ни Python. Скачали, запустили — открылось окно со встроенным менеджером проектов. Подключите существующую папку без перезаписи или создайте новый проект прямо в интерфейсе.
Локальный инференс или облачный API — на выбор. Встроенный тест соединения проверит, что провайдер держит tool calls.
Каждый ран фазы оставляет след в вечном журнале: модель, токены, раунды, ретраи, машинное время и сколько ран ждал ваших ответов. Вкладка «статистика» собирает из этого живой дашборд — плитки, бары по фазам, донат токенов по моделям, цикл-таймы фич — на чистом SVG, без единой внешней библиотеки, с фильтром по периоду и обновлением в реальном времени на каждом гейте.
Ожидание разработчика — ответы на клэрифаи, паузы перед решением на гейте — считается отдельно и вычитается. Видно честную скорость: сколько работала модель, а сколько задача лежала на вас. Ночь до утреннего approve не портит метрику.
Каждый ран атрибутирован моделью. Таблица по совокупным критериям: средние раунды, ретраи, доля reject на гейтах, токены, время на фазу — видно, какая модель дешевле и надёжнее доводит работу до approve, а какая гоняет инструменты по кругу.
Проекты, начатые раньше, ничего не теряют: каждый approve всегда был коммитом specaflow: <фаза> <фича> — из истории восстанавливаются времена фаз, финализации и возраст проекта. Никакой базы: append-журнал плюс git.
Фильтр по периоду пересчитывает всё мгновенно — данные уже на клиенте. Закрыли гейт — цифры обновились сами по SSE.