화면·HTTP
use case 호출
변경 이유가 같은 코드를 모으고, 프레임워크와 저장소는 핵심 규칙을 향해 의존시킨다.
use case 호출
port 구현
UI·DB 세부사항은 모름
framework import 없음
package.json#exports공개 subpath를 정하고 deep import를 막는다.
.d.ts 계약과 빌드 순서로 프로젝트를 나눈다.
paths탐색만 안내하며 출력 import는 바꾸지 않는다.
허용 방향·공개 API·cycle을 CI에서 검사한다.
안정된 계약만 안쪽에 두고 흐름 소유자를 하나로 정한다.
Node·번들러·테스트 러너의 alias를 같은 규칙으로 맞춘다.
exports와 lint로 공개 계약 밖 경로를 닫는다.
두 시점 컴파일: import는 핵심으로. 런타임: composition root가 adapter 구현체를 연결한다.