nomadcode/agent-ops/rules/project/domain/adapters/rules.md
2026-05-19 10:27:13 +09:00

35 lines
1.2 KiB
Markdown

# adapters
## 목적 / 책임
Plane, Mattermost 등 외부 서비스와의 통합 경계를 담당한다. 현재는 stub 단계다.
## 포함 경로
- `internal/adapters/` — 외부 시스템별 client/stub
## 제외 경로
- `internal/workflow/` — task 업무 흐름
- `internal/notification/` — 내부 알림 서비스
- `internal/http/` — 외부 API가 아닌 서버 API
## 주요 구성 요소
- `plane.Client` — Plane issue/comment/status 연동 stub
- `mattermost.Client` — Mattermost message/task notification 연동 stub
## 유지할 패턴
- 외부 서비스별 config와 client를 하위 패키지에 격리한다.
- 실제 API 호출을 추가할 때 context, timeout, 인증 실패, 재시도 정책을 명시적으로 다룬다.
## 다른 도메인과의 경계
- **workflow**: 외부 시스템 세부사항을 workflow 모델에 직접 섞지 않는다.
- **scheduler/notification**: 알림 발생 시점은 scheduler/notification에서 결정하고, 전송 구현은 adapters가 맡는다.
## 금지 사항
- token, URL 같은 민감 설정을 코드에 하드코딩하지 않는다.
- stub에서 실제 API 호출로 전환할 때 조용히 에러를 무시하지 않는다.