nexo/agent-ops/rules/project/domain/mattermost-app/rules.md

3.5 KiB

domain last_rule_review_commit last_rule_updated_at
mattermost-app 8a7115d9c8 2026-06-01

mattermost-app

목적 / 책임

apps/mattermost는 Mattermost mobile 원본 repository clone을 담당한다. nexo 제품 앱으로 재정의하지 않고, runtime 검증과 upstream-followable snapshot 기준을 제공하는 앱 clone으로 유지한다.

포함 경로

  • apps/mattermost/ — Mattermost mobile repository snapshot
  • apps/mattermost/app/ — React Native app source
  • apps/mattermost/android/, apps/mattermost/ios/ — native mobile app projects
  • apps/mattermost/libraries/, apps/mattermost/share_extension/ — bundled mobile support packages and share extension
  • apps/mattermost/test/, apps/mattermost/detox/ — app test and e2e tooling
  • apps/mattermost/package.json — React Native/Expo package metadata
  • apps/mattermost/UPSTREAM.md — upstream baseline 기록

제외 경로

  • packages/messaging_flutter/ — nexo Flutter push plugin 책임
  • apps/flutter-test/ — plugin 검증용 Flutter test host 책임
  • services/core/ — Mattermost server/webapp runtime 책임
  • services/push-proxy/ — Mattermost push-proxy service 책임
  • docs/, bin/ — workspace 공통 문서와 command 책임

주요 구성 요소

  • apps/mattermost/package.json — Mattermost Mobile React Native/Expo toolchain 기준
  • apps/mattermost/app/ — mobile application source
  • apps/mattermost/android/, apps/mattermost/ios/ — Android/iOS native project 기준
  • apps/mattermost/detox/ — mobile e2e test harness
  • apps/mattermost/UPSTREAM.md — source repository, branch, snapshot commit 기록

유지할 패턴

  • upstream branch는 Mattermost mobile main 기준으로 추적하고, snapshot commit은 apps/mattermost/UPSTREAM.md에 기록한다.
  • 이 도메인은 원본 Mattermost 앱 clone으로 유지하며 nexo 제품 앱 UI나 business logic을 추가하지 않는다.
  • runtime image 검증에서 이 앱을 사용할 때는 smoke/e2e evidence를 남기고, 앱 내부 제품 방향 변경으로 확장하지 않는다.
  • upstream snapshot 반영은 서버나 push-proxy snapshot과 섞지 않고 별도 작업 단위로 다룬다.
  • nexo-specific patch가 필요하면 가능한 한 snapshot 밖의 문서, wrapper, 작은 명시 patch로 둔다.

다른 도메인과의 경계

  • messaging-flutter: Flutter plugin API와 native notification implementation은 packages/messaging_flutter가 소유하며, Mattermost mobile app의 React Native push 구현을 plugin source of truth로 옮기지 않는다.
  • client-app: apps/flutter-test는 Flutter plugin 검증 host이고, apps/mattermost는 upstream Mattermost mobile clone이다.
  • core-service: server/webapp runtime은 services/core가 소유하며, Mattermost app은 해당 runtime에 접속하는 검증 소비자 역할만 한다.
  • push-proxy-service: push notification proxy server는 services/push-proxy가 소유한다.
  • workspace-ops: workspace script와 docs가 app smoke/e2e 흐름을 호출할 수 있지만 app 내부 구조와 upstream snapshot 정책은 이 도메인이 소유한다.

금지 사항

  • apps/mattermost/UPSTREAM.md baseline을 근거 없이 변경하지 않는다.
  • 이 도메인을 nexo 제품 앱 또는 Flutter plugin host로 재정의하지 않는다.
  • upstream-owned 파일에 대량 rename, formatting-only churn, 광범위 재배치를 작업 범위 없이 수행하지 않는다.
  • generated/build/cache 산출물을 소스 변경처럼 다루지 않는다.