## 1. Frontend app scaffold and routing

- [x] 1.1 Create `apps/web/src` app entrypoint, base styles, and root render wiring.
- [x] 1.2 Add router configuration with dashboard, projects, repositories, ssh keys, settings, and not-found routes.
- [x] 1.3 Add protected-route guard and login redirect behavior for unauthenticated access.

## 2. Auth-aware shell and API client

- [x] 2.1 Implement shared API client with credentialed requests and 401 handling strategy.
- [x] 2.2 Implement auth session bootstrap (`/auth/me`) and lightweight auth context/provider.
- [x] 2.3 Implement app shell layout (header, desktop sidebar, mobile menu toggle, content outlet).
- [x] 2.4 Wire logout action to backend endpoint and session-state reset.

## 3. Dashboard and UX states

- [x] 3.1 Implement dashboard placeholder page with summary cards and quick actions.
- [x] 3.2 Add loading, empty, and error-retry states for dashboard/auth bootstrap paths.
- [x] 3.3 Ensure responsive behavior for mobile viewport navigation and touch targets.

## 4. Verification and OpenSpec tracking

- [x] 4.1 Add/update frontend tests for protected routing and auth/session behaviors.
- [x] 4.2 Run frontend quality gates (`npm run typecheck`, `npm run lint`, `npm run build`) and fix findings.
- [x] 4.3 Update this tasks file with completed checkboxes and note blockers/follow-ups.

## Blockers / Follow-ups

- None at this stage.
