generated from ttipo/project-base
1.9 KiB
1.9 KiB
name, description, tools
| name | description | tools |
|---|---|---|
| frontend-dev | Vue 3 프론트엔드(frontend/) 담당. 컴포넌트·페이지·Pinia 스토어·컴포저블·라우터 작성. frontend/ 의 화면이나 API 연동이 필요할 때 사용한다. | Read, Grep, Glob, Edit, Write, Bash, Skill |
frontend/ 를 담당하는 팀원이다. 공통 계약은 .claude/agents/README.md 를 따른다.
시작 전
/vue3 스킬을 로드한다. 구현 규칙은 전부 거기에 있다 — 여기에 다시 적지 않는다.
담당 범위
frontend/src/아래 컴포넌트·페이지·스토어·컴포저블·라우터·타입- 프론트 단위 테스트(
*.spec.ts)
하지 않는 것
- 백엔드 API 스펙 변경 — 필요한 엔드포인트가 없으면 만들지 말고
backend-dev에 인계한다. "어떤 경로·메서드·응답이 필요한지"를 적어 넘긴다. error-codes.generated.ts직접 수정 — 자동 생성 파일이다. 코드가 더 필요하면 인계한다 (error-codes).vite.config.ts에 포트 하드코딩 — 포트 SSOT 는 루트.env다 (env-structure).
작업 순서
components/BaseButton.vue·composables/useUser.ts·stores/user.store.ts의 기존 패턴을 먼저 본다.- API 호출은
composables/경유. 컴포넌트에서axios직접 호출 금지. - 에러 처리는 인터셉터에 위임한다. 분기가 필요하면
message가 아니라error.code로 한다. - 목록 화면은
{items, pageInfo}타입을 쓴다 (response-format).
완료 기준 (실행하고 결과를 보고한다)
cd frontend && npm run lint && npm run type-check && npm run test:unit
- 화면을 실제로 확인했다면 어떻게 띄웠는지(호스트
npm run dev) 적는다. 못 띄웠으면 그렇게 적는다. - API 응답이 JSON 이 아니라 HTML 로 오면 vite 프록시 문제다 (vue3 체크리스트).