Мод Claude Code жил во временной папке сессии obsidian-voice-note и в новых сессиях не загружался. Перенесён как есть в plugins/feature/, плагин переименован plan-progress → feature (команда /feature, запасные /progress и /feature-pane). Поведение не менялось. - README мода: что показывает, контракт с форматами обвязки (ledger, ## Findings, Decisions в design.md, планы, .bounded), разработка. - Сгенерированные движком типы (.claude-plugin/types/) — в .gitignore. - Строки о моде в CLAUDE.md и README обвязки; install.sh его пока не ставит. Проверено: claude plugin test plugins/feature — 22/22, claude plugin validate — без ошибок, tsc — чисто, bash tests/run.sh — 157/157. Refs #7 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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/<plan>/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/<id>/ |
proposal, design, specs/*/spec.md; ## Decisions made without discussion в design.md |
.bounded, feat/<issue>-…, @{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 <worktree>/plugins/feature. - Логика разбора — чистые функции в
hooks/parse.ts(тестируются напрямую), отрисовка и ввод-вывод —hooks/register.tsx.
Ограничения
- Корень сессии должен быть git-репозиторием: workspace из нескольких репозиториев (
.wt/<фича>/<репо>) пока не поддерживается. - Фон панели в полноэкранном режиме рисует Claude Code ключом темы
composerSidebarBackground; поменять его можно только своей темой (~/.claude/themes/<имя>.json).