# feature — панель фичи для Claude Code Мод Claude Code: команда `/feature [ветка | issue | план]` открывает панель по веткам в работе — где фича и чей ход, что сделано и что требует внимания человека. Только чтение: мод ничего не пишет в репозитории. ``` ‹ feat/10-obsidian-wrapper 6/7 › ○ ● ○ ○ ○ ○ ○ #10 · openspec: obsidian-wrapper · по SDD-ledger Этап: ручная проверка (Task 7) ход за тобой 1: ○ Документы 5 2: ● Задачи 6/7 3: ○ Рулинги 10 4: ○ Отложено 14 ``` ## Что показывает - **Этап и чей ход** — по тому, какие артефакты есть: brainstorming → ревью спеки → ревью плана → исполнение → финальное ревью → ручная проверка → ветка на сервере (PR). - **1 Документы** — proposal, design, спеки capability, план, SDD-ledger. Enter открывает файл в `glow -t` в соседней панели iTerm (Terminal.app — новое окно, иначе `open`; без glow — `less`). - **2 Задачи** — задачи плана со статусами по ledger (SDD шаги плана не отмечает), шаги раскрываются по Enter. - **3 Рулинги** — решения из `## Decisions made without discussion`, кроме принятых человеком, с маркером `R-n`; Enter раскрывает обоснование и цену ошибки. - **4 Отложено** — находки `deferred` и находки без статуса (`!`); Enter раскрывает пояснение к статусу. Вкладка по умолчанию — по этапу: до старта исполнения документы, при исполнении задачи, на ревью PR рулинги. Клавиши: `1`–`4` вкладки, `9`/`0` ветки, `e`/`h` раскрыть все и скрыть готовые задачи, `r` обновить. Цифры работают в любой раскладке. ## Что читает (контракт с обвязкой) | Источник | Что берётся | |---|---| | `git worktree list` в корне сессии | ветки в работе; ветка на `main` без работы не показывается | | `.superpowers/sdd//progress.md`, `plan-path` | статусы задач (`Task N: complete`, `fix round`), `R-n (design #m)`, `Task N is manual`, строки `Final…` | | таблица `## Findings` в ledger (`\| Маркер \| Суть \| Статус \|`) | отложенное; без таблицы — предварительный подсчёт по строкам ledger | | `docs/superpowers/plans/*.md` | задачи (`### Task N: …`) и шаги (`- [ ]`), `Issue: #N` | | `openspec/changes//` | proposal, design, `specs/*/spec.md`; `## Decisions made without discussion` в design.md | | `.bounded`, `feat/-…`, `@{u}` | bounded-задача, номер issue, ветка на сервере | Меняется формат одного из этих источников — меняется и мод, в том же PR. ## Разработка - Тесты: `claude plugin test plugins/feature`; проверка манифеста и вызовов: `claude plugin validate plugins/feature`. - Типы: движок пишет их в `.claude-plugin/types/` при загрузке мода (в git не попадают); после этого `npx -p typescript tsc -p plugins/feature --noEmit`. - Запуск из worktree с перезагрузкой при правках: `claude --plugin-dir /plugins/feature`. - Логика разбора — чистые функции в `hooks/parse.ts` (тестируются напрямую), отрисовка и ввод-вывод — `hooks/register.tsx`. ## Ограничения - Корень сессии должен быть git-репозиторием: workspace из нескольких репозиториев (`.wt/<фича>/<репо>`) пока не поддерживается. - Фон панели в полноэкранном режиме рисует Claude Code ключом темы `composerSidebarBackground`; поменять его можно только своей темой (`~/.claude/themes/<имя>.json`).