No description
Find a file
2026-07-03 16:25:18 +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.141 2026-06-16 20:57:39 +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.161 2026-07-03 05:33:56 +09:00
agent-roadmap sync: agent-ui definitions update & move control-plane milestone to archive 2026-07-03 16:25:18 +09:00
agent-task/archive/2026 feat: execution artifact views - jenkins aligned layout pass 2026-07-03 15:31:01 +09:00
agent-test/local archive: move 05+02,03,04_socket_smoke artifacts to archive and update smoke tests 2026-06-21 05:12:43 +09:00
agent-ui sync: agent-ui definitions update & move control-plane milestone to archive 2026-07-03 16:25:18 +09:00
apps feat: execution artifact views - jenkins aligned layout pass 2026-07-03 15:31:01 +09:00
packages/flutter/oto_console feat: execution artifact views - jenkins aligned layout pass 2026-07-03 15:31:01 +09:00
proto/oto feat: cross-os runner bootstrap task and related updates 2026-06-15 17:12:35 +09:00
services/core update: bootstrap script and runner registry changes 2026-06-21 07:35:51 +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.158 2026-06-27 07:12:12 +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.158 2026-06-27 07:12:12 +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.158 2026-06-27 07:12:12 +09:00
CHANGELOG.md Inital push 2023-10-28 22:06:44 +09:00
CLAUDE.md sync: agent-ops from agentic-framework v1.1.158 2026-06-27 07:12:12 +09:00
GEMINI.md sync: agent-ops from agentic-framework v1.1.158 2026-06-27 07:12:12 +09:00
Makefile update test smoke files and docs 2026-06-13 06:02:31 +09:00
opencode.json sync: agent-ops from agentic-framework v1.1.141 2026-06-16 20:57:39 +09:00
README.md feat: cross-os runner bootstrap task and related updates 2026-06-15 17:12:35 +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가 아닙니다. 기본 local 테스트 evidence는 원격 runner ssh toki@toki-labs.com/Users/toki/agent-work/oto checkout 기준으로 수집합니다.

표면 표준 후보 호환 기준
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을 기준 후보로 둡니다. Makefile 기준 실행은 make core-runmake client-run-web OTO_SERVER_HTTP_URL=http://toki-labs.com:18020을 사용합니다. bootstrap command와 artifact URL 문서는 public validation 기준과 source of truth만 남기고, enrollment token이나 private release host는 런타임 환경에서만 주입합니다.

Runner bootstrap asset matrix

Control Plane bootstrap은 OTO_RUNNER_RELEASE_BASE_URL 아래의 OS/arch별 oto binary asset을 내려받는 것을 기준으로 합니다. Linux와 macOS는 tar.gz, Windows는 zip archive를 사용합니다.

OS Arch Release asset
Linux x64 oto-linux-x64.tar.gz
Linux arm64 oto-linux-arm64.tar.gz
macOS x64 oto-macos-x64.tar.gz
macOS arm64 oto-macos-arm64.tar.gz
Windows x64 oto-windows-x64.zip
Windows arm64 oto-windows-arm64.zip

Bootstrap command 예시는 --server-url, --agent-id, --enrollment-token, --release-base-url 인자를 기준으로 하며, --release-base-urlhttps:// URL만 허용합니다. Tracked 문서와 테스트 규칙에는 enrollment token, credential, 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 문서를 참조하세요: