lib/ 안에서는 폴더 이름이 만들고 있는 비즈니스 개념의 종류를 설명합니다. 비즈니스가 소유하는 데이터는 일반 폴더, 기능이나 외부 연동은 밑줄 폴더, 재사용 값 형태는 __scalar에 둡니다.
lib/<model>/: 비즈니스가 소유하고 저장하는 명사에 사용합니다. 예: user, product, order, reservation, invoice.
lib/_<service>/: 행동, 워크플로우, 연동 기능에 사용합니다. 예: _payment, _mailer, _search, _analytics.
lib/__scalar/<type>/: 여러 모델이 함께 쓰는 값 형태에 사용합니다. 예: money, address, phoneNumber, dateRange.
간단한 기준은 이렇습니다. '저장하는 대상'이라면 lib/<model>/을, '수행하는 기능'이라면 lib/_<service>/를 사용하세요.
외부 연동에서는 벤더 API를 직접 다루는 낮은 수준의 클라이언트는 srvkit/에 두고, 앱이 이해하는 비즈니스 워크플로우는 lib/_<service>/에 둡니다. 예를 들어 paymentGateway.ts는 결제사 API를 호출하고, lib/_payment는 주문 결제를 생성합니다.