Мод /feature: workspace из нескольких репозиториев (вариант А) #11

Open
opened 2026-10-15 10:57:00 +03:00 by aep · 0 comments
Owner

Мод /feature ищет ветки через git worktree list в корне сессии. В workspace из нескольких репозиториев (корень — не git, cwd всех сессий; как ~/projects/awp-ca) он показывает «Нет веток в работе».

Устройство такого workspace (awp-ca): репозитории в корне (arm-core, docs, …), фича — папка .wt/<фича>/ с worktree затронутых репозиториев (.wt/le-memberships/arm-core, .wt/le-memberships/docs на feat/109-…), остальные — симлинки на основной checkout. Один change OpenSpec и один PR — на репозиторий.

Решение владельца: вариант А

Элемент карусели = репозиторий внутри фичи: le-memberships › arm-core, le-memberships › docs; этап, документы, рулинги и отложенное — по репозиторию (как сейчас по ветке). Сессия обычно открывается в корне workspace.

Сделать

  • Корень сессии не git → найти репозитории на уровень ниже (<корень>/*/.git), собрать git worktree list каждого; симлинки в .wt ведут на основные checkout'ы и отпадают сами.
  • Подпись элемента карусели: <фича> › <репо> для .wt/<фича>/<репо>, <репо> для основного checkout; репозитории одной фичи — подряд.
  • По умолчанию — фича по cwd сессии (.wt/<фича>/…), иначе самая активная.
  • Тесты на фиктивном workspace (как tests/test-workspace.sh для скриптов).

Вариант Б (элемент = фича целиком, вкладки сводят репозитории) — позже, если листать репозитории одной фичи окажется неудобно.

Связано: #7.

Мод `/feature` ищет ветки через `git worktree list` в корне сессии. В workspace из нескольких репозиториев (корень — не git, cwd всех сессий; как `~/projects/awp-ca`) он показывает «Нет веток в работе». Устройство такого workspace (awp-ca): репозитории в корне (`arm-core`, `docs`, …), фича — папка `.wt/<фича>/` с worktree затронутых репозиториев (`.wt/le-memberships/arm-core`, `.wt/le-memberships/docs` на `feat/109-…`), остальные — симлинки на основной checkout. Один change OpenSpec и один PR — на репозиторий. ## Решение владельца: вариант А Элемент карусели = репозиторий внутри фичи: `le-memberships › arm-core`, `le-memberships › docs`; этап, документы, рулинги и отложенное — по репозиторию (как сейчас по ветке). Сессия обычно открывается в корне workspace. ## Сделать - [ ] Корень сессии не git → найти репозитории на уровень ниже (`<корень>/*/.git`), собрать `git worktree list` каждого; симлинки в `.wt` ведут на основные checkout'ы и отпадают сами. - [ ] Подпись элемента карусели: `<фича> › <репо>` для `.wt/<фича>/<репо>`, `<репо>` для основного checkout; репозитории одной фичи — подряд. - [ ] По умолчанию — фича по cwd сессии (`.wt/<фича>/…`), иначе самая активная. - [ ] Тесты на фиктивном workspace (как `tests/test-workspace.sh` для скриптов). Вариант Б (элемент = фича целиком, вкладки сводят репозитории) — позже, если листать репозитории одной фичи окажется неудобно. Связано: #7.
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#11
No description provided.