컨텐츠로 건너뛰기

소스 코드 학습 경로

이것은 OpenCode 소스 코드의 가이드 코스입니다. 아래 8 개 모듈은 보텀업 순서로 정렬되어 있습니다: 기초(설정, 프로바이더, 권한)로 시작해 통합층(MCP, LSP), 코어 엔진(Agent), 마지막으로 사용자 대상 인터페이스(Command, CLI)로 끝납니다.

각 장은 하나의 모듈 아키텍처, 타입, 코어 흐름, 설계 트레이드오프 심층 분석(3000-4000 자)입니다. 순서대로 읽으면 완전한 멘탈 모델을 얻을 수 있고, 필요한 모듈만 건너뛰어 읽을 수도 있습니다.

필수 스킬

소스 코드를 읽기 전, 다음에 익숙한지 확인하세요:

스킬중요도이유
TypeScript필수코드베이스가 완전히 타입화되어 있으며, 타입이 주요 문서입니다
Promises / async-await필수거의 모든 것이 비동기입니다(LLM 스트림, 파일 I/O, 도구 실행)
Node.js streams중요LLM 응답과 세션 이벤트는 스트림입니다
Git / 터미널도움됨저장소를 클론하고 로컬에서 디버그합니다
React / Vue불필요TUI 는 웹 프레임워크가 아닙니다. 프론트엔드 스킬이 필요 없습니다

소요 시간

목표시간학습 후 할 수 있는 것
1 모듈 이해~30 분1 장을 읽고 그 모듈이 무엇을 하는지 설명
전체 요청 추적~1 주prompt 가 CLI → Session → Agent → Provider → Tool → 응답으로 흐르는 과정 추적
기능 변경~1 개월어떤 동작(예: 새 권한 규칙)을 변경하고 작동하게 함
확장 작성1-3 개월플러그인, 커스텀 도구, 코어 기여

8 개 챕터 (순서대로)

기초 — 토대

  1. Config · 초급 · ~25 분 설정 로딩: 6 계층 우선순위, Zod 스키마, JSONC 파싱, 핫 리로드. 여기서 시작하세요. 다른 모든 모듈이 설정에 의존합니다.

  2. Provider · 초급 · ~20 분 모델 추상화 계층: OpenCode 가 Vercel AI SDK 로 75 개 이상 LLM 에 프로바이더별 HTTP 클라이언트 없이 통신하는 방법.

  3. Permission · 중급 · ~25 분 안전 게이트: 3 단계 결정(허용/거부/확인), 와일드카드 매칭, 연쇄 거부, 일괄 승인.

통합 — 외부 프로토콜

  1. MCP · 중급 · ~25 분 외부 도구 채널: 3 종 전송, OAuth 2.0 + PKCE, MCP 도구가 AI SDK 동적 도구가 되는 방법.

  2. LSP · 중급 · ~25 분 IDE 급 코드 이해: Effect Service 아키텍처, 30 개 이상 언어 서버 정의, 진단.

코어 — 엔진

  1. Agent · 고급 · ~30 분 설정과 실행의 분리: Agent 는 설정 정의, Session 이 루프 구동. 동시성 제어, 에러 처리, 상태 관리.

인터페이스 — 사용자가 접하는 입구

  1. Command · 고급 · ~20 분 명령은 함수가 아닌 설정: 4 개 소스(내장, Config, MCP 프롬프트, Skills), 템플릿 기반 실행.

  2. CLI · 고급 · ~25 분 진입점: Yargs 명령 트리, 듀얼 모드 설계(TUI worker vs 비대화형 run), SSE 이벤트 브릿지.

어디서 시작할까

코드베이스가 처음이라면: Config 부터 시작.

prompt 가 코드 편집이 되는 과정을 이해하고 싶다면: Agent 로 이동해 콜 체인을 역추적하세요.

새 도구로 OpenCode 를 확장하고 싶다면: MCPCommand 를 읽으세요.

관련 링크