Problem
croco create domain과 croco make controller가 생성하는 컨트롤러가 @croco/transports-http에서 RouteContext를 import하지만, 해당 패키지는 이 타입을 export하지 않습니다. 새로 생성한 코드가 사용자 수정 없이 바로 typecheck에 실패할 수 있습니다.
Evidence
packages/cli/src/commands/createDomain.ts:129-163의 컨트롤러 템플릿이 type { RouteContext }를 @croco/transports-http에서 import하고 메서드 인자로 사용합니다.
packages/cli/src/commands/makeController.ts:47-80도 같은 import와 타입 사용을 생성합니다.
packages/transports-http/src/index.ts:19-38는 CrocoHttpContext 등은 export하지만 RouteContext는 export하지 않습니다.
RouteContext는 CLI 템플릿 외에 실제 transports-http export로 존재하지 않습니다.
Desired Outcome
CLI가 생성한 컨트롤러는 현재 공개 API만 사용해야 하며, 생성 직후 pnpm typecheck를 통과해야 합니다.
Suggested Approach
- 템플릿이 실제 공개 타입인
CrocoHttpContext 또는 현재 라우트 핸들러 계약에 맞는 타입을 사용하도록 정리합니다.
RouteContext라는 이름이 필요하다면 @croco/transports-http의 공개 export와 문서/테스트까지 함께 맞춥니다.
createDomain과 makeController 템플릿이 같은 소스 계약을 공유하도록 중복을 줄입니다.
Acceptance Criteria
croco create domain과 croco make controller 결과물이 비공개/미존재 타입을 import하지 않습니다.
- 생성된 컨트롤러 템플릿에 대한 스냅샷 또는 골든 테스트가 실패 모드를 잠급니다.
@croco/transports-http의 공개 타입 계약과 CLI 템플릿이 일치합니다.
Validation
pnpm test --filter=@croco/cli
pnpm typecheck --filter=@croco/cli
- 가능하면 임시 프로젝트에서 생성 결과
tsc --noEmit 스모크 테스트
Problem
croco create domain과croco make controller가 생성하는 컨트롤러가@croco/transports-http에서RouteContext를 import하지만, 해당 패키지는 이 타입을 export하지 않습니다. 새로 생성한 코드가 사용자 수정 없이 바로 typecheck에 실패할 수 있습니다.Evidence
packages/cli/src/commands/createDomain.ts:129-163의 컨트롤러 템플릿이type { RouteContext }를@croco/transports-http에서 import하고 메서드 인자로 사용합니다.packages/cli/src/commands/makeController.ts:47-80도 같은 import와 타입 사용을 생성합니다.packages/transports-http/src/index.ts:19-38는CrocoHttpContext등은 export하지만RouteContext는 export하지 않습니다.RouteContext는 CLI 템플릿 외에 실제transports-httpexport로 존재하지 않습니다.Desired Outcome
CLI가 생성한 컨트롤러는 현재 공개 API만 사용해야 하며, 생성 직후
pnpm typecheck를 통과해야 합니다.Suggested Approach
CrocoHttpContext또는 현재 라우트 핸들러 계약에 맞는 타입을 사용하도록 정리합니다.RouteContext라는 이름이 필요하다면@croco/transports-http의 공개 export와 문서/테스트까지 함께 맞춥니다.createDomain과makeController템플릿이 같은 소스 계약을 공유하도록 중복을 줄입니다.Acceptance Criteria
croco create domain과croco make controller결과물이 비공개/미존재 타입을 import하지 않습니다.@croco/transports-http의 공개 타입 계약과 CLI 템플릿이 일치합니다.Validation
pnpm test --filter=@croco/clipnpm typecheck --filter=@croco/clitsc --noEmit스모크 테스트