{"id":50787128,"url":"https://github.com/andrewcigan/vibe-dev-plugin","last_synced_at":"2026-06-12T08:33:19.600Z","repository":{"id":362774902,"uuid":"1260667119","full_name":"andrewcigan/vibe-dev-plugin","owner":"andrewcigan","description":"Vibe Dev — harness-first pipeline для Claude Code: от бизнес-идеи до работающего продукта. 20 проверяемых механизмов (hooks из коробки) + онбординг под пользователя (/setup).","archived":false,"fork":false,"pushed_at":"2026-06-05T21:56:34.000Z","size":272,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-05T22:11:45.484Z","etag":null,"topics":["ai-agents","claude-code","claude-code-plugin","harness","vibe-coding"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andrewcigan.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-06-05T18:34:43.000Z","updated_at":"2026-06-05T21:56:38.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/andrewcigan/vibe-dev-plugin","commit_stats":null,"previous_names":["andrewcigan/vibe-dev-plugin"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/andrewcigan/vibe-dev-plugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewcigan%2Fvibe-dev-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewcigan%2Fvibe-dev-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewcigan%2Fvibe-dev-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewcigan%2Fvibe-dev-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andrewcigan","download_url":"https://codeload.github.com/andrewcigan/vibe-dev-plugin/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewcigan%2Fvibe-dev-plugin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34236551,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-12T02:00:06.859Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agents","claude-code","claude-code-plugin","harness","vibe-coding"],"created_at":"2026-06-12T08:33:19.069Z","updated_at":"2026-06-12T08:33:19.589Z","avatar_url":"https://github.com/andrewcigan.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Vibe Dev v6\n\n**Harness-first pipeline от бизнес-идеи до работающего продукта — плагин для Claude Code.**\n\nПлагин берёт идею у предпринимателя-непрограммиста и автономно ведёт её до работающего\nпродукта: агент сам принимает технические решения, а человек остаётся на уровне бизнеса\nи архитектуры. Главный принцип:\n\n\u003e ## «Harness — это enforcement, не documentation.»\n\u003e Каждый принцип имеет **реальный механизм** (hook / gate / agent / self-check), а не строчку\n\u003e в инструкции, которую агент может проигнорировать. Дисциплину ломает ровно то звено, которое\n\u003e должно её соблюдать — сам агент. Поэтому правила превращены в проверяемые «посты».\n\nВ v6.2 таких механизмов — **38**, каждый с тремя атрибутами: *где зафиксирован / чем enforce /\nчто произойдёт при попытке обойти* (полный список — `docs/traceability.md`). Полноту проверяет\nself-check плагина — строка без механизма не пройдёт. Новое в v6.2: **активация хуков стала\nпроверяемым фактом** (сторож, который «не включился», больше не может молчать), а **ясность\nфинального сообщения** — из пожелания стала блокирующим гейтом. Все новые сторожа проверены\nживыми прогонами на движке Claude Code 2.1.170.\n\n---\n\n## Как это работает (харнесс простыми словами)\n\nУ Claude Code есть ключевые моменты, которые он объявляет: «сейчас сохраню файл», «выполню\nкоманду», «показываю сообщение человеку», «открываю/закрываю сессию». Плагин **вешает на эти\nмоменты маленьких инспекторов** (hooks). Каждый инспектор смотрит на намерение и выносит один\nиз вердиктов:\n\n- **block** — действие отменяется (например, нельзя пометить фичу «готово» без доказательства);\n- **warn / inject** — действие проходит, но появляется пометка для агента или флаг для человека;\n- **pass** — всё чисто, молча пропустить.\n\nСписок «на таком-то событии — позови такого-то инспектора» лежит в `hooks/hooks.json` и\n**подхватывается автоматически** при установке (Claude Code v2.1+) — ручная настройка не нужна.\nСтрогость регулируется на проект: `minimal` / `standard` / `strict` (живые проекты не ломаются —\nпереводятся командой `/upgrade-project`).\n\n---\n\n## Механизмы — что каждый ловит (ключевые из 38)\n\n### A. «Готово» = проверено, а не на словах\n| Механизм | Что ловит | Что делает |\n|---|---|---|\n| **UI-evidence gate** | UI-фичу помечают «готово» по typecheck/тестам, но пользователь нажал — пусто | **block** (нужен скриншот/живой прогон) |\n| **Evidence по поверхности** (v6.2) | фича «без UI» (API/задача по расписанию/CLI) закрывается без следа реального вызова; UI-фича маскируется под «библиотеку» | поверхность определяется по файлам и только ужесточается: ui → **block**, остальные → **warn** с инструкцией приёмки |\n| **Критика до реализации** (H7) | средняя/большая фича уходит в работу без продуманной стратегии проверки | **block** (нет `docs/test-strategy.md` — нельзя в active) |\n| **Ревью модели данных** | пишут схему БД без отдельного критического ревью (модель «застывает», переделка дорогая) | **block** (нет `docs/data-model-review.md` — нельзя в active) |\n| **State-machine переходов** | фича прыгает в невалидное состояние / битый служебный файл | **block** (актуальный проект) / warn (старый) |\n\n### A2. Активация хуков — проверяемый факт (новое в v6.2)\n| Механизм | Что ловит | Что делает |\n|---|---|---|\n| **Heartbeat** | хуки «вроде установлены», но физически не работают (тихий театр строгости) | каждое живое событие пишет отметку с версией; читатели сверяют свежесть |\n| **Двухфазный профиль** | профиль «strict» записан, а enforcement не включался | bootstrap пишет `pending-strict`; в боевой `strict` переводит ТОЛЬКО живой хук — факт перевода = доказательство |\n| **Git pre-commit backstop** | плагин снесли/сломали — и никто не заметил | НЕЗАВИСИМЫЙ от плагина пост в `.git/hooks`: pending-профиль или протухший heartbeat → **block** коммита |\n| **Fail-loud + crash-артефакты** | сторож упал и молча «разрешил всё» (реальный баг 2026-06-06) | краш → громкое предупреждение + лог краша + probe при старте сессии |\n| **Корпус реальных форм** | гейт зелёный на синтетике, падает на боевых файлах | self-check гоняет гейт на 6 обезличенных боевых `feature_list` |\n| **`/doctor`** | «почему сторожа молчат?» | самодиагностика: профиль/heartbeat/краши/установка + таблица починки |\n\n### B. Безопасность и деньги\n| Механизм | Что ловит | Что делает |\n|---|---|---|\n| **bulk-API gate** | массовый внешний API без проверки лимитов (реальный кейс: бан проекта на 2 суток + впустую деньги) | **block** без pre-launch-checklist (теперь чеклист требует явные объём × цену) |\n| **Смена модели без smoke** | правка вносит модель/настройку, влияющую на каждый ответ (реальный кейс: 3 дня обрывов клиентам после «новее = drop-in») | **warn** «это изменение контракта, прогони smoke» |\n| **Vendor-lock без research** | в архитектуру вшивают конкретного поставщика наугад, без сравнения вариантов | **block** integration-фичи без `docs/research/*.md` |\n| **Секрет в чате** (v6.2) | пользователь вставил живой ключ в сообщение | **warn**: ключ скомпрометирован → ротация + перенос в `.env` |\n| **Секрет в выводе команды** (v6.2) | CLI напечатал токен — он оседает в контексте сессии | **warn** модели: не переиспользовать литералом, предложить ротацию (+маска вывода на движках с поддержкой) |\n| **concurrent-write** | две сессии пишут в один файл (реальный кейс: потеря данных) | **warn** (advisory) |\n\n### C. Анти-залипание\n| Механизм | Что ловит | Что делает |\n|---|---|---|\n| **Стоп-сигнал пользователя** | человек пишет «не туда / остановись / мы не то делаем», а агент продолжает тактически | **inject** «смена уровня, не способа; запусти субагент-диагностику» |\n| **Interrupt-recovery** (v6.2.1) | обрыв связи (закрытая крышка ноутбука) или доставка сообщения убили выполнявшийся инструмент — система лживо пишет «пользователь отклонил», агент стоит часами | следующее сообщение без «стоп» → **inject** «это был обрыв, не запрет — продолжай план»; настоящий «стоп» сохраняет силу |\n| **Повтор падающих команд** | одна и та же команда запускается 3-й раз подряд без успеха и без структурных правок | **warn** ДО выполнения: подсказка про субагент-диагностику (носитель выверен по живой модели событий 2.1.170) |\n\n### D. Понятный язык (главная боль непрограммиста)\n| Механизм | Что ловит | Что делает |\n|---|---|---|\n| **Clarity-gate на финал хода** (v6.2) | ход завершается оценкой в человеко-днях или тяжёлым жаргоном вне кода | **block**: агент обязан дописать то же самое простыми словами (≤10 строк); точность держит размеченный корпус из боевых сессий + лимиты дописок |\n| **Язык-ловец (экранный слой)** | жаргон / развилка без «что теряешь» / человеко-дни в любом сообщении | **флаг на экране + лог-метрика** (честно display-only; в Desktop-среде событие не приходит — несущий слой выше) |\n| **Онбординг (`/setup`)** | система не знает, как говорить с новым пользователем | портрет `~/.vibe-dev/portrait.md` → строгость гейтов и формат развилок подстраиваются (без портрета — нейтральный дефолт) |\n\n### E. Дисциплина процесса\n| Механизм | Что ловит | Что делает |\n|---|---|---|\n| **WIP=1 / scope** | правки выходят за рамки заявленной фичи | **block** коммита (diff ⊆ affected_files) |\n| **Намерение без действия** | агент завершает ход словами «сейчас сделаю X» без единого действия | **block** (продолжить ход) |\n| **Единый Stop-диспетчер** (v6.2) | несколько сторожей на завершении хода каскадят блокировки и зацикливают ход | приоритеты + общий предел ≤3 блокировок на ход; переполнение → pass с записью в лог |\n| **Research-гейт архитектуры** (v6.2) | архитектура пишется без изучения лучших практик и готовых решений | **block** записи `ARCHITECTURE*.md` без `docs/research/*`; пропуск — ТОЛЬКО явной фразой пользователя |\n| **Closing-mode** (v6.2) | «закрываем сессию» → агент вдруг начинает кодить | права деградируют: запись только в файлы состояния; новая работа → backlog; снимается обычным сообщением |\n| **Lock-паттерн** (v6.2) | агент сам «изображает согласие пользователя» (маркеры пропуска/закрытия) | маркеры `.harness/locks/*` пишут ТОЛЬКО хуки по явной фразе — запись агентом **block** |\n| **Config-protect** (v6.2) | агент ослабляет собственные гейты (профиль, heartbeat, отключение) | **block** во всех профилях; отключение enforcement — только руками пользователя |\n| **Handoff-петля** | при закрытии сессии план остаётся в чате (новая сессия его не увидит) | **inject** cold-start чеклиста + детекция пропуска при старте |\n| **Правило пользователя** (`/hookify`) | «больше не делай X» забывается и повторяется | человек замораживает коррекцию в постоянное **block/warn**-правило без кода |\n\n### F. Инфраструктура харнесса\n| Механизм | Что делает |\n|---|---|\n| **Hooks из коробки** | авто-загрузка `hooks.json` при установке; без файла — невозможно «забыть включить» |\n| **warn доходит до модели** | предупреждения идут правильным каналом (иначе молча терялись бы) |\n| **Профили + version-lifecycle** | minimal/standard/strict; старые проекты не форсятся, переводятся по команде |\n| **Таблица трассировки + self-check** | каждый механизм описан 3 атрибутами; строка без живого механизма роняет self-check |\n| **Gate обезличенности** | в публичной версии случайно осталось личное (почта / клиентский проект / личный путь) — **block** self-check |\n\n\u003e **Честно — что осталось дисциплиной, а не механизмом:** проверка связок между модулями на\n\u003e реальном пути, «агент делает сам, не шлёт в терминал», реалистичность тестовых данных. Их\n\u003e хуком надёжно не заставить. Держим дисциплиной + ловим на реальном проекте. Не выдаём за\n\u003e «железобетон».\n\nПостроено **после аудита всех ~20 реальных проектов** предыдущих версий (12 ретроспектив +\n~150 заметок памяти + 6 журналов багов); v6.2 — после **аудита 54 боевых сессий** на v6.1\n+ рисёрча практик харнессов + независимой критики плана.\n\n---\n\n## 7 подсистем\n\n**Instructions** (CLAUDE.md-роутинг + domain-rules.yaml) · **State** (feature_list.json +\nSESSION.md + error-journal) · **Verification** (4 слоя + dual critique + negative-gate) ·\n**Scope** (affected_files, WIP=1) · **Lifecycle** (init, cold-start, clean-exit, /upgrade) ·\n**Learning** (feedback-память, ретроспективы, anti-patterns) · **Cost \u0026 Safety** (bulk-gate,\nconcurrent-lock, secrets-scope).\n\n---\n\n## Команды\n\n| Команда | Что делает |\n|---|---|\n| `/setup` | Онбординг: 6 простых вопросов → портрет (как с тобой общаться) |\n| `/new-project` | Бизнес-интервью + bootstrap harness (4 файла на старте) |\n| `/resume \u003cproject\u003e` | Cold-start test + диф с прошлой сессией |\n| `/feature \u003cid\u003e` | WIP=1 + dual critique (test-researcher + user-perspective-critic) |\n| `/verify` | 4-слойная проверка (синтаксис + рантайм + e2e + пользователь) |\n| `/hookify` | «больше не делай X» → постоянное block/warn-правило |\n| `/handoff` · `/end-session` | Clean-exit + фиксация состояния в файлы |\n| `/audit` | Внешняя оценка харнесса + скорость ошибок |\n| `/stuck` | Стак-протокол + LLM-кворум |\n| `/ship` | Финальная валидация ≥90% + ретроспектива |\n| `/research` · `/architecture` · `/dev-plan` · `/upgrade-project` | … (полный список в `skills/`) |\n\n## Pipeline\n\n- **FAST (5 этапов)** — внутренние инструменты, простые MVP, Telegram-боты:\n  интервью → архитектура+стек → дизайн-handoff (если UI) → `/feature` loop → `/ship`.\n- **FULL (10 этапов)** — продукты на рынок: идеи R1/R2 → валидация → research → архитектура+\n  прототип → дизайн → wave-план → `/feature` loop → `/ship` + маркетинг-запуск.\n\n---\n\n## Установка\n\n```bash\n# 1. Добавить marketplace из GitHub\nclaude plugin marketplace add andrewcigan/vibe-dev-plugin\n# 2. Установить и включить плагин\nclaude plugin install vibe-dev@vibe-dev\n```\n\nИли локально (для разработки самого плагина):\n```bash\nclaude --plugin-dir \"/path/to/vibe-dev-plugin\"\n```\n\n\u003e Технический id плагина — `vibe-dev` (от него зависят имена команд и установка). Версия — **6.2.1**.\n\n---\n\n## Версия\n\n**v6.2.1** — Interrupt-recovery: техническое прерывание (обрыв клиента / доставка сообщения) больше не парализует агента «жду указаний» — следующий промпт без «стоп» продолжает план автоматически.\n\n**v6.2.0** — Enforcement как проверяемый факт (37 механизмов): доказуемая активация хуков\n(heartbeat + двухфазный профиль + независимый git pre-commit backstop + `/doctor`), fail-loud\n(краш сторожа не молчит), clarity-gate финального сообщения, evidence по поверхности фичи,\nобязательный research перед архитектурой, closing-mode, секрет-гигиена, config-protect.\nВсе новые сторожа проверены живыми прогонами на движке 2.1.170. Построено по аудиту 54 боевых\nсессий v6.1. Полный список изменений — [`CHANGELOG.md`](CHANGELOG.md).\n\n_v6.1.0 — публичный релиз: enforcement из текста в механизм (20 механизмов) + онбординг\n(`/setup`) + gate обезличенности, после аудита ~20 реальных проектов v5._\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrewcigan%2Fvibe-dev-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandrewcigan%2Fvibe-dev-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrewcigan%2Fvibe-dev-plugin/lists"}