Cursor Composer 모드로 리팩토링 생산성 3배 올리기
배경
3년 전 작성된 Next.js 프로젝트의 인증 로직을 전면 개편하는 작업을 맡았다. 총 47개 파일에 흩어진 인증 관련 코드를 Context API에서 Zustand로 마이그레이션해야 했다.
기존에는 각 파일을 열어 수동으로 수정하거나, Claude API로 스크립트를 짜서 일괄 변환했는데, 이번엔 Cursor의 Composer 모드를 본격적으로 써봤다.
Composer 모드 활용법
1. 멀티파일 컨텍스트 제공
Cmd+I로 Composer를 열고, @folder 멘션으로 전체 auth 폴더를 컨텍스트에 추가했다. 이후 변경 방향을 자연어로 설명했다.
@folder:src/auth 폴더의 모든 파일을
Context API → Zustand 스토어로 마이그레이션.
기존 useAuth 훅 인터페이스는 유지.
2. 단계별 검토 및 적용
Composer가 제안한 변경사항을 파일별로 diff 확인 후 Accept/Reject 했다. 특히 타입 정의 부분은 수동으로 조정이 필요했다.
3. 테스트 코드 자동 생성
변경 완료 후 "각 스토어에 대한 유닛 테스트 작성"을 요청하니 Vitest 기반 테스트 파일을 생성해줬다. 커버리지 85% 달성.
성과
- 예상 작업 시간: 3일 → 실제: 1일
- 수동 수정으로 인한 오타/실수 제로
- 일관된 코드 스타일 유지
주의점
대규모 변경 시 한 번에 모든 파일을 수정하지 말고, 도메인별로 쪼개서 진행하는 게 안전했다. Composer가 가끔 이전 컨텍스트를 잊어버리는 경향이 있어서, 중요한 제약사항은 매번 명시적으로 언급해야 했다.
결론
Composer 모드는 단순 코드 생성을 넘어, 여러 파일에 걸친 일관된 변경이 필요한 리팩토링 작업에서 진가를 발휘한다. 다만 맹신하지 말고 diff를 꼼꼼히 확인하는 습관은 여전히 필수다.