Files
lunchpick/CLAUDE.md
JiWoong Sul 42c609c57a chore(config): 프로젝트 설정 및 문서 개선
## CLAUDE.md 전면 개편
- 글로벌 규칙(~/.claude/CLAUDE.md)과 중복되는 일반 개발 가이드라인 제거
- 프로젝트 특화 정보만 유지 (331줄 → 100줄, 약 70% 감소)
- 추가된 내용:
  - 앱 이름, 패키지명, SDK 버전 명시
  - 핵심 기술 스택 테이블 (Riverpod, Hive, go_router, Dio 등)
  - 실제 프로젝트 디렉토리 구조 문서화
  - 주요 도메인 엔티티 설명 (Restaurant, VisitRecord 등)
  - 프로젝트 전용 빌드 명령어
- AGENTS.md 참조 링크 추가

## Android 릴리즈 서명 설정
- build.gradle.kts에 릴리즈 signingConfig 추가
- 키스토어: doc/key/lunchpick-release.keystore
- release 빌드 타입에 릴리즈 서명 적용
- 불필요한 TODO 주석 제거

## 개인정보 처리방침 문구 수정
- "네이버 지도 연동" → "네이버 검색 연동" (실제 동작 반영)
- "네이버 지도에서 가져온" → "네이버 URL에서 가져온" (정확한 표현)
- 미사용 Open API 관련 문구 제거
2025-12-08 18:15:22 +09:00

3.1 KiB

LunchPick - 점심 메뉴 추천 앱

글로벌 규칙(~/.claude/CLAUDE.md) 상속. 상세 가이드는 AGENTS.md 참조.

프로젝트 개요

  • 앱 이름: 오늘 뭐 먹Z?
  • 패키지: com.naturebridgeai.lunchpick
  • SDK: Flutter 3.8.1+ / Dart 3.8.1+

핵심 기술 스택

분류 패키지
상태관리 Riverpod + riverpod_generator
로컬저장 Hive + hive_generator
네비게이션 go_router
네트워크 Dio + dio_cache_interceptor
위치/권한 geolocator, permission_handler
광고 google_mobile_ads

프로젝트 구조

lib/
├── core/
│   ├── constants/    # app_constants, app_colors, api_keys
│   ├── network/      # network_client, interceptors
│   ├── services/     # permission, geocoding, ad, bluetooth, notification
│   ├── errors/       # app_exceptions, network_exceptions
│   └── widgets/      # 공통 위젯 (loading, error, empty_state)
├── data/
│   ├── api/          # naver_api_client, naver GraphQL/LocalSearch
│   ├── datasources/  # local, remote (naver_html_parser 등)
│   ├── repositories/ # *_repository_impl
│   └── models/       # DTO, Hive adapters
├── domain/
│   ├── entities/     # Restaurant, VisitRecord, UserSettings, WeatherInfo
│   ├── repositories/ # 인터페이스 정의
│   └── usecases/     # 비즈니스 로직
└── presentation/
    ├── providers/    # Riverpod providers
    ├── view_models/  # 화면 상태 관리
    └── pages/        # splash, main, random_selection, restaurant_list,
                      # calendar, settings, share

주요 도메인 엔티티

  • Restaurant: 음식점 정보 (이름, 카테고리, 위치, 영업시간 등)
  • VisitRecord: 방문 기록
  • RecommendationRecord: 추천 기록
  • UserSettings: 사용자 설정 (반경, 카테고리 필터 등)
  • WeatherInfo: 날씨 정보 (추천 알고리즘 활용)

필수 명령어

# 의존성 설치
flutter pub get

# 코드 생성 (Hive adapters, Riverpod, JSON)
dart run build_runner build --delete-conflicting-outputs

# 개발 중 자동 생성
dart run build_runner watch --delete-conflicting-outputs

# 분석 & 테스트
flutter analyze
flutter test
flutter test test_hive  # Hive 변경 시

# 릴리즈 빌드
flutter build appbundle --release

Agent 응답 형식

[Model Name] - [Agent Name]. I have reviewed all the following rules: [categories]. Proceeding with the task. Master!

Available Agents

Agent 용도
Direct Implementation 직접 구현
flutter-ui-designer UI/UX 디자인
flutter-architecture-designer 아키텍처 설계
flutter-network-engineer 네트워크/API
flutter-qa-engineer QA/테스트
app-launch-validator 출시 검증
aso-optimization-expert ASO 최적화

주의사항

  • api_keys.dart는 커밋 금지 (로컬 생성)
  • Android/iOS 빌드 설정 변경 시 승인 필요
  • Hive 스키마 변경 시 마이그레이션 고려
  • 네이버 API 호출 시 캐시 정책 준수