No description
Find a file
2026-06-11 05:54:38 +09:00
.antigravitycli refactor: split build_ios and git commands, add cli styling, improve pipeline system 2026-05-20 20:50:59 +09:00
.claude sync: agent-ops from agentic-framework v1.1.55 2026-05-25 21:16:52 +09:00
.gemini gemini 설정 추가 2026-02-16 09:40:59 +00:00
.vscode refactor(runner): 런타임 패키지를 앱 하위로 이동한다 2026-06-05 06:34:45 +09:00
agent-ops sync: agent-ops from agentic-framework v1.1.134 2026-06-10 20:33:20 +09:00
agent-roadmap update agent-roadmap: modify PHASE and milestone files, archive independent-control-plane 2026-06-11 05:54:38 +09:00
agent-task/archive/2026 fix(core): 부트스트랩 배포 경로와 핸들러 테스트를 정리한다 2026-06-10 19:32:24 +09:00
agent-test/local fix(core): heartbeat 타임아웃 처리와 테스트를 보강한다 2026-06-10 18:14:59 +09:00
apps chore(agent-task): legacy IOP 아카이브 로그와 새 등록 클라이언트 경로를 추가한다 2026-06-10 19:00:40 +09:00
packages/flutter/oto_console refactor(core): 코어 경계를 정리한다 2026-06-08 18:59:55 +09:00
proto/oto feat: message-based build agent protocol implementation 2026-06-06 11:48:22 +09:00
services/core fix(core): 부트스트랩 배포 경로와 핸들러 테스트를 정리한다 2026-06-10 19:32:24 +09:00
.aiexclude refactor: agent-roadmap 구조로 마이그레이션 및 AI 에이전트 규칙 일원화 2026-05-27 12:58:08 +09:00
.clineignore refactor: agent-roadmap 구조로 마이그레이션 및 AI 에이전트 규칙 일원화 2026-05-27 12:58:08 +09:00
.clinerules sync: agent-ops from agentic-framework v1.1.134 2026-06-10 20:33:20 +09:00
.codex Update pipeline files and clean up refactoring documents 2026-04-04 18:02:44 +09:00
.cursorignore refactor: agent-roadmap 구조로 마이그레이션 및 AI 에이전트 규칙 일원화 2026-05-27 12:58:08 +09:00
.cursorrules sync: agent-ops from agentic-framework v1.1.134 2026-06-10 20:33:20 +09:00
.geminiignore refactor: agent-roadmap 구조로 마이그레이션 및 AI 에이전트 규칙 일원화 2026-05-27 12:58:08 +09:00
.gitignore chore(workspace): 패키지 메타데이터를 정리한다 2026-06-10 08:06:09 +09:00
AGENTS.md sync: agent-ops from agentic-framework v1.1.134 2026-06-10 20:33:20 +09:00
CHANGELOG.md Inital push 2023-10-28 22:06:44 +09:00
CLAUDE.md sync: agent-ops from agentic-framework v1.1.134 2026-06-10 20:33:20 +09:00
GEMINI.md sync: agent-ops from agentic-framework v1.1.134 2026-06-10 20:33:20 +09:00
Makefile feat(control-plane): Server-Runner 계약을 추가한다 2026-06-05 14:27:33 +09:00
opencode.json refactor: agent-roadmap 구조로 마이그레이션 및 AI 에이전트 규칙 일원화 2026-05-27 12:58:08 +09:00
README.md feat(runner): output port 경계 작업을 반영한다 2026-06-07 13:12:46 +09:00

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을 통해 모든 서브프로젝트의 의존성 설치, 분석, 테스트 작업을 통합 관리할 수 있습니다.

Workspace 포트와 환경 기준

OTO는 독립 Control Plane 제품 경로를 기준으로 포트와 환경값을 기록합니다. iop Edge 또는 wire 포트는 OTO workspace 포트 표준의 source of truth가 아닙니다.

표면 표준 후보 호환 기준
OTO Core HTTP backend host publish 18020 로컬 실행 기본값 OTO_CORE_ADDR 미설정 시 127.0.0.1:8080은 기존 개발 호환 경로로 유지
Flutter client/web preview frontend preview 13020 preview 포트는 UI dev server 포트이며, 서버 연결 URL은 OTO_SERVER_HTTP_URL로 별도 지정
runner bootstrap/release OTO_RUNNER_RELEASE_BASE_URL release base URL은 https://만 기록하고, token/credential/private endpoint 원문은 tracked 문서에 남기지 않음

Core를 workspace publish 포트로 띄울 때는 OTO_CORE_ADDR=0.0.0.0:18020처럼 listen 주소를 명시합니다. Flutter web preview는 cd apps/client && flutter run -d chrome --web-port=13020을 기준 후보로 둡니다. bootstrap command와 artifact URL 문서는 public validation 기준과 source of truth만 남기고, enrollment token이나 private release host는 런타임 환경에서만 주입합니다.

의존성 설치 (Setup)

각 앱/서비스의 패키지 및 모듈 의존성을 설치합니다.

make setup

코드 분석 및 린트 (Analyze)

서브프로젝트별 정적 분석을 수행합니다.

make runner-analyze
make client-analyze

테스트 실행 (Test)

개별 서브프로젝트 테스트

make runner-test
make client-test
make core-test

통합 테스트 실행 (전체 서브프로젝트)

make test

서브프로젝트 상세 안내

각 서브프로젝트의 내부 아키텍처 및 상세 사용 방법은 하위 경로의 README 문서를 참조하세요: