2.6 KiB
2.6 KiB
| domain | last_rule_review_commit | last_rule_updated_at |
|---|---|---|
| project-support | 678302bc3e |
2026-05-25 |
project-support
목적 / 책임
패키지 메타데이터, 문서, Flutter analysis 설정, example app, smoke/integration 검증 흐름을 관리한다.
포함 경로
pubspec.yaml— package metadata, Flutter plugin platform mapping, Dart/Flutter dependency contract를 포함한다.analysis_options.yaml— Dart analysis/lint 설정을 포함한다.README.md,CHANGELOG.md— support matrix, API usage, host integration 책임, manual smoke checklist를 포함한다.example/— plugin consumer app scaffold와 integration/widget test를 포함한다..metadata, root project files — Flutter package scaffold metadata를 포함한다.
제외 경로
lib/— public Dart API 구현 도메인이다.android/src/main/— Android native runtime 구현 도메인이다.ios/,macos/— Apple scaffold 도메인이다.
주요 구성 요소
README.md— plugin 책임, platform support, host app integration, manual smoke checklist의 기준 문서다.example/lib/main.dart— consumer-side API 사용과 manual verification 보조 화면을 제공한다.example/integration_test/— host integration 흐름 검증 scaffold를 둔다.pubspec.yaml— plugin platform registration과 dependency version을 관리한다.
유지할 패턴
- README support matrix는 실제 구현 상태와 맞춘다. Android는 production-ready, iOS/macOS는 no-op scaffold로 명시한다.
- dependency 변경은 Flutter/Dart API, Android Gradle dependency, example app 영향을 함께 확인한다.
- generated build output,
.dart_tool, Gradle build cache, IDE workspace 파일은 수동 변경 대상으로 삼지 않는다. - manual smoke checklist는 headless test로 검증되지 않는 FCM/notification/reply/ACK 흐름을 보완한다.
다른 도메인과의 경계
- dart-api: example과 문서는 public API 사용 방식을 보여주되 API 계약 변경은
lib/와 테스트에서 확정한다. - android-push-runtime: support 문서는 Android runtime의 실제 동작을 반영하지만 native helper 구현은 수정하지 않는다.
- apple-stubs: support matrix와 platform 설명은 Apple scaffold의 no-op 상태를 과장하지 않는다.
금지 사항
- build/generated 산출물을 의도된 소스 변경처럼 커밋하지 않는다.
- 문서에서 자동화되지 않은 FCM end-to-end 검증을 테스트 완료로 단정하지 않는다.
- package metadata 변경 시 example lock/build 상태만 보고 dependency 호환성을 단정하지 않는다.