Вы тоже устали? Устали объяснять ChatGPT структуру вашего проекта в десятый раз? Устали от того, что Cursor "съедает" ваши лимиты? Платные подписки нужны ради их мощных моделей, но обидно тратить драгоценные токены на бесконечные уточнения контекста.

Встречайте OpenSpec - конец vibe-кодинга. Это инструмент, который не просто "еще одна обертка над GPT", а смена парадигмы. Мы переходим от AI-чатов к Spec-Driven Development.

Проблема: "Контекстная амнезия"

Давайте честно: AI-ассистенты крутые, но тупые. Как только ваш проект вырастает из "Hello World", начинается ад.

  • "Эй, добавь кнопку"

  • "Конечно! Вот код кнопки. Ой, я забыл, что у вас React, а не Vue, и что стили в Tailwind..."

Мы тратим 80% времени на борьбу с контекстом и промпт-инжиниринг, вместо того чтобы писать код. Мы платим $20/мес за инструменты, которые всё равно галлюцинируют, как только файл становится длиннее 500 строк.

Решение: OpenSpec - Спецификация вместо Чата

Идея OpenSpec гениальна в своей простоте: сначала думаем, потом скармливаем.

Вместо хаотичного диалога вы создаете Спецификацию (Spec). Это не скучная документация по ГОСТу, а набор markdown-файлов в папке openspec/ (предложение, задачи, правила), который описывает:

  1. Контекст: Какие файлы важны для задачи.

  2. Цель: Что конкретно нужно сделать.

  3. Правила: Какие библиотеки использовать.

OpenSpec берет эту спецификацию, создает четкую структуру задач (tasks.md), которую любой AI понимает с полуслова.

По сути, это старый добрый PRD (Product Requirements Document), которому сто лет в обед. Все серьезные компании (от Google до стартапов YC) используют PRD, чтобы инженеры понимали, что они строят. OpenSpec просто адаптировал эту классику для AI-инженеров.

Почему это работает?

Потому что LLM (большие языковые модели) обожают структуру. Когда вы даете им четкую спецификацию вместо сбивчивого "ну сделай красиво", качество кода вырастает на порядок.

OpenSpec заставляет вас сформулировать задачу до того, как вы начнете тратить ресурсы модели. Это возвращает нас к корням инженерии, но с суперсилой AI.

Как вкатиться?

Проект Open Source. Никаких скрытых платежей.

  1. Устанавливаете CLI (npm install -g @fission-ai/openspec).

  2. Запускаете openspec init в проекте.

  3. Описываете задачу и наслаждаетесь результатом.

Мастер-класс: Добавляем фичу за 5 минут

Пример на учебном проекте в отдельной ветке. Вот как выглядит реальный рабочий процесс, когда вам нужно добавить, например, 2FA-авторизацию:

1. Инициализация (Один раз):

Пишем /openspec init (или просто openspec init в терминале). В корне появляется файл AGENTS.md.

Это и есть "секретный соус". В этом файле лежат инструкции для AI на естественном языке. Они буквально говорят модели:

"Ты - OpenSpec инженер. Если пользователь просит фичу, не пиши код сразу! Сначала создай папку openspec/changes/... и опиши план."

Поэтому шорткаты не обязательны - модель просто следует инструкции из AGENTS.md. Шорткаты (/openspec:proposal) - это просто способ сэкономить время на наборе текста.

2. Заполните контекст вашего проекта

Пишете в чате: "Пожалуйста, ознакомься с файлом openspec/project.md и помогите мне заполнить его подробной информацией о моем проекте, используемых технологиях и принятых соглашениях.".

Ответ

Я заполнил файл openspec/project.md актуальной информацией о проекте, основываясь на структуре вашего кода, файлах конфигурации и документе doc/CONVENTIONS.md.

Теперь в спецификации отражены:

  • Цель проекта: Игра-кликер "The Last of Guss" с раундами.

  • Стек технологий:

    • Frontend: React 19, Vite, Tailwind v4, Ant Design, Zustand.

    • Backend: Node.js, Fastify v5, Drizzle ORM, PostgreSQL 16.

  • Архитектурные соглашения: Структура папок, именование компонентов/страниц, паттерн Optimistic UI для тапов.

  • Доменный контекст: Понятия Round, Tap и события WebSocket.

Можете проверить результат в файле openspec/project.md. Нужно ли дополнить его чем-то еще?

3. Предложение (Proposal):

Пишете в чате: "Создай OpenSpec Proposal для добавления 2FA".

OpenSpec создает папку с файлами:

openspec/changes/add-2fa/
├── proposal.md          # Описание предложения
├── tasks.md             # Детальный план реализации
└── specs/
    └── auth/
        └── spec.md      # Спецификация требований 2FA
Ответ

Proposal описывает:

  • Почему: Повышение безопасности, особенно для привилегированных пользователей

  • Что: Добавление TOTP 2FA с QR-кодами, новыми API endpoints и UI

  • BREAKING: Изменение процесса логина для пользователей с 2FA

Tasks включает 5 основных блоков:

  1. Backend (схема БД, API, безопасность)

  2. Frontend (API, state, UI компоненты)

  3. Dependencies (новые пакеты)

  4. Testing

  5. Documentation

Specs определяет 4 ключевых требования:

  • Настройка 2FA с QR-кодами

  • Логин с 2FA верификацией

  • Управление 2FA настройками

  • Стандарты безопасности

Proposal прошел строгую валидацию OpenSpec и готов к ревью. Теперь вы можете начать реализацию согласно плану в tasks.md, или сначала обсудить proposal с командой для получения approval.

4. Утверждение (Review):

Вы читаете эти файлы. Не нравится библиотека для OTP? Пишете в чате: "Замени библиотеку X на Y в дизайне". AI правит md-файлы. Код еще не написан, а ошибки уже исправлены! И не надо как-то дополнительно уточнять, что мы редактируем спецификацию. AI продолжает работать в режиме планирования. Например: я внёс уточнения, что хочу "email-based OTP" без хранения email и с конфигом для mailpit.

Результат

Итоговая архитектура:

1. Логин: username + password + email
2. OTP: генерируется → отправляется на email → хранится в памяти 1 мин
3. Верификация: ввод кода (макс 3 попытки) → JWT токен
4. Cleanup: автоматическая очистка каждые 5 минут

Proposal прошел валидацию и полностью готов к реализации! ?

Теперь у вас есть четкая спецификация для:

  • Backend: In-Memory store с TTL

  • Frontend: Двухшаговая форма логина

  • Email: OTP с 1-минутным сроком действия

  • Security: Rate limiting и автоматическая очистка

Можно начинать разработку! ?

5. Реализация (Code):

Когда спек утвержден, вы даете команду: "Реализуй всё это!". (Шорткат: /openspec:apply add-2fa). В идеале все таски должны быть закрыты, но мы же знаем, как это бывает - несколько раз корректировал исполнение. Хорошо, командуете пройти по tasks.md и проставить галочки, что уже сделано. Я обнаружил, что остаются хвосты. А время уже вышло.

Техдолг

Оставшиеся невыполненные задачи (13):

  • Настройка Mailpit в docker-compose - это не надо

  • Middleware для защиты операций - это оставим невыполненым

  • Страница Settings с секцией 2FA - это не надо

  • Все тесты (unit, integration, edge cases) - это оставим невыполненым

  • Development setup (Mailpit установка) - это не надо

  • Документация (README, API docs, инструкции) - это сделано

6. Архивация (Merge):

Фича готова? Пишем: /openspec:archive add-2fa (или просто просим AI заархивировать). Ваши изменения "цементируются" в основную документацию проекта. Теперь AI навсегда знает, как у вас устроена авторизация.

OpenSpec Dashboard
OpenSpec Dashboard

Пока остальные ждут, когда Copilot "догадается", что они имели в виду, пользователи OpenSpec уже деплоят продакшн.

А что насчет конкурентов?

Инструмент

Подход

Проблема

Обычный чат

"Сделай красиво"

Контекстная амнезия, галлюцинации на больших файлах.

Kiro.dev

Разбросанные спеки

Сложно отслеживать изменения, когда фича затрагивает много файлов.

Spec-kit

Для новых проектов

Отлично для старта с нуля, но "плывет" при поддержке существующего легаси.

OpenSpec

Spec-Driven Development

Единый источник правды. Четкое разделение: вот как есть (specs), а вот что меняем (changes). Идеально для реальной работы.

Сравнение в деталях.

P.S. Будущее за теми, кто умеет писать Спецификации?

Комментарии (9)


  1. titulusdesiderio
    05.01.2026 20:08

    Не понятно чем оно лучше spec-kit. Одна строчка в таблице совершенно голословна и кажется даже не притянута за уши, а вовсе выдумана


    1. comerc Автор
      05.01.2026 20:08

      там же сцылка:

      Двухпапочная модель OpenSpec (openspec/specs/ для текущих изменений, openspec/changes/ для предлагаемых обновлений) разделяет состояние и различия. Это масштабируемо при изменении существующих функций или работе с несколькими спецификациями. spec-kit хорошо подходит для новых разработок (greenfield/0→1), но обеспечивает меньшую структуру для обновлений между спецификациями и развития новых функций.


  1. flancer
    05.01.2026 20:08

    Я заполнил файл openspec/project.md актуальной информацией о проекте,

    Можно глянуть на результат?



  1. francyfox
    05.01.2026 20:08

    crush и warp уже давно формируют свою дб в проекте и AGENTS.md
    Проблема в непредусмотрительности поведения при превышение контекста. Агент должен снова прочитать доки или историю. В некоторых ситуациях системный промт становится частью контекста и тоже удаляется, яркий пример gem боты gemini


  1. Shurubtsov
    05.01.2026 20:08

    Чем это принципиально отличается от claude code с его claude.md в корне и кучей md , которые генерят саб-агенты?


  1. Hemml
    05.01.2026 20:08

    Давно пора создать формальный язык программирования для создания промптов LLM :)


    1. mSnus
      05.01.2026 20:08

      Мы бы давно его навайбкодили, но..


    1. Wesha
      05.01.2026 20:08

      Точняк!