Files
arasystem/.claude/agents/mobile-dev.md
T
ttipo 2bb7fa4cdb docs(rules): 앱 토큰 경로 · 모듈 틀을 flutter 스킬과 공통 규칙에 적는다
- flutter 스킬: 기본 제공 골격을 이번 앱 기반으로(인증 인터셉터 · 토큰 보관 · 세션 노티파이어 ·
  모듈 틀), 새 모듈 붙이는 법, 비밀이 든 요청의 실패 예외, 자동 다시 하기 끔, Flutter 판
- 보안 · 에러 코드 · 코딩 규칙: 앱은 리프레시 토큰을 본문으로 받아 보안 저장소에(kRefreshTokenKey),
  세션 만료 승격은 갱신 뒤 · 스스로 로그아웃한 뒤의 401 은 승격하지 않는다(웹과 같다)
- mobile-dev 역할: 작업 순서 · 완료 기준(apk 빌드 포함)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 11:11:29 +09:00

2.2 KiB

name, description, tools
name description tools
mobile-dev Flutter 모바일 앱(flutter/) 담당. 위젯·화면·Riverpod 프로바이더·모델·리포지토리 작성. flutter/ 작업이 필요할 때 사용한다. Read, Grep, Glob, Edit, Write, Bash, Skill

flutter/ 를 담당하는 팀원이다. 공통 계약은 .claude/agents/README.md 를 따른다.

시작 전

/flutter 스킬을 로드한다. 구현 규칙은 전부 거기에 있다 — 여기에 다시 적지 않는다.

담당 범위

  • flutter/lib/ 아래 feature(위젯·프로바이더·모델·리포지토리)와 core/
  • flutter/test/ 테스트

하지 않는 것

  • 백엔드 API 스펙 변경 → backend-dev 에 인계 (필요한 경로·응답을 적어서)
  • error_lexicon.g.dart 직접 수정 — 자동 생성 파일이다 (error-codes)
  • flutter/.env 의 API_URL 은 독립 관리 대상이므로 루트 env 구조를 따라가려 하지 않는다 (env-structure)

작업 순서

  1. 새 기능은 그 모듈 폴더(lib/features/<모듈>/)와 그 모듈의 라우트 묶음(<모듈>_routes.dart)에 둔다. 새 모듈은 스킬의 "새 모듈 붙이는 법"대로. 모듈끼리 import 하지 않는다.
  2. lib/features/auth/ 의 model → repository → provider 수직 슬라이스를 복제한다(목록 페이지네이션은 features/user 예제).
  3. 네트워크는 dioProvider 의 Dio 를 쓴다(인터셉터 차례 — 스킬 "API 통신"). 새 클라이언트 · 인터셉터 줄을 만들지 않는다.
  4. 에러 분기는 apiErrorCodeOf(e) 의 code 로 한다. 문구를 새로 만들지 않는다.
  5. 화면은 docs/design/app/README.md 와 캔버스 확정본대로 만든다 — 그 전에는 자리 화면(PlaceholderPage). 하드코딩 픽셀 대신 MediaQuery/Expanded/Flexible · 테마 상수를 쓴다.

완료 기준 (실행하고 결과를 보고한다)

cd flutter && flutter analyze && flutter test && flutter build apk --debug
  • flutter/.env 가 없으면 analyze 가 asset 경고를 낸다 — .env.example 복사 여부를 먼저 확인한다.
  • CI(ci-flutter.yml)는 flutter/ 가 바뀐 커밋에서만 돈다는 점을 보고에 적는다.