개발 가이드
Hereby 개발에 필요한 모든 것을 모았습니다 — 아키텍처·시작하기 개발 시작, 아래의 워크스페이스 패키지, 그리고 기술 레퍼런스(데이터베이스 스키마, API 라우터, 계산 파이프라인). 모든 패키지는 packages/ 디렉토리에 위치하며 pnpm 워크스페이스 패키지로 관리됩니다.
패키지 의존성 그래프
개요
| 패키지 | npm 이름 | 상태 | 설명 |
|---|---|---|---|
| database | @hereby/database | 프로덕션 | 113개 TypeORM 엔티티, 105개 마이그레이션, 27개 시드 |
| api | @hereby/api | 프로덕션 | Fastify 5 + tRPC 11, 57개 라우터, WS, 업로드 |
| core | @hereby/core | 프로덕션 | 공유 타입, 55개 Zod 스키마, 30개 enum 파일, Pino 로거 |
| sdk | @hereby/sdk | 프로덕션 | 53개 서비스, Alpine, WebSocket 지원 |
| cli | @hereby/cli | 프로덕션 | Commander.js CLI 도구 |
| components | @hereby/components | 프로덕션 | Alpine.js 인증 컴포넌트와 플러그인 |
| test | @hereby/test | 프로덕션 | Vitest 통합 테스트 |
빌드 순서
패키지는 의존성 순서대로 빌드해야 합니다:
bash
1. @hereby/core # 의존성 없음
2. @hereby/database # core에 의존
3. @hereby/api # database, core에 의존
4. @hereby/sdk # core에 의존, api 타입 peer 사용
5. @hereby/components # 독립적인 인증 컴포넌트 라이브러리
6. @hereby/cli # sdk에 의존pnpm build는 워크스페이스 의존성 해석을 통해 자동으로 처리합니다.