---
name: frontend-ui-engineering
description: 프로덕션 품질의, 접근 가능하고 반응형인 사용자 대면 UI를 만듭니다. 인터페이스와 페이지를 만들거나 수정할 때, 컴포넌트를 만들 때, 레이아웃을 구현할 때, WCAG 접근성 요구사항을 맞출 때, 상태를 관리할 때, 또는 결과물이 AI가 생성한 느낌이 아니라 프로덕션 품질의 모습과 느낌이어야 할 때 사용하세요.
---
# Frontend UI Engineering
## 개요
접근 가능하고, 성능이 좋으며, 시각적으로 다듬어진 프로덕션 품질의 사용자 인터페이스를 만드세요. 목표는 일류 회사의 디자인 감각이 있는 엔지니어가 만든 UI처럼 보이는 것입니다. AI가 생성한 것처럼 보이면 안 됩니다. 실제 디자인 시스템을 따르고, 접근성을 제대로 갖추고, 상호작용 패턴을 신중히 고르며, 흔한 "AI 미감"을 넣지 않는 일입니다.
## 언제 사용하나
- 새 UI 컴포넌트나 페이지를 만들 때
- 기존 사용자 대면 인터페이스를 수정할 때
- 반응형 레이아웃을 구현할 때
- 상호작용이나 상태 관리를 추가할 때
- 시각적 문제나 UX 문제를 고칠 때
## 컴포넌트 아키텍처
### 파일 구조
컴포넌트와 관련된 모든 것을 같은 곳에 두세요.
```
src/components/
TaskList/
TaskList.tsx # 컴포넌트 구현
TaskList.test.tsx # 테스트
TaskList.stories.tsx # Storybook 스토리 (사용하는 경우)
use-task-list.ts # 커스텀 훅 (상태가 복잡할 때)
types.ts # 컴포넌트 전용 타입 (필요할 때)
```
### 컴포넌트 패턴
**설정 나열보다 합성을 우선하세요:**
```tsx
// Good: Composable
Get started by creating a new task.