## 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 관련 문구 제거
3.1 KiB
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 호출 시 캐시 정책 준수