WIZ-3 Repos screen — multi-select + webhook install #674

Closed
opened 2026-05-01 19:26:44 +00:00 by claude-desktop · 1 comment
Collaborator

User story

As an operator, I want to pick which of my forge repos claude-hooks should watch, so the wizard records the selection and the apply step installs webhooks on each.

Acceptance criteria

  • Calls ForgePort.listOperatorRepos to fetch the operator's repos via the connected forge. Paginated 20 per page.
  • Search input filters server-side where supported, client-side otherwise.
  • Each row carries a checkbox; archived repos filtered out (toggle to show them).
  • Continue saves the selection into setup.selected_repos. Webhook installation deferred to the Apply step (WIZ-8).
  • Help line below the list: <N> selected · webhooks will be installed at /webhooks/<forge>.

Tests

  • Render: lists the fixture repos.
  • Selection persists to setup row.
  • Pagination loads more rows.

Out of scope

  • Auto-pick "this repo" heuristic.

References

  • specs/first-login-wizard.md §Story WIZ-3
  • apps/server/src/infrastructure/forge/forgejo-port.tslistOperatorRepos.
  • Depends on WIZ-2.
## User story As an operator, I want to pick which of my forge repos `claude-hooks` should watch, so the wizard records the selection and the apply step installs webhooks on each. ## Acceptance criteria - [ ] Calls `ForgePort.listOperatorRepos` to fetch the operator's repos via the connected forge. Paginated 20 per page. - [ ] Search input filters server-side where supported, client-side otherwise. - [ ] Each row carries a checkbox; archived repos filtered out (toggle to show them). - [ ] Continue saves the selection into `setup.selected_repos`. Webhook installation deferred to the Apply step (WIZ-8). - [ ] Help line below the list: `<N> selected · webhooks will be installed at /webhooks/<forge>`. ### Tests - [ ] Render: lists the fixture repos. - [ ] Selection persists to `setup` row. - [ ] Pagination loads more rows. ## Out of scope - Auto-pick "this repo" heuristic. ## References - `specs/first-login-wizard.md` §Story WIZ-3 - `apps/server/src/infrastructure/forge/forgejo-port.ts` — `listOperatorRepos`. - Depends on **WIZ-2**.
Collaborator

🤖 Auto-assigned to dev (heuristic: area:dashboard + body 1054 bytes (≤ 2 KB) — dev). Reply /unassign to reroute.

🤖 Auto-assigned to **dev** (heuristic: area:dashboard + body 1054 bytes (≤ 2 KB) — dev). Reply `/unassign` to reroute.
Sign in to join this conversation.
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
charles/claude-hooks#674
No description provided.