Files
2026-08-24 11:09:03 +00:00

54 lines
1.9 KiB
Markdown

---
id: "08-frontend-settings"
title: "Workspace and personal GitHub settings"
status: completed
wave: 6
depends_on: ["07-http-health-mocks"]
plan: "plan.md"
spec: "../../specs/integrations/requirements/github-authentication.md"
---
# Task 08: Workspace And Personal GitHub Settings
## Inputs
- Spec: What, Identity And Routing, state machines, failure modes, and desktop/mobile scenarios.
- Task 07 API contract.
- `apps/web/AGENTS.md` and the mobile-parity skill.
## Acceptance
- GitHub status/state is keyed by workspace and refetched on workspace changes without showing a
previous workspace's actor, repositories, diagnostics, permissions, or rate limits.
- Settings expose feature-complete Workspace automation and My GitHub identity sections for legacy,
PAT, named CLI, App installation, personal connect/reconnect, capability, and actor states.
- App-only `My GitHub` gating and user-triggered mutation attribution match the spec on desktop and
mobile; all controls fit and remain keyboard/screen-reader accessible.
## Files Likely Touched
- `apps/web/lib/api/domains/github-api.ts`
- `apps/web/lib/types/github.ts`
- `apps/web/lib/state/slices/github/github-slice.ts`
- `apps/web/lib/state/slices/github/github-slice.test.ts`
- `apps/web/hooks/domains/github/use-github-status.ts`
- `apps/web/hooks/domains/github/use-github-status.test.tsx` (new)
- `apps/web/components/github/github-status.tsx`
- `apps/web/components/github/github-settings.tsx`
- `apps/web/components/integrations/integrations-menu.tsx`
- `apps/web/app/github/github-page-client.tsx`
- GitHub PR review/merge components that display the effective actor
## Verification
```bash
cd apps/web && rtk pnpm run typecheck
cd apps && rtk pnpm --filter @kandev/web test -- github
cd apps && rtk pnpm --filter @kandev/web lint
```
## Output Contract
Report states and responsive behavior implemented, accessibility checks, tests run, screenshots
inspected, files touched, blockers, and risks.