Cruller: Bun의 Zig 런타임을 Zig 0.16으로 포팅한 포크, 개발용 Bun과 분리
Cruller: Bun's Zig Runtime, Continued on Zig 0.16

Cruller는 Bun의 마지막 Zig 기반 릴리스를 포크하여, 이미 빌드된 프로덕션 JavaScript 서버 실행에 필요한 핵심 기능만 남기고 Zig 0.16으로 포팅한 런타임입니다. JavaScriptCore, Bun.serve, HTTP/1-3, WebSockets, fetch, streams, Blob, Request/Response, 정적 파일 서빙, 모듈 리졸버를 유지하지만, 패키지 매니저, 번들러, 트랜스파일러, 셸, 테스트 러너 등 개발 지향 기능은 제거했습니다. 개발은 전체 Bun으로 하고 프로덕션은 Cruller로 실행하는 전략을 취하며, 바이너리 크기는 약 18% 줄었고 성능은 공식 Bun과 비슷합니다. 포팅 과정에서 Zig 0.16 호환성 문제를 해결하고, 빌드 시 생성된 코드를 임베딩하여 이식성을 확보했습니다.
개발은 전체 Bun 런타임으로 하고, 프로덕션은 가벼운 포크인 Cruller로 실행하는 것이 제 생각입니다.