DSH: install-time зависимость от ~/.claude (superpowers source) #49

Closed
opened 2026-10-24 15:44:03 +03:00 by aep · 1 comment
Owner

Находка

После #37/#38 DSH больше не зависит от ~/.claude в runtime, но осталась зависимость при установке:

  • dsh/install.sh --skills берёт superpowers из ~/.claude/plugins/cache/claude-plugins-official/superpowers/*/skills;
  • если Claude Code удалён/откатан и ~/.dsh/skills ещё нет, свежая установка не сможет поставить superpowers;
  • существующие копии в ~/.dsh/skills продолжают работать, повторный --skills без кэша только предупреждает.

Ещё осталось

  • bootstrap.js и index.js содержат fallback-пути ~/.claude/skills и ~/.claude/roles; после --skills --roles они не используются, но остаются в коде.
  • global/CLAUDE.md (общий с CC) в разделе роли всё ещё говорит ~/.claude/roles/<r>.md; adapter и skill role перекрывают это, но текст путает.

Scope

  • Дать install-time источник superpowers без ~/.claude: vendored/pinned superpowers или DSH_SUPERPOWERS_SKILLS/--superpowers-from.
  • Тест: temp HOME без ~/.claude, dsh/install.sh --skills --roles → skills/roles на месте, bootstrap и /role работают.
  • Решить судьбу fallback-путей: оставить как legacy с предупреждением или убрать.
  • Убрать/переформулировать ~/.claude/roles в DSH-версии инструкций, не ломая CC.

Acceptance

  • Чистый HOME без ~/.claude проходит установку и fresh-session smoke.
  • ~/.claude не нужен ни для bootstrap, ни для skill role, ни для /role.
  • Явно указано, что project CLAUDE.md — это формат инструкций DSH, а не runtime Claude Code.

Связано

#37, #39, #48.

## Находка После #37/#38 DSH больше не зависит от `~/.claude` в runtime, но осталась зависимость при установке: - `dsh/install.sh --skills` берёт superpowers из `~/.claude/plugins/cache/claude-plugins-official/superpowers/*/skills`; - если Claude Code удалён/откатан и `~/.dsh/skills` ещё нет, свежая установка не сможет поставить superpowers; - существующие копии в `~/.dsh/skills` продолжают работать, повторный `--skills` без кэша только предупреждает. ## Ещё осталось - `bootstrap.js` и `index.js` содержат fallback-пути `~/.claude/skills` и `~/.claude/roles`; после `--skills --roles` они не используются, но остаются в коде. - `global/CLAUDE.md` (общий с CC) в разделе роли всё ещё говорит `~/.claude/roles/<r>.md`; adapter и skill `role` перекрывают это, но текст путает. ## Scope - Дать install-time источник superpowers без `~/.claude`: vendored/pinned superpowers или `DSH_SUPERPOWERS_SKILLS`/`--superpowers-from`. - Тест: temp `HOME` без `~/.claude`, `dsh/install.sh --skills --roles` → skills/roles на месте, bootstrap и `/role` работают. - Решить судьбу fallback-путей: оставить как legacy с предупреждением или убрать. - Убрать/переформулировать `~/.claude/roles` в DSH-версии инструкций, не ломая CC. ## Acceptance - Чистый `HOME` без `~/.claude` проходит установку и fresh-session smoke. - `~/.claude` не нужен ни для bootstrap, ни для `skill role`, ни для `/role`. - Явно указано, что project `CLAUDE.md` — это формат инструкций DSH, а не runtime Claude Code. ## Связано #37, #39, #48.
aep added this to the DSH port milestone 2026-10-24 15:44:03 +03:00
Author
Owner

Закрыто.

  • PR #64 (merge 9cae7e1) — установка без ~/.claude: --superpowers-from / DSH_SUPERPOWERS_SOURCE / ~/.dsh/superpowers; нет источника — FAIL (код 1) на чистой машине и WARN при уже установленных копиях; локальные role/sdd ставятся всегда.
  • PR #65 (merge ec7c028) — архив change dsh-install-source: спека dsh-install (5 требований) в openspec/specs/, change в openspec/changes/archive/2026-10-24-dsh-install-source/.

По пунктам issue:

  • install-time источник без ~/.claude — есть (флаг/env/пиннинг), legacy-кэш остаётся fallback'ом с WARN.
  • тест — temp HOME без ~/.claude: установка, bootstrap (маркер), роли; плюс dsh/install.sh --check.
  • fallback-пути — решено: legacy остаётся с предупреждением (установка, --check, runtime один раз за процесс); удаление — отдельная задача, #66.
  • ~/.claude/roles в DSH-инструкциях — убрано: установленный AGENTS.md ссылается на ~/.dsh/roles и не содержит ни одного пути ~/.claude; шапка объясняет, что проектный CLAUDE.md/AGENTS.md — формат инструкций DSH, а не runtime Claude Code. global/CLAUDE.md не менялся.
  • «~/.claude не нужен ни для bootstrap, ни для skill role, ни для /role» — да, после --skills --roles.

Проверено: dsh/tests/run.sh 63/63, tests/run.sh 630 passed / 0 failed, openspec validate --all --strict 5/5, clean-HOME smoke. Ревью ветки deepseek-v4-pro: Critical/Important нет, 5 Minor — два (валидация legacy-кэша, пустой --superpowers-from) переоценены по эффекту и закрыты в 4054e13, три отложены в #66.

Приёмка: установка в чистый HOME без ~/.claude пройдена; живой fresh-session smoke на машине без ~/.claude остаётся за владельцем (закрыто по его команде 24.10.2026).

Закрыто. - PR #64 (merge `9cae7e1`) — установка без `~/.claude`: `--superpowers-from` / `DSH_SUPERPOWERS_SOURCE` / `~/.dsh/superpowers`; нет источника — `FAIL` (код 1) на чистой машине и `WARN` при уже установленных копиях; локальные `role`/`sdd` ставятся всегда. - PR #65 (merge `ec7c028`) — архив change `dsh-install-source`: спека `dsh-install` (5 требований) в `openspec/specs/`, change в `openspec/changes/archive/2026-10-24-dsh-install-source/`. По пунктам issue: - install-time источник без `~/.claude` — есть (флаг/env/пиннинг), legacy-кэш остаётся fallback'ом с `WARN`. - тест — temp `HOME` без `~/.claude`: установка, bootstrap (маркер), роли; плюс `dsh/install.sh --check`. - fallback-пути — решено: legacy остаётся с предупреждением (установка, `--check`, runtime один раз за процесс); удаление — отдельная задача, #66. - `~/.claude/roles` в DSH-инструкциях — убрано: установленный `AGENTS.md` ссылается на `~/.dsh/roles` и не содержит ни одного пути `~/.claude`; шапка объясняет, что проектный `CLAUDE.md`/`AGENTS.md` — формат инструкций DSH, а не runtime Claude Code. `global/CLAUDE.md` не менялся. - «~/.claude не нужен ни для bootstrap, ни для skill role, ни для /role» — да, после `--skills --roles`. Проверено: `dsh/tests/run.sh` 63/63, `tests/run.sh` 630 passed / 0 failed, `openspec validate --all --strict` 5/5, clean-HOME smoke. Ревью ветки `deepseek-v4-pro`: Critical/Important нет, 5 Minor — два (валидация legacy-кэша, пустой `--superpowers-from`) переоценены по эффекту и закрыты в `4054e13`, три отложены в #66. Приёмка: установка в чистый HOME без `~/.claude` пройдена; живой fresh-session smoke на машине без `~/.claude` остаётся за владельцем (закрыто по его команде 24.10.2026).
aep closed this issue 2026-10-24 20:25:34 +03:00
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: aep/claude-harness#49
No description provided.