지난 연재 3회에서 우리는 OpenClaw의 튼튼한 [집터](폴더 구조)를 닦고, [출생 신고서](package.json)와 [설계도](tsconfig.json)를 준비했습니다. 이제 그 빈집에 전기를 넣고 배관을 연결하여 실제로 작동하는 **'생명력'**을 불어넣을 차례입니다.
가장 먼저 할 일은 메시지를 주고받는 Gateway Server의 심장을 만드는 것입니다. 하지만 본격적으로 망치를 들기 전에, 우리가 지난번 준비한 설계도가 실제 공사 현장에서 어떻게 작동하는지 짧게 복습하고 넘어가겠습니다.
"설계도만 봐서는 건물이 어떻게 완성될지 상상이 안 돼요!" 하시는 분들을 위해, 우리가 준비한 인프라가 앞으로의 실무에서 어떤 역할을 하는지 **[30초 요약]**으로 살펴봅시다.
- 패키지 관리 전략 (Package Management):
pnpm-workspace.yaml- 비유: 거대한 조립식 가구 세트.
apps/라는 완제품과packages/라는 부품 상자를 하나로 묶어, 부품 하나만 고치면 완제품에도 즉시 반영되게 합니다.
- 비유: 거대한 조립식 가구 세트.
- 빌드 시스템 (Build Pipeline):
tsdown.config.ts- 비유: 초고속 자동 번역기. 우리가 쓴 '인간의 언어(TypeScript)'를 서버가 이해하는 '기계의 언어(JavaScript)'로 순식간에 바꿔줍니다.
- 품질 관리 (Code Quality):
oxlint- 비유: 엄격한 안전 검사원. 코드를 저장할 때마다 "여기 나사가 헐거워요!"라고 즉시 알려주어 사고를 예방합니다.
본격적인 코딩에 들어가기 전, 지난 시간 우리가 닦아둔 땅(openclaw-lab)에 부품들이 잘 도착했는지, 기계들이 잘 돌아가는지 마지막으로 점검해 봅시다.
- 실습 폴더 접속: 터미널에서 작업 공간으로 이동합니다.
- 명령어 입력 ->
cd ~/Workspace/openclaw-lab
- 명령어 입력 ->
- 부품(의존성) 최종 확인: 주문한 부품들이 빠짐없이 있는지 확인하고 다시 한번 설치합니다.
- 명령어 입력 ->
pnpm install
- 명령어 입력 ->
- 설계도(TypeScript) 가동 테스트: 설계도에 따라 번역기가 잘 작동하는지 테스트해 봅니다.
- 명령어 입력 ->
npx tsc - (아직 코드가 없어 오류가 나도 정상이니, 명령어 실행 여부만 확인하세요!)
- 명령어 입력 ->
[TIP] 왜 이 과정이 필요한가요? 건물을 짓기 전, 포크레인 시동이 잘 걸리는지 확인하는 것과 같습니다. 이 세 단계가 문제없이 통과된다면 여러분은 이제 진짜 '개발자'로서 코드를 칠 준비가 된 것입니다.
연재 3회에서 우리는 tsconfig.json의 각 항목이 무엇인지 배웠습니다. 이번 시간에는 한 걸음 더 들어가서, "수많은 옵션 중 왜 하필 이것들을 선택했는지" 프로젝트 설계자의 의도를 엿보겠습니다.
- 왜
target은 "ES2022" 인가요?- [복습] : 번역기의 목표 언어 버전
- [설계 의도] : 우리가 만드는 서버(Node.js 22)는 매우 똑똑합니다. 굳이 옛날 방식(ES5)으로 길게 풀어서 쓸 필요가 없습니다. 최신 문법을 그대로 써야 코드가 짧아지고 실행 속도는 더 빨라집니다.
- 왜
module은 "NodeNext" 인가요?- [복습] : 최신 통신 규약 매뉴얼
- [설계 의도] : OpenClaw는 Hono나 Baileys 같은 가장 앞서가는 라이브러리들을 씁니다. 이 친구들이 사용하는 '최신 대화 방식(ESM)'에 맞추지 않으면 아예 대화조차 불가능하기 때문입니다.
- 왜
strict는 무조건 "true" 인가요?- [복습] : 절대로 타협하지 않는 깐깐한 감리사
- [설계 의도] : 개발자가 가장 많이 하는 실수는 "나중에 고쳐야지" 하는 아주 작은 틈에서 시작됩니다. 감리가 처음부터 엄격하게 굴어야, 나중에 서비스가 갑자기 멈추는 대참사를 막을 수 있습니다.
지금까지 수행한 모든 단계를 한눈에 정리했습니다. 터미널을 열고 이 순서대로만 진행하셨다면, 여러분의 컴퓨터는 이제 강력한 통역 서버를 가동할 완벽한 준비를 마친 상태입니다.
- Node.js 설치 확인 (
node -v) - TypeScript 글로벌 설치 (
npm install -g typescript) - pnpm 글로벌 설치 (
npm install -g pnpm)
- 폴더 생성 및 이동 ->
mkdir&cd - 프로젝트 시작 (pnpm init) ->
package.json생성
- 핵심 런타임 설치 ->
hono,baileys,better-sqlite3 - 개발용 도구 설치 ->
typescript,@types/node
- 설계도 파일 생성 ->
npx tsc --init
기초 공사가 끝났으니, 이제 본격적으로 OpenClaw의 엔진과 팔다리를 조립할 차례입니다.
- 2장. Gateway Server의 중추 신경망: 서버가 데이터를 주고받는 구조를 먼저 체득하고, 실제 코드를 정밀하게 분석합니다.
- 3장. 외부 채널 연결 (WhatsApp): 원본 프로젝트 코딩 방식을 분석하여 동일한 기능을 직접 구현해 봅니다.
- 4장. AI 에이전트와 지능 부여: LLM(거대언어모델)을 탑재하여 똑똑하게 생각하는 '뇌'를 이식합니다.
💬 코치 코멘트(Sam LEE): "드디어 험난한 **[기초 공사]**를 무사히 마치셨습니다! 이제 여러분의 폴더에는 든든한 설계도가 놓여 있습니다. 2장부터는 이 설계도를 바탕으로 실제 서버의 '심장'을 하나씩 조립해 나갈 것입니다. 준비되셨나요? 가봅시다!"
#OpenClaw #오픈소스 #개발일기 #TypeScript #NodeJS #Tistory #초보개발자