# Kord (Monorepo) Kord는 Discord 서버 관리를 돕는 강력하고 유연한 다기능 봇 및 전용 웹 대시보드 프로젝트입니다. 현재 모노레포(Monorepo) 구조로 관리되고 있습니다. ## 1. 프로젝트 구조 (Structure) 본 프로젝트는 **Turborepo**와 **Yarn Workspaces**를 사용합니다. - **`apps/bot`**: Discord.js 기반의 봇 본체 (ShardingManager 적용) - **`apps/dashboard`**: Next.js 기반의 봇 관리 웹 대시보드 - **`packages/db`**: Prisma 스키마 및 데이터베이스 데이터 접근 레이어 (공용) - **`packages/grpc-contracts`**: 봇과 대시보드 간의 gRPC 통신 규약 (공용) ## 2. 요구사항 (Requirements) - **Runtime**: Node.js v22 이상 (추천) - **Package Manager**: Yarn v4 (Berry) - **Database**: PostgreSQL (Prisma 사용) - **Discord**: Bot Token 및 Client ID ## 3. 시작하기 (Quick Start) ### 로컬 개발 환경 설정 1. **의존성 설치**: ```bash yarn install ``` 2. **환경 변수 설정**: 루트 및 각 앱 디렉토리의 `.env` 설정을 완료합니다. 3. **데이터베이스 및 코드 생성**: ```bash yarn run generate ``` ### 실행 방법 전체 프로젝트를 한꺼번에 실행하거나 개별 앱을 실행할 수 있습니다. - **모든 앱 실행 (Bot + Dashboard)**: ```bash yarn dev ``` - **봇만 실행**: ```bash yarn workspace @kord/bot dev ``` - **대시보드만 실행**: ```bash yarn workspace dashboard dev ``` ## 4. 아키텍처 (Architecture) Kord는 **gRPC Proxy** 아키텍처를 사용하여 대시보드와 샤딩된 봇 인스턴스 간의 실시간 통신을 처리합니다. 자세한 내용은 관련 문서를 참조하세요. - [대시보드 통신 아키텍처 가이드](Docs/Decisions/Dashboard_Architecture_gRPC.md) ## 5. 문서 (Documentation) 모둔 상세 문서는 `Docs/` 디렉토리에 위치합니다. - [문서 전체 색인 (Docs Index)](Docs/index.md) - [로컬 가이드북 (SKILL.md)](SKILL.md)