DSH: install.sh сам тянет свежий superpowers с git #67

Closed
opened 2026-10-24 20:32:25 +03:00 by aep · 1 comment
Owner

Цель

dsh/install.sh --skills сам получает superpowers из git: первый запуск —
клон, следующие — обновление до свежего состояния. Сейчас (#49) источник нужно
готовить руками, и он не обновляется.

Что должно быть

  • Источник по умолчанию — https://github.com/obra/superpowers: клон в
    $DSH_HOME/superpowers, при следующих --skills — fetch --depth 1 +
    reset --hard FETCH_HEAD.
  • DSH_SUPERPOWERS_REPO переопределяет репозиторий (зеркало, тесты) и
    применяется к уже существующему клону.
  • Явные --superpowers-from / DSH_SUPERPOWERS_SOURCE главнее и сеть не
    трогают вообще.
  • Нет сети: существующий клон используется с WARN; клона нет — FAIL с
    подсказкой --superpowers-from; недоклонированный каталог не остаётся.
  • Ручная копия ~/.dsh/superpowers без .git — используется как есть, WARN,
    не обновляется.
  • --check остаётся офлайновым: ok: superpowers source (<dir>, git <sha>),
    ничего не клонирует.
  • Тесты не ходят в сеть: локальный git-репозиторий через DSH_SUPERPOWERS_REPO.

Acceptance

  • Чистый HOME без ~/.claude: --skills клонирует и ставит скиллы; повторный
    прогон подтягивает новый коммит источника.
  • Офлайн-кейсы выше работают (кэш — WARN + копии; без кэша — FAIL, код 1).
  • bash dsh/tests/run.sh и bash tests/run.sh зелёные.

Заметки

  • Связано: #49 (закрыт), #48.
  • От прошлой попытки в этой сессии осталась запаркованная ветка
    feat/67-dsh-superpowers-git (worktree .claude/worktrees/dsh-superpowers-git,
    PR нет, ничего не влито): можно переиспользовать или начать заново и удалить.
## Цель `dsh/install.sh --skills` сам получает superpowers из git: первый запуск — клон, следующие — обновление до свежего состояния. Сейчас (#49) источник нужно готовить руками, и он не обновляется. ## Что должно быть - Источник по умолчанию — `https://github.com/obra/superpowers`: клон в `$DSH_HOME/superpowers`, при следующих `--skills` — `fetch --depth 1` + `reset --hard FETCH_HEAD`. - `DSH_SUPERPOWERS_REPO` переопределяет репозиторий (зеркало, тесты) и применяется к уже существующему клону. - Явные `--superpowers-from` / `DSH_SUPERPOWERS_SOURCE` главнее и сеть не трогают вообще. - Нет сети: существующий клон используется с `WARN`; клона нет — `FAIL` с подсказкой `--superpowers-from`; недоклонированный каталог не остаётся. - Ручная копия `~/.dsh/superpowers` без `.git` — используется как есть, `WARN`, не обновляется. - `--check` остаётся офлайновым: `ok: superpowers source (<dir>, git <sha>)`, ничего не клонирует. - Тесты не ходят в сеть: локальный git-репозиторий через `DSH_SUPERPOWERS_REPO`. ## Acceptance - Чистый HOME без `~/.claude`: `--skills` клонирует и ставит скиллы; повторный прогон подтягивает новый коммит источника. - Офлайн-кейсы выше работают (кэш — `WARN` + копии; без кэша — `FAIL`, код 1). - `bash dsh/tests/run.sh` и `bash tests/run.sh` зелёные. ## Заметки - Связано: #49 (закрыт), #48. - От прошлой попытки в этой сессии осталась запаркованная ветка `feat/67-dsh-superpowers-git` (worktree `.claude/worktrees/dsh-superpowers-git`, PR нет, ничего не влито): можно переиспользовать или начать заново и удалить.
aep added this to the DSH port milestone 2026-10-24 20:44:27 +03:00
Author
Owner

Rejected 24.10.2026: вариант C (#69) — пин на тег + вендор sync-машинерии LayneChai/superpowers-dsh вместо auto-pull unpinned HEAD. Ветка feat/67-dsh-superpowers-git и worktree удаляются.

Rejected 24.10.2026: вариант C (#69) — пин на тег + вендор sync-машинерии LayneChai/superpowers-dsh вместо auto-pull unpinned HEAD. Ветка feat/67-dsh-superpowers-git и worktree удаляются.
aep closed this issue 2026-10-24 21:15:44 +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#67
No description provided.