- Ctrl+Alt+A/Z 맨 앞 창 통째 캡쳐(DWM 확장 프레임 경계), S/X 드래그 캡쳐. A/S 새 대화, Z/X 마지막 대화 - 캡쳐 후 창을 확실히 앞으로(AttachThreadInput), capture.image 에 목적지 path 실어 그 Composer 만 소비 - 드래그 선택영역 원본 밝기·더블버퍼(번쩍임) — code-assistant-v2 복사본에서 이식 - 단축키 Ctrl+Alt+Q/W: Eclipse·ADT·SAP GUI 바인딩 목록 대조해 비어 있는 조합으로 - 버튼 cursor:pointer(Tailwind v4), 가운데 스피너, 스니펫→챗 버튼, 스니펫 검색창 높이 84→88 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2_frontend — React SPA 템플릿
Vite + React + TypeScript + Tailwind + shadcn/ui + Zustand + TanStack Query 기반.
백엔드(1_backend/, FastAPI + SSE + JWT)와 연동.
시작하기
npm install
cp .env.example .env
npm run dev # http://localhost:5173
백엔드도 같이 띄울 것: cd ../1_backend && uv run uvicorn main:app --reload --reload-dir src --port 8001 --app-dir src
주요 명령
| 명령 | 설명 |
|---|---|
npm run dev |
dev 서버 (5173) |
npm run build |
프로덕션 빌드 |
npm run lint |
ESLint |
npm run test |
Vitest 단위 테스트 |
npm run format |
Prettier 포맷 |
자세한 설계: ../docs/superpowers/specs/2026-05-05-frontend-template-design.md
검증 완료 (2026-05-05)
- 부트스트랩 (Vite + TS + Tailwind + ESLint + Prettier 설정)
- core lib (tokenStore, api client + 401 refresh, SSE wrapper, queryClient, cn)
- shared (shadcn/ui core, Layout, ProtectedRoute, ErrorBoundary)
- features/auth (schemas, store, api, hooks, components, pages)
- features/users (api, hooks, MePage)
- features/chat (store, SSE wrapper, hook, components, ChatPage)
- routing + Provider 와이어업
테스트 34개 통과, lint 깨끗, build 성공.
수동 시나리오 검증 (백엔드 8001 + 프론트 5173 같이 띄우고):
/→ ProtectedRoute가/login으로 redirecthappy@pwc.com / a1234로그인 →/chat이동- 헤더에 이메일 보임
/me클릭 → 내 정보 표시/chat메시지 보내면 SSE echo로 토큰 단위 누적- Logout →
/login이동