프로젝트 구조와 파일 내용을 요약하는 Python 스크립트를 Bun + TypeScript로 다시 구현했다.
원본 참고 자료
계기와 배경
- Python이 익숙하지 않다
- 다른 사람이 다른 언어로 작성한 것을 JS/TS로 다시 구현하는 연습을 해 보고 싶었다
- JS, TS는 어느 정도 익숙하다
- 저장소 내용을 LLM용 단일 파일로 묶는 CLI가 필요했다
- 플랫폼에 상관없이 실행할 수 있는 포터블 실행 파일로 만들고 싶었다
소스 코드
기술 구성
| 개발 언어 | TypeScript |
| 패키지 관리 | Bun |
| JS 런타임 | Bun |
| Linter/Formatter | Biome |
| 에디터 | VS Code |
막힌 부분 / 미해결 사항
Bun에 기본 포함된 Glob API로 원하는 동작을 구현하려다 애를 먹었고, 결국 minimatch로 돌아갔다.
구현 포인트
- Single File Executable: Bun의
--compile옵션으로 실행 파일을 생성 - Glob 처리: minimatch로 파일 필터링
- LLM용 출력: 프로젝트 구조와 파일 내용을 하나의 markdown 파일로 집약
정리
Python 스크립트를 다시 구현하는 과정에서 TypeScript와 Bun에 대한 이해를 더 깊게 만들 수 있었다.
실행 파일 형태로 배포할 수 있어서 Node.js를 따로 설치하지 않아도 되고, 플랫폼 간 사용성도 좋아졌다.
LLM에게 저장소 전체를 읽히고 싶을 때 이 도구를 쓰면 컨텍스트를 한 번에 만들 수 있다.
hsb.horse