WIZ-7 Tokens screen — per-agent PAT input + bulk-paste + skip #678

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

User story

As an operator, I want to enter a Forgejo PAT for each agent (with copy-paste-able instructions to mint each one on the forge), so the wizard stores them in the encrypted secret store and agents can authenticate to the forge from day one.

Acceptance criteria

  • Renders one row per agent type from WIZ-4's chosen list (post-rename names if changed).
  • Each row: agent name, PAT input (password type), 📋 Show instructions button.
  • Instructions dialog (per row): step-by-step copy: Open <forge_url>/user/login. Sign in as <agent_name>. Settings → Applications → Generate New Token. Scopes: ✓ repo ✓ user ✓ issue ✓ pull_request. Paste below.
  • Bulk-paste textarea: operator pastes agent_name=PAT lines; the wizard parses + fills the rows.
  • Skip toggle per row: marks the agent without a token (boots disabled until added later via /settings/secrets).
  • Skip-all link: jumps to Done with a banner reminder.
  • Saved tokens persisted via POST /secrets (encrypted) at apply time, not at Continue (avoid leaking partial state if the operator backs out).

Tests

  • Render: 6 rows for the default fleet (or 4 if design dropped).
  • Bulk-paste fills rows.
  • Skip toggle: marks the row without blocking Continue.

Out of scope

  • Auto-minting PATs via Forgejo admin API (out of scope per spec).
  • Multi-forge tokens.

References

  • specs/first-login-wizard.md §Story WIZ-7
  • specs/agent-config-customization.md SC-6 — secrets encryption.
  • Depends on WIZ-2, WIZ-4.
## User story As an operator, I want to enter a Forgejo PAT for each agent (with copy-paste-able instructions to mint each one on the forge), so the wizard stores them in the encrypted secret store and agents can authenticate to the forge from day one. ## Acceptance criteria - [ ] Renders one row per agent type from WIZ-4's chosen list (post-rename names if changed). - [ ] Each row: agent name, PAT input (password type), `📋 Show instructions` button. - [ ] Instructions dialog (per row): step-by-step copy: `Open <forge_url>/user/login. Sign in as <agent_name>. Settings → Applications → Generate New Token. Scopes: ✓ repo ✓ user ✓ issue ✓ pull_request. Paste below.` - [ ] Bulk-paste textarea: operator pastes `agent_name=PAT` lines; the wizard parses + fills the rows. - [ ] Skip toggle per row: marks the agent without a token (boots disabled until added later via `/settings/secrets`). - [ ] Skip-all link: jumps to Done with a banner reminder. - [ ] Saved tokens persisted via `POST /secrets` (encrypted) at apply time, **not** at Continue (avoid leaking partial state if the operator backs out). ### Tests - [ ] Render: 6 rows for the default fleet (or 4 if design dropped). - [ ] Bulk-paste fills rows. - [ ] Skip toggle: marks the row without blocking Continue. ## Out of scope - Auto-minting PATs via Forgejo admin API (out of scope per spec). - Multi-forge tokens. ## References - `specs/first-login-wizard.md` §Story WIZ-7 - `specs/agent-config-customization.md` SC-6 — secrets encryption. - Depends on **WIZ-2**, **WIZ-4**.
Collaborator

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

🤖 Auto-assigned to **dev** (heuristic: area:dashboard + body 1550 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#678
No description provided.