- add update-domain-rule skill to common - add framework domain rule (lib/framework/) - update core domain to include lib/oto/application.dart - update domain mapping table in rules.md Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1.6 KiB
1.6 KiB
core
목적 / 책임
파이프라인 실행 전 단계에서 YAML 파싱, Jenkins 환경 변수 합성, 태그 치환을 담당하는 공통 인프라 레이어다. Application 싱글턴이 전체 빌드 흐름을 오케스트레이션한다.
포함 경로
lib/oto/application.dart— 싱글턴 오케스트레이터 (BuildType enum, 빌드 진입점)lib/oto/core/— 태그 시스템, 데이터 합성, 정의 데이터lib/oto/utils/— 공통 유틸리티 (Mattermost 등 재사용 헬퍼)
제외 경로
lib/oto/pipeline/— 실행 흐름 (core 처리 이후)lib/oto/commands/— 커맨드 구현체 (core 결과물을 소비)
주요 구성 요소
TagSystem(tag_system.dart) —<!namespace.key>읽기 /<@namespace.key>쓰기 태그 처리DataComposer(data_composer.dart) — YAML + Jenkins env →DataCommand리스트 변환DefinedData(defined_data.dart) — 내장 YAML 템플릿 (빌트인 정의)MattermostSender/MattermostData(utils/mattermost/) — 공통 알림 헬퍼
유지할 패턴
- 태그 치환은 반드시
TagSystem을 통해 처리 - 태그 전체 문자열이면 원본 타입 유지, 부분 삽입이면
toString()변환 원칙 유지
다른 도메인과의 경계
- pipeline: DataComposer가 DataCommand 리스트 생성을 완료한 후 Pipeline이 실행 시작
- command: 커맨드 실행 중 쓰기 태그(
<@...>) 처리는 TagSystem에 위임
금지 사항
- core에서 외부 시스템(Git, Jenkins API 등)을 직접 호출하지 않는다
- 커맨드별 파싱 로직을 DataComposer에 넣지 않는다