nomadcode/agent-ops/rules/domain/mobile/flutter-app/rules.md

43 lines
1.5 KiB
Markdown

---
name: flutter-app
description: Flutter UI 레이어 - 앱 진입점, 화면 라우팅, 로그인, 상태관리 담당 (Core Domain)
type: core
---
# Flutter App
## 목적 / 책임
- Flutter 앱 진입점 및 위젯 트리 관리
- 화면 라우팅 (알림 탭 시 채널/DM 이동)
- 로그인 화면 및 인증 토큰 설정
- Firebase 초기화
## 포함 경로
- `lib/main.dart`
- `lib/` (서비스 파일 제외한 화면/위젯 코드)
## 제외 경로
- `lib/services/` (push-notification 도메인)
- `android/` (android-native 도메인)
## 주요 구성 요소
- `main.dart`: Firebase 초기화, PushNotificationService 세팅, 앱 위젯
- `MyApp`: MaterialApp 루트 위젯
- `MyHomePage`: 현재 기본 홈 화면 (TODO: 실제 라우터로 교체 필요)
## 유지할 패턴
- Firebase.initializeApp() 은 앱 시작 시 가장 먼저 호출
- PushNotificationService 초기화는 Firebase 초기화 후
## TODO (push-notification-todo.md 기준)
- **[TODO-2] 🔴**: 앱 라우터 및 화면 네비게이션 구현
- **[TODO-3] 🔴**: 로그인 화면 및 setAuthToken 연동
- **[TODO-4] 🟡**: 포그라운드 알림 UI 표시
## 다른 도메인과의 경계
- **push-notification**: 알림 탭 이벤트 수신은 push-notification, 이후 화면 이동은 flutter-app
- **android-native**: Flutter ↔ Android 통신은 EventChannel/MethodChannel 사용, 직접 수정 최소화
## 금지 사항
- Android 네이티브 파일을 이 도메인에서 직접 수정하지 않는다.
- 서비스 로직을 위젯 코드에 섞지 않는다.