2.5 KiB
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 moduleservices/core/webapp/— Mattermost webapp, platform packages, frontend toolingservices/core/api/— API reference toolingservices/core/compose/— local core runtime Docker Composeservices/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.mdbaseline을 근거 없이 변경하지 않는다.- 대량 rename, formatting-only churn, upstream 파일의 광범위 재배치를 작업 범위 없이 수행하지 않는다.
- generated/build/cache 산출물을 소스 변경처럼 다루지 않는다.