nexo/agent-ops/rules/project/domain/client-app/rules.md
toki 6ca7989169 feat: runtime image validation & domain rules update
- Add mattermost-app and push-proxy-service domain rules
- Add bin/publish-runtime-images script
- Add runtime-image-validation documentation
- Update agent-ops domain rules and project rules
- Remove outdated 01_image_publish task files
- Update docs/README.md
2026-05-28 10:41:06 +09:00

2.6 KiB

domain last_rule_review_commit last_rule_updated_at
client-app 4b0222479d 2026-05-28

client-app

목적 / 책임

apps/flutter-test는 nexo 메시징 플러그인을 검증하는 테스트용 Flutter 앱을 담당한다. 이 저장소의 제품 앱이 아니며, plugin integration이 깨지지 않는지 확인하는 기준점이다.

포함 경로

  • apps/flutter-test/lib/ — Flutter test app source
  • apps/flutter-test/test/ — widget/unit tests
  • apps/flutter-test/integration_test/ — plugin integration tests
  • apps/flutter-test/android/, apps/flutter-test/ios/, apps/flutter-test/macos/ — host app platform configuration
  • apps/flutter-test/pubspec.yaml — test host dependency and Flutter metadata

제외 경로

  • packages/messaging_flutter/ — push plugin 내부 구현 책임
  • apps/mattermost/ — 원래 Mattermost 앱 repository clone 책임
  • services/core/ — messaging server runtime 책임
  • services/push-proxy/ — Mattermost push-proxy repository clone 책임
  • docs/, bin/ — workspace 공통 문서와 command 책임

주요 구성 요소

  • MyApp — plugin event stream과 navigation callback을 표시하는 test host shell
  • plugin singleton — app이 소비하는 plugin public API
  • plugin_integration_test.dart — plugin integration behavior 검증 진입점

유지할 패턴

  • plugin dependency는 workspace path dependency ../../packages/messaging_flutter를 사용한다.
  • 앱에서는 token, notification, opened event, navigation callback 등 host integration만 검증한다.
  • plugin 내부 native push 처리나 storage 로직을 앱으로 복제하지 않는다.
  • Flutter check는 bin/test, bin/lint, 필요 시 flutter test integration_test 흐름을 따른다.
  • 제품 앱 UI, app-specific business logic, 배포 앱 성격의 기능은 이 도메인에 추가하지 않는다.

다른 도메인과의 경계

  • messaging-flutter: test app은 plugin API 소비자이고, push 처리의 source of truth는 plugin이다.
  • core-service: server runtime이 필요한 테스트는 명시적으로 compose 또는 별도 환경을 켠 뒤 수행한다.
  • workspace-ops: workspace command가 test host 검증을 호출하지만 host 구조와 integration behavior는 이 도메인이 소유한다.

금지 사항

  • 플러그인 버그를 우회하기 위해 app에 duplicate push 처리 경로를 만들지 않는다.
  • generated Flutter platform 파일을 불필요하게 재생성하거나 대량 변경하지 않는다.
  • 이 저장소 안의 nexo 제품 앱으로 확장하지 않는다.