Releases: Dmatryus/dm-cc-assistant
Release list
v0.3.0 — Autonomous Epic Lifecycle
Release v0.3.0 — Autonomous Epic Lifecycle
Edit log:
- 2026-04-30 · v0.3.0 · release-manager · created (через v0.2.1 release-skill)
dm-cc-assistant делает шаг от «помощника по чеклистам» к автономному оркестратору эпика. Большая итерация: команды, формат backlog'а и модель исполнения переосмыслены.
«Долго думаем → автономно делаем → структурированный отчёт → диалог.»
Что нового
4 команды вместо 7
/dm-cc-assistant:backlog # двухуровневая модель эпик/подзадача
/dm-cc-assistant:plan # 7-фазное планирование активного эпика
/dm-cc-assistant:execute # автономный параллельный прогон в worktree'ах
/dm-cc-assistant:release # подготовка релиз-материалов (без push)
/research, /review, /update-docs, /release full — удалены. Их функциональность поглощена /plan и /execute. Подробности в migration guide.
Автономия и параллельность
/execute — главная новинка. Один pre-execute confirm — и агент сам:
- Создаёт
feat/E-XXXот main. - Запускает подзадачи волнами параллельно в отдельных git worktree'ах.
- Между волнами мёрджит готовые ветки в
feat/E-XXX, резолвит конфликты в 3 уровня (combine → auto-pick → user dialog только для high-stakes). - После всех волн — code-reviewer проходит cross-subtask quality, release-manager собирает агрегированный отчёт.
- Запускает 4-шаговый финальный диалог: narrative summary → меню по категориям → sub-dialogs → финальное действие.
Pre-execute analysis детектит остатки от прерванных прогонов — предлагает Resume / Restart / Skip по каждой подзадаче.
Двухуровневая модель backlog'а
Эпики (E-001) с подзадачами (E-001.1). Inline-статусы подзадач отражают их жизненный цикл: Todo / In Progress / Done / Failed / Skipped / Conflict-blocked / Cancelled. Тип эпика (опциональный): Functional / Tech Debt / Research / Infrastructure / Cleanup.
Sync с docs lightweight'ный — при каждом /backlog агент детектит deltas в OVERVIEW / ARCHITECTURE и surface'ит их.
/plan — тяжёлый интерактив
7 фаз с STOP'ами: Context (light code scan + read-list confirm) → Decomposition (5–15 atomic subtasks) → DAG + waves (Mermaid graph + file-overlap check) → Risks + alternatives → Open questions (resolve / defer / promote to research subtask) → DoD → Final review (Accept / Iterate phase X / Abort).
Soft cap: третья итерация той же фазы → агент сигналит «возможно эпик слишком большой».
/release — подготовка, не релиз
Готовит локально:
- CHANGELOG entry
- Release notes (.task/release-notes-vX.Y.Z.md)
- Announcement (.task/announcement-vX.Y.Z.md)
- Tag message (текст для
git tag -a) - Migration guide (только при breaking)
- Bumps версии в plugin.json / marketplace.json / etc.
Коммитит на feat/E-XXX. Не мёрджит в main, не тэгирует, не пушит — печатает инструкции пользователю. Контроль остаётся за тобой.
Conflict resolution в 3 уровня
Большинство merge-конфликтов между ветками подзадач — это «дополняющие изменения» (разные импорты, разные методы, разные секции). release-manager (merge mode) автоматически объединяет такие через Combine. Если combine невозможен и конфликт low-stakes — Auto-pick по intent analysis. User dialog только для high-stakes: public API breaking / security / data integrity / critical config.
Подзадачи в одной волне не могут иметь пересекающиеся Файлы: — это структурная инвариантa, проверяется в /plan фаза 3.
Edit log convention
Все генерируемые файлы (OVERVIEW.md, ARCHITECTURE.md, CLAUDE.md, backlog, plan, report, research, releases) теперь содержат секцию > **Edit log:** сразу после H1. Latest first, формат: - YYYY-MM-DD · vX.Y.Z · <agent> · <description>.
[Priority] теги в ARCHITECTURE §9/§10
Tech Debt и Code Hotspots требуют префикс [High] / [Medium] / [Low]. /backlog промоутит в draft по правилу: High → Todo, Medium → Todo (обсудить), Low → Parking lot.
Установка / обновление
/plugin marketplace update dm-cc
/plugin update dm-cc-assistant@dm-cc
(Если кнопка Update не работает — см. Troubleshooting в README.)
После обновления обязательно запусти /dm-cc-assistant:backlog — он детектит старый формат и предложит миграцию.
Breaking changes
Удалены команды: /research, /research --done, /review, /update-docs, /release full. Подробности и инструкции в migration guide.
Спасибо
Если ловишь баги или неудобства — issue в GitHub.
v0.2.1 — Release Skill, Done Mode & Parallel Planning
[0.2.1] — 2026-04-18
Added
/dm-cc-assistant:release— подготовка коммита: анализирует изменения, предлагает commit message, закрывает задачи In Progress в backlog./dm-cc-assistant:release full— полный релиз: обновляет CHANGELOG.md и README.md, делает bump версии, предлагает git tag и генерирует release notes.- Агент
release-manager(model: sonnet) — два режима (mode / full), не делает git commit/tag сам — только готовит материалы. - Режим
--doneдля/dm-cc-assistant:research T-ID --done— закрывает задачу в backlog и предлагает commit message.
Fixed
task-researcher: промпт для реализации теперь выводится прямо в чат после записи research.md (раньше только в файл).task-researcher: результат research виден в чате — краткое резюме findings + промпт.backlog-planner: план строится от фундамента (архитектура → инфраструктура → фичи), а не копирует Must-список из OVERVIEW.backlog-planner: добавлен шаг анализа реального кода перед генерацией задач.
Changed
backlog-planner: новый шаг «Plan parallel execution» — группирует задачи в волны (Wave 1, 2, ...) с предложением имён веток.researchskill: поддержка флага--done.- SessionStart hook: счётчик задач исправлен (было total, стало todo), добавлена подсказка
:release. - CLAUDE.md: обновлён список команд и файловая карта.
v0.2.0 — Backlog + Daily Task Cycle
Context
v0.1.x покрывает старт проекта (project-init). Пользователь инициализировал реальный проект и хочет, чтобы ассистент помогал в ежедневной разработке. Нужно: (1) на основе OVERVIEW + ARCHITECTURE предложить план реализации (backlog), (2) поддерживать цикл задачи с трекингом, (3) связать открытые вопросы между сессиями и документами.
Полный цикл
project-init → OVERVIEW + ARCHITECTURE + CLAUDE.md
↓
/dm-cc-assistant:backlog ← создаёт план реализации
↓
Ассистент + пользователь прорабатывают → .task/backlog.md
↓
┌─ Цикл задачи ─────────────────────────────────────┐
│ /backlog → выбрать задачу (по T-ID) │
│ /research T-003 → research привязан к задаче │
│ implement (обычный Claude) │
│ /review → ревью привязано к задаче │
│ /update-docs → обновляет docs + backlog + вопросы │
│ │
│ Открытые вопросы за сессию: │
│ → обогащают docs (OVERVIEW/ARCHITECTURE) │
│ → порождают новые задачи в backlog │
│ → или пополняют OVERVIEW §9 (глобальные) │
│ │
│ Глобальные открытые вопросы (OVERVIEW §9): │
│ → проверяются при каждом update-docs │
│ → решённые → правки в docs + новые задачи │
└────────────────────────────────────────────────────┘
4 skill'а
| Skill | Agent | Что делает |
|---|---|---|
/dm-cc-assistant:backlog |
backlog-planner |
Создаёт / показывает / обновляет backlog |
/dm-cc-assistant:research T-ID |
task-researcher |
Research задачи по ID из backlog |
/dm-cc-assistant:review [scope] |
code-reviewer |
Ревью изменений |
/dm-cc-assistant:update-docs |
docs-updater |
Обновляет docs + backlog + открытые вопросы |
Backlog: формат и ID-система
Файл: .task/backlog.md в CWD пользователя.
Формат:
# Backlog — {название проекта}
Сгенерирован из OVERVIEW.md + ARCHITECTURE.md.
Последнее обновление: {дата}
## In Progress
- **T-003** [High] Экран настроек с переключением темы
- Итерация: v1
- Зависит от: T-001
## Todo
- **T-004** [Critical] Push-уведомления для напоминаний
- Итерация: v1
- Зависит от: T-002
- **T-005** [Low] Экспорт данных в CSV
- Итерация: v2
## Done
- **T-001** ~~[Critical] Базовая навигация между экранами~~
- **T-002** ~~[Critical] Локальное хранилище привычек (SQLDelight)~~
## Open Questions
- Какой сервис для push-уведомлений? (связано с T-004)
- Нужен ли онбординг-экран? (потенциальная новая задача)ID-система:
- Формат:
T-NNN(T-001, T-002, ...) - Автоинкремент — агент читает последний ID и +1
- ID стабильные — не меняются при перемещении между статусами
- Все артефакты привязаны:
.task/research.md→# Research: T-004,.task/review.md→# Review for: T-004
Новые агенты (4 штуки)
agents/backlog-planner.md
tools: Read, Write, Bash | model: opus
Первый запуск (backlog.md не существует):
- Читает OVERVIEW.md (§6 Must/Should/Could) + ARCHITECTURE.md (§2 Module Map, §5 Data Model)
- Разбивает Must-фичи на маленькие задачи (1 задача ≈ 1 час работы, максимум 2). Claude склонен переоценивать размер — лучше разбить на две мелких, чем оставить одну крупную.
- Каждой задаче назначает приоритет: Critical (блокирует всё остальное), High (важно для текущей итерации), Medium (желательно), Low (можно отложить)
- Определяет зависимости между задачами
- Группирует по итерациям (v1 → v2 → ...)
- Переносит открытые вопросы из OVERVIEW.md §9 в секцию Open Questions
- Показывает draft пользователю. STOP. Ждёт подтверждение. Обсуждает по одной задаче за раз — не dump всего backlog'а.
- Записывает
.task/backlog.md
Повторный запуск (backlog.md существует):
- Показывает текущий статус: N done, M in progress, K todo
- Спрашивает что делать: показать backlog / добавить задачу / выбрать задачу для работы / обновить приоритеты
- При выборе задачи → ставит статус In Progress, подсказывает
/dm-cc-assistant:research T-NNN
Стиль: интерактивный диалог, один вопрос за раз, правило терминологии.
agents/task-researcher.md
tools: Read, Grep, Glob, Bash | model: sonnet
- Получает T-ID из $ARGUMENTS
- Читает
.task/backlog.md→ находит задачу по ID, извлекает описание, приоритет и зависимости - Читает CLAUDE.md + OVERVIEW.md + ARCHITECTURE.md
- Ищет в кодовой базе релевантные файлы (Grep/Glob/Read)
- Пишет
.task/research.md:# Research: T-004 — Push-уведомления для напоминаний ## Из backlog {описание задачи, приоритет, зависимости, итерация} ## Relevant Files {файлы с описанием релевантности} ## Existing Patterns {как похожие вещи сделаны в проекте} ## Constraints {из CLAUDE.md и ARCHITECTURE.md} ## Suggested Approach {пошаговый план реализации} ## Risks {на что обратить внимание} ## Промпт для реализации Скопируй в новый чат: > Я работаю над задачей T-004 — Push-уведомления для напоминаний. > Прочитай `.task/research.md` для полного контекста. > > Начни с: {первый шаг из Suggested Approach}
Ключевая фича: в конце research.md агент генерирует готовый промпт для копирования в новый чат. Это мост между research и implementation — пользователю не нужно самому формулировать задачу для Claude.
agents/code-reviewer.md
tools: Read, Grep, Glob, Bash | model: sonnet
Интерактивный ревью, не статический отчёт:
- Берёт
git diff(scope из $ARGUMENTS, default: unstaged) - Читает CLAUDE.md (NEVER, CONSTRAINTS) + ARCHITECTURE.md (patterns)
- Если есть
.task/backlog.md— определяет какая задача In Progress, привязывает review - Анализирует diff, собирает findings, сортирует по приоритету (Critical → High → Medium → Low)
- Показывает первый finding пользователю с контекстом (file:line, что не так, почему, предложение фикса)
- STOP. Ждёт реакцию:
- «Согласен, фиксим сейчас» → агент не фиксит сам (read-only), но фиксирует решение
- «Согласен, но не сейчас» → агент добавляет задачу в
.task/backlog.mdс новым T-ID - «Не согласен» → пропускает, записывает в review.md как «dismissed»
- Вопрос → обсуждает, потом повторяет STOP
- Переходит к следующему finding. Повторяет 5-6 для каждого.
- В конце записывает
.task/review.mdс итогом (что принято, что отвергнуто, что ушло в backlog)
Read-only по отношению к коду проекта — не редактирует исходники. Может писать в .task/review.md и .task/backlog.md.
agents/docs-updater.md
tools: Read, Write, Grep, Glob, Bash | model: sonnet
Интерактивный — ведёт активный диалог с пользователем, не просто показывает diff'ы.
Обновляет три слоя:
Слой 1 — Project docs (OVERVIEW.md, ARCHITECTURE.md, CLAUDE.md):
- Читает git diff/log + существующие docs
- Для каждого doc определяет затронутые секции
- Показывает CURRENT vs PROPOSED per section, ждёт confirm
- PRINCIPLES section — immutable
- Targeted edits, не перезапись
Слой 2 — Backlog (.task/backlog.md):
- Текущая задача (In Progress) → перемещает в Done
- Если в процессе возникли новые задачи → добавляет в Todo с новыми T-ID
- Показывает изменения, ждёт confirm
Слой 3 — Open Questions:
- Сессионные вопросы, которые не закрыты:
- Часть → обогащает docs (вносит в соответствующую секцию)
- Часть → новые задачи в backlog
- Часть → глобальные open questions (OVERVIEW.md §9)
- Глобальные вопросы из OVERVIEW.md §9:
- Проверяет каждый: решён ли он по результатам текущей работы?
- Решённые → правки в docs + возможно новые задачи
- Нерешённые → остаются
Skills (4 штуки)
skills/backlog/SKILL.md
name: backlog
description: Create or manage the project implementation backlog. First run generates tasks from OVERVIEW.md + ARCHITECTURE.md. Subsequent runs show status and let you pick a task.
disable-model-invocation: true- Проверяет OVERVIEW.md + ARCHITECTURE.md существуют
- Запускает backlog-planner через Task
- Подсказка после выбора задачи:
/dm-cc-assistant:research T-NNN
skills/research/SKILL.md
name: research
description: Research the codebase for a backlog task by T-ID. Produces .task/research.md.
disable-model-invocation: true- Проверяет
.task/backlog.mdсуществует (warn если нет — работает и без backlog, по текстовому описанию) - Проверяет T-ID в $ARGUMENTS (или текстовое описание задачи)
- Запускает task-researcher
- Подсказка: «Начинай реализацию. Потом — /dm-cc-assistant:review»
skills/review/SKILL.md
name: review
description: Review code changes against project conventions. Produces .task/review.md.
disable-model-invocation: true- Проверяет git repo
- Определяет scope из $ARGUMENTS (default:
git diff) - Проверяет diff не пустой
- Запускает code-reviewer
- Статистика: N critical, M suggestions, K nits
skills/update-docs/SKILL.md
name: update-docs
description: Update project docs, backlog status, and open questions after completing work.
disable-model-invocation: true- Проверяет наличие хотя бы одного doc-файла
- Запускает docs-updater
- Итог: какие docs обновлены, backlog status, open questions resolved/added
Промежуточные файлы в проекте пользователя
user-project/
├── .task/
│ ├── backlog.md # от backlog-planner, обновляется docs-updater
│ ├── research.md # от task-researcher (перезаписывается)
│ └── review.md # от code-reviewer (перезаписывается)
├── OVERVIEW.md # обновляется docs-updater
├── ARCHITECTURE.md # обновляется docs-updater
└── CLAUDE.md # обновляется docs-updater
Edge cases
| Ситуация | backlog | research | review | update-docs |
|---...
7 bugfixes from first live test
Фиксы по результатам первого live-теста /dm-cc-assistant:project-init на реальном проекте.
Обновление
/plugin marketplace update dm-cc
/plugin update dm-cc-assistant@dm-cc
Или через + → Plugins → Manage plugins в десктоп-приложении.
Что исправлено
(CRITICAL) Агенты пропускали превью и подтверждение — жёсткие STOP-gates после каждого раздела, блок NEVER в обоих интервьюерах, оркестратор проверяет отчёт агента о подтверждении.
Mermaid sequenceDiagram по умолчанию вместо opt-in flowchart.
Новый «Шаг 0.5 — извлечение контекста» — агент показывает что он понял из описания и ждёт подтверждения. Оркестратор передаёт $ARGUMENTS.
MoSCoW разбит на 4 подшага (Must → Should → Could → Won't) с отдельным confirm-циклом.
Won't ≠ Non-goals — явное разграничение: Won't = «не сейчас», Non-goals = «никогда». Дубликаты исключаются.
Открытые вопросы — итеративный цикл ревью документа вместо одноразовой генерации.
Жаргон — расширены списки терминов, добавлены негативные примеры, DI-контейнер с расшифровкой в промпте.
5-й принцип One Question at a Time в генерируемом CLAUDE.md — вопросы строго по одному.
Full Changelog: v0.1.0...v0.1.1
v0.1.0 — project-init flow + self-hosted marketplace
project-init flow + self-hosted marketplace
Первый релиз. Покрывает сценарий старта нового проекта с нуля: /dm-cc-assistant:project-init проводит пользователя через четыре интервью и превращает пустую директорию в настроенное окружение Claude Code.
Установка
/plugin marketplace add Dmatryus/dm-cc-assistant@v0.1.0
/plugin install dm-cc-assistant@dm-cc
Затем в директории нового проекта:
/dm-cc-assistant:project-init
Что внутри
Skill project-init — оркестратор из четырёх шагов, запускает агентов последовательно и проверяет появление файлов после каждого.
overview-interviewer — продуктовое интервью в стиле «draft → подтверждение» → OVERVIEW.md (9 разделов: цель, проблема, персоны, user flow, MoSCoW-скоуп, non-goals, допущения).
architecture-interviewer — обсуждает технические выборы по одному с альтернативами, плюсами-минусами и рекомендацией (UI, БД, DI, сериализация и т.д.) → ARCHITECTURE.md (10 разделов); фиксирует тип проекта для следующего шага.
claude-md-generator — синтезирует CLAUDE.md по шаблону WHY / WHAT / HOW / CONSTRAINTS / NEVER / PRINCIPLES; раздел PRINCIPLES с четырьмя принципами Карпатого неизменяем.
project-scaffolder — базовый .claude/ scaffold для KMP (skill kmp-build, агент kmp-reviewer, PostToolUse hook на ktlintFormat); для других типов проектов завершает работу штатно.
Self-hosted marketplace dm-cc — .claude-plugin/marketplace.json, тот же репозиторий выступает и каталогом, и плагином.
Hook SessionStart — приветствие при загрузке плагина.
Known limitations
Скаффолдинг только для KMP-проектов; для остальных типов шаг штатно пропускается без ошибки.
Интервью и генерируемые документы только на русском языке.
Анализ существующих кодовых баз не поддерживается — только пустые директории.
Все четыре шага интерактивны, headless-режима нет.
KMP-хук ktlintFormat делает полнопроектное форматирование (у ktlint-gradle нет штатного per-file флага); если окажется медленно, хук можно убрать.
Full Changelog: https://github.com/Dmatryus/dm-cc-assistant/commits/v0.1.0