# OTO Monorepo YAML 기반 CI/CD 파이프라인 자동화 도구 OTO의 Monorepo 프로젝트입니다. 독립 Control Plane 분리 마이그레이션을 통해 Runner, Client, Core Service로 컴포넌트를 분리하여 관리합니다. ## 프로젝트 구조 ``` / ├── apps/ │ ├── runner/ # Dart CLI 기반 OTO Runner (파이프라인 실행 엔진) │ └── client/ # Flutter 기반 OTO Console Client (독립 제어 콘솔) ├── services/ │ └── core/ # Go 기반 OTO Control Plane Server (Runner Registry & Bootstrap) └── Makefile # Monorepo 작업을 위한 루트 진입점 Helper ``` ## 시작하기 루트 `Makefile`을 통해 모든 서브프로젝트의 의존성 설치, 분석, 테스트 작업을 통합 관리할 수 있습니다. ### 의존성 설치 (Setup) 각 앱/서비스의 패키지 및 모듈 의존성을 설치합니다. ```bash make setup ``` ### 코드 분석 및 린트 (Analyze) 서브프로젝트별 정적 분석을 수행합니다. ```bash make runner-analyze make client-analyze ``` ### 테스트 실행 (Test) #### 개별 서브프로젝트 테스트 ```bash make runner-test make client-test make core-test ``` #### 통합 테스트 실행 (전체 서브프로젝트) ```bash make test ``` ## 서브프로젝트 상세 안내 각 서브프로젝트의 내부 아키텍처 및 상세 사용 방법은 하위 경로의 README 문서를 참조하세요: - [OTO Runner README](apps/runner/README.md) - [OTO Client README](apps/client/README.md) - OTO Core Server: [services/core/](services/core/)