nexo/agent-ops/rules/project/domain/core-service/rules.md

2.5 KiB

domain last_rule_review_commit last_rule_updated_at
core-service 60eb73c281 2026-05-26

core-service

목적 / 책임

Mattermost 기반 메시징 서버 코어와 관련 웹앱, API 문서, 로컬 compose 실행 환경을 담당한다. upstream baseline과 비교 가능한 상태를 유지하는 것이 중요하다.

포함 경로

  • services/core/server/ — Go 기반 Mattermost server module
  • services/core/webapp/ — Mattermost webapp, platform packages, frontend tooling
  • services/core/api/ — API reference tooling
  • services/core/compose/ — local core runtime Docker Compose
  • services/core/e2e-tests/, services/core/tools/ — core 검증 및 보조 도구
  • services/core/UPSTREAM.md — upstream baseline 기록

제외 경로

  • packages/messaging_flutter/ — Flutter push plugin 책임
  • apps/client/ — plugin consumer app 및 integration host 책임
  • docs/, bin/ — 워크스페이스 공통 운영 문서와 entrypoint 책임

주요 구성 요소

  • services/core/server/go.mod — Mattermost server Go module 기준
  • services/core/webapp/package.json — webapp npm workspace 기준
  • services/core/api/package.json — API reference tooling 기준
  • services/core/compose/docker-compose.yml — local core 서비스 구성

유지할 패턴

  • Mattermost upstream에서 온 구조와 명명은 필요한 경우에만 변경한다.
  • 제품 특화 변경은 좁은 파일 범위로 유지하고, upstream 재동기화를 방해하지 않게 설명 가능한 단위로 남긴다.
  • Go 검증은 기본 bin/test에서 skip되며, 필요할 때 NEXO_CORE_GO_TEST=1 등 명시적 플래그로 실행한다.
  • webapp 변경은 기존 npm workspace와 package script를 따른다.

다른 도메인과의 경계

  • messaging-flutter: server는 push payload와 ACK endpoint 성격을 제공하고, native 알림 표시와 device token 저장은 plugin이 담당한다.
  • client-app: server runtime과 client host 검증은 분리한다. client app에서 server 내부 코드를 직접 수정하지 않는다.
  • workspace-ops: 공통 실행 스크립트가 core 명령을 호출할 수 있지만 core 내부 정책은 이 도메인이 소유한다.

금지 사항

  • services/core/UPSTREAM.md baseline을 근거 없이 변경하지 않는다.
  • 대량 rename, formatting-only churn, upstream 파일의 광범위 재배치를 작업 범위 없이 수행하지 않는다.
  • generated/build/cache 산출물을 소스 변경처럼 다루지 않는다.