Всем привет!
Некоторое время назад я опубликовал статью о своём опыте AI-кодинга и поделился рабочими практиками. В комментариях нашёл много полезного — в частности, упоминания методологии SDD.
Это натолкнуло меня на идею: собрать инструмент, который позволяет управлять и автоматизировать процесс разработки, основанной на спецификациях и контроле генерации кода. Я приступил к реализации — очень плотно и почти без сна за все эти дни o_O.
Основная идея проста: разработчик формирует спецификации, ИИ генерирует код. Принципы — не терять и не размывать контекст, контролировать структуру и качество кода.
Вчера я завершил работу над MVP. Продукт свежий и местами сырой — решил, что шлифовать его лучше уже имея пользовательский фидбек.
Знакомьтесь: Skaro.
GitHub · Документация
Процесс разработки в Skaro выстроен в последовательный пайплайн:
Конституция — стек, стандарты кода, требования к тестам, политики безопасности, правила для LLM
Архитектура — описание проекта, компоненты, хранение данных, взаимодействия, инфраструктура, интеграции, компромиссы
План разработки — вехи (milestones) и задачи
Задачи — каждая задача проходит свой пайплайн: спецификация → уточнение → план → реализация → тесты
Ревью — проверка репозитория на соответствие всем этапам, чат с LLM для устранения замечаний
Все артефакты (спецификации, планы, ответы на вопросы LLM) хранятся в директории .skaro/ рядом с кодом и попадают в репозиторий. Контекст не теряется между сессиями.
Каждой роли можно назначить свою модель — одни модели лучше справляются с кодингом, другие сильнее в планировании и понимании архитектуры. Я лично использую Anthropic Opus 4.6 для всех ролей.
|
Роль |
Задача |
|---|---|
|
Архитектор |
Генерация и ревью архитектуры, ADR |
|
Кодер |
Реализация задач по этапам |
|
Ревьюер |
Проверка репозитория, исправление ошибок |
В дашборде отображается статистика по проекту: расход токенов в разрезе ролей и задач, статистика по файлам, прогресс пайплайна.
Для работы требуется Python 3.11+.
Windows (PowerShell):
irm https://raw.githubusercontent.com/skarodev/skaro/main/install.ps1 | iex
Linux / macOS:
curl -fsSL https://raw.githubusercontent.com/skarodev/skaro/main/install.sh | sh
Скрипт создаёт изолированный venv в ~/.skaro/ и устанавливает CLI. При повторном запуске скрипт обнаруживает существующий venv и обновляет пакет на месте.
Альтернативно — через pipx или uv:
pipx install skaro # или uv tool install skaro
Проверить установку:
skaro --version
cd my-project skaro init skaro ui
skaro init поддерживает два сценария. Для нового проекта создаётся директория .skaro/ с пустыми шаблонами конституции, архитектуры и конфигурацией. Для существующего репозитория Skaro анализирует кодовую базу и автоматически генерирует конституцию и архитектуру на основе найденного кода — остаётся только создать план и задачи.
skaro ui запускает веб-дашборд по адресу http://localhost:4700.
Можно запускать несколько проектов одновременно, каждый последующий откроется на порту 4700 + 1
Посмотреть текущее состояние проекта из терминала:
skaro status
Провайдер и модели настраиваются через UI — отдельно для каждой роли (архитектор, кодер, ревьюер).
Поддерживаемые провайдеры:
|
Провайдер |
Требует ключ |
Модель по умолчанию |
|---|---|---|
|
Anthropic |
да |
claude-sonnet-4-6 |
|
OpenAI |
да |
gpt-5.2 |
|
Groq |
да |
llama-3.3-70b-versatile |
|
Ollama |
нет |
qwen3:32b |
Ключи хранятся локально и не передаются никуда, кроме выбранного провайдера.
Конституция — документ, который определяет правила проекта для LLM: технологический стек, стандарты кода, требования к тестам, политики безопасности.
Заполнить её можно вручную во встроенном MD-редакторе или выбрать готовый пресет.
Доступные пресеты: React, Next.js, SvelteKit, Vue, Angular, FastAPI, Django, NestJS, Express, Flutter, React Native, Kotlin Multiplatform.
Пример блока конституции:
## LLM Rules - Не оставлять заглушки без явного TODO с обоснованием - Не дублировать код: предпочитать переиспользование и чёткие абстракции - Не делать скрытых допущений — при неопределённости задавать вопрос - Всегда генерировать AI_NOTES.md по шаблону
Архитектура — ключевой документ для LLM. Начинается с раздела Overview: описание того, что разрабатывается и какую проблему решает. Без этого контекста модель не понимает цели проекта. Далее описываются компоненты и их зоны ответственности, хранилища данных, протоколы взаимодействия, инфраструктура, внешние интеграции, известные компромиссы.
LLM-архитектор анализирует заполненный документ и предлагает свою версию.
После утверждения архитектура фиксируется и становится контекстом для всех последующих задач.
После утверждения архитектуры Skaro предлагает сгенерировать ADR (Architecture Decision Records) — документы, фиксирующие ключевые архитектурные решения: что было решено, какие альтернативы рассматривались и почему они были отклонены. ADR хранятся в репозитории и служат историческим контекстом для всей команды.
План разработки структурирован по вехам (milestones). Каждая веха содержит список задач с указанием зависимостей и статуса.
Задачи можно сгенерировать из архитектуры через LLM или добавить вручную. Шаблон плана хранится в .skaro/devplan.md и доступен для редактирования напрямую.
Задачи генерируются из плана одним действием. Для каждой задачи создаётся отдельная директория в .skaro/milestones/<milestone>/<task>/.
Спецификация описывает задачу по шаблону: контекст, пользовательские сценарии, функциональные и нефункциональные требования, явные ограничения, критерии приёмки.
Чёткая спецификация — основа качественной реализации. Чем точнее описано, тем меньше расхождений с ожиданиями.
После прочтения спецификации LLM-архитектор задаёт уточняющие вопросы. Ответы сохраняются в артефактах задачи и включаются в контекст при генерации.
На основе спецификации и ответов LLM-роль «Кодер» строит пошаговый план реализации. Каждый этап — это атомарный набор изменений, который можно реализовать и проверить независимо.
LLM-роль «Кодер» реализует задачу поэтапно. На каждом этапе генерируется список файлов с содержимым.
Перед записью на диск для каждого нового или изменённого файла доступен полный diff. Разработчик подтверждает сохранение явно — без автоматической перезаписи.
Отчет о том что было сделано и почему именно так:
Встроенный Git-раздел отображает список изменённых файлов с их статусом. Для каждого файла можно просмотреть diff, выбрать файлы для stage, написать сообщение коммита, запушить изменения или создать новую ветку — всё из интерфейса дашборда.
Фаза тестирования выполняет структурную проверку задачи: все ли файлы из плана присутствуют на диске, есть ли тестовые файлы в проекте, заполнена ли спецификация, завершены ли все этапы реализации. Дополнительно можно настроить произвольные команды верификации в verify.yaml — они будут выполнены автоматически.
LLM предлагает исправленные файлы
Ревью выполняет проверку на уровне всего проекта: утверждена ли конституция, подтверждена ли архитектура, все ли задачи реализованы и протестированы, есть ли незакрытые вехи. Дополнительно запускаются глобальные команды верификации из конфигурации.
По результатам ревью открывается чат-сессия. Перед отправкой можно выбрать scope — конкретные задачи или вехи, которые LLM возьмёт в контекст. Разработчик описывает проблему, LLM предлагает исправления с тем же механизмом просмотра diff и подтверждения файлов.
Пользуйтесь :)
Проект имеет лицензию AGPL-3.0 — ядро остаётся открытым и бесплатным.
Пример первого проекта, собранного в Skaro: Tic-Tac-Toe.
Надеюсь, Skaro окажется полезным в вашей работе! Жду фидбек и любую критику :)
Ссылки:
GitHub
Документация
PyPI
Telegram
Discord
Источник


