CLI 버전 단일화와 팀 서버 기본값 정리로 온보딩 간소화
목차
CLI 버전 관리와 팀 서버 기본값 설정을 한 번에 정리했던 작업이다.
개발 환경 설정의 일관성 문제
팀 프로젝트에서 CLI 도구를 유지보수하다 보면 버전 관리가 산재되는 문제를 자주 마주친다. 한쪽은 package.json에서, 또 다른 쪽은 하드코딩된 상수로 관리되고 있으면 배포할 때마다 두 군데를 동시에 수정해야 한다. 누군가는 깜빡하고 한 곳만 올리기도 한다. 이번 작업은 그런 비효율을 줄이기 위한 것이었다.
특히 팀 규모가 커질수록, 새로운 팀원이 온보딩될수록 "어디서 버전을 올려야 하나요?"라는 질문이 반복된다. 문서화해도 실수는 줄어들지 않는다. 그래서 구조적으로 한 곳만 바꾸도록 정하는 게 훨씬 효과적이다.
package.json을 단일 소스로 삼기
src/interface/cli/index.ts에서 CLI 진입점이 정의되는데, 여기서 버전 정보를 직접 읽도록 변경했다.
// before: 하드코딩된 상수
const CLI_VERSION = "1.2.3";
// after: package.json에서 동적으로 읽기
import { version } from '../../package.json';
const CLI_VERSION = version;
이렇게 하면 릴리스 때는 package.json의 버전만 올리면 되고, CLI 코드에서는 자동으로 최신 버전을 참조한다. npm 배포 파이프라인과도 자연스럽게 동기화된다.
hosted team server를 기본값으로
동시에 팀 서버 설정도 기본값으로 변경했다. 이전에는 개발자가 명시적으로 서버를 지정해야 했는데, 대다수 팀원이 동일한 호스팅 서버를 쓰고 있었다. 그래서 기본값을 그곳으로 맞추고, 필요한 경우만 CLI 옵션으로 오버라이드하도록 정리했다.
이런 변경은 UX 관점에서도 중요하다. 새 팀원이 CLI를 처음 실행할 때 복잡한 설정 없이 바로 동작하는 경험이 온보딩 시간을 크게 단축한다. 물론 고급 사용자는 여전히 다른 서버를 명시할 수 있다.
코드리뷰에서 배운 점
이 작업을 PR로 올렸을 때, 팀 리드가 좋은 피드백을 줬다. "버전을 읽을 때 파일이 없으면 어떻게 되나?", "빌드 과정에서 package.json import가 제대로 처리되나?" 같은 질문들이었다. 그래서 fallback 로직도 추가하고, 번들링 설정도 확인했다.
이런 식으로 한 번에 여러 관심사(버전 관리, 기본값, 에러 처리, 빌드 설정)를 생각해야 한다는 걸 깨달았다. 단순해 보이는 변경도 전체 시스템에 얼마나 영향을 주는지 생각하는 습관이 중요하다.
특히 CLI 같은 엔트리포인트는 사용자가 맨 처음 마주치는 부분이라 실수하면 온보딩 경험 전체가 나빠진다. 그래서 더 신중하게 다뤘던 작업이다.
🛒 이 글과 어울리는 추천 상품
*위 링크는 쿠팡파트너스 활동의 일환이며, 일정액의 수수료를 제공받을 수 있습니다.
댓글 0
첫 댓글 달아줘.