개요
생산적인 LibreChat 개발 워크플로우 설정 방법.
Docker는 대부분의 사용자에게 권장되는 설치 경로이지만, 로컬 LibreChat 개발 시에는 npm을 사용해야 합니다. 앱을 로컬 머신에서 직접 실행하면 더 빠른 피드백과 명확한 디버깅이 가능하며, 변경 사항이 있을 때마다 컨테이너를 다시 빌드할 필요 없이 모노레포 워크스페이스에 직접 액세스할 수 있습니다.
권장 도구 체인
npm 기반 개발을 위해 이 툴체인을 사용하세요:
| 도구 | 버전 |
|---|---|
| Node.js | v24.16.0 |
| npm | v11.16.0 |
| MongoDB | Atlas 또는 Community Server |
Node 24는 ESM 전용 패키지와의 CommonJS 상호 운용성, WebCrypto 및 Fetch API에 대한 LibreChat의 런타임 요구 사항을 충족합니다. 셸에서 여전히 이전 Node 버전을 보고하는 경우, 의존성을 설치하기 전에 LibreChat 저장소에서 nvm use 24.16.0을 실행하세요.
올바른 작업 공간에서 작업하기
LibreChat은 모노레포(monorepo)입니다. 변경하려는 동작을 담당하는 가장 작은 워크스페이스를 선택하세요:
| 작업 공간 (Workspace) | 용도 |
|---|---|
/packages/api | 새로운 백엔드 TypeScript 서비스, 컨트롤러 및 공유 서버 로직 |
/api | 레거시 Express 서버 통합; 변경 사항을 최소화할 것 |
/packages/data-schemas | 데이터베이스 모델, 스키마 및 데이터베이스 관련 공유 로직 |
/packages/data-provider | 공유 API 타입, endpoint, 쿼리 키 및 데이터 서비스 함수 |
/client | React 애플리케이션 코드 |
/packages/client | 공유 프론트엔드 유틸리티 |
일일 명령어
| 명령어 | 목적 |
|---|---|
npm run smart-reinstall | 필요할 때 의존성을 설치하고 컴파일된 워크스페이스를 빌드합니다 |
npm run reinstall | Node/npm 버전 변경 후 또는 의존성 상태가 의심될 때 클린 설치를 수행합니다 |
npm run backend:dev | 파일 감시 기능을 사용하여 백엔드를 시작합니다 |
npm run frontend:dev | 포트 3090에서 프론트엔드 개발 서버를 시작합니다 |
npm run build:data-provider | API/타입 변경 후 공유 data-provider 코드를 다시 빌드합니다 |
npm run build | Turborepo를 통해 모든 컴파일된 워크스페이스를 빌드합니다 |
개발 리소스
개발 리소스
- 저장소(repositories), 포크(forks), 브랜치(branches), 풀 리퀘스트(pull requests)가 처음이라면 **GitHub의 협업 개발 가이드**부터 시작하세요.
- PR을 열기 전에 **Contributor Guidelines**를 읽어주세요.
- 전체 로컬 설정 흐름은 **Contributor Setup**을 사용하세요.
- 작업 공간 경계, import 순서, 타이핑, 테스트 및 프론트엔드 규칙에 대해서는 **Code Standards and Conventions**를 사용하세요.
이 가이드는 어떤가요?