HowtoAI
ai-automation2026-04-22 5 min read

Cursor Composer 리팩토링 자동화 — 실전 10개 레포에서 돌려본 결과 정리

🤖
HowtoAI 편집팀AI 전문 에디터

AI 기술을 누구나 쉽게 활용할 수 있도록 실전 가이드를 작성합니다. ChatGPT, Claude, AI 자동화, SEO 분야를 전문으로 다룹니다.

📅 2026-04-22⏱️ 5 min read🌐 how-toai.com
목차 보기

Cursor Composer 편집 인터페이스

Cursor Composer, 솔직히 리팩토링에 쓸만해요?

결론부터 말하면 파일 5개 이상 건드리는 리팩토링엔 Composer가 압도적으로 빠릅니다. 지난 한 달 동안 제 레포 10개에 차례로 돌려봤어요. Next.js 프로젝트 3개, Python 백엔드 4개, Node CLI 툴 3개였어요.

평균 수치로 정리하면 이래요.

  • 수동 작업 평균: 4시간 12분
  • Composer 활용: 38분
  • 롤백한 경우: 10개 중 2개 (레거시 타입 에러)
  • Accept 한 커밋 평균 수정 라인: 247줄

이 글에서는 성공한 워크플로우, 삽질한 부분, 그리고 저만의 프롬프트 템플릿 3종을 정리할게요.

1. 성공 시나리오 — 매개변수 객체화 리팩토링

Express 라우터 47개가 req.query.page, req.query.size 식으로 개별 파라미터를 받고 있었어요. 타입스크립트 전환 중이었는데, 이걸 PaginationOptions 하나로 묶고 싶었거든요.

Composer에 이렇게 입력했어요.

routes/ 아래 모든 파일에서 req.query 페이지네이션 파라미터를
PaginationOptions 객체로 통일해줘.
- page: number (default 1)
- size: number (default 20)
- sort: string | undefined
별도 types/pagination.ts 파일 만들고 re-export 해줘.

결과: 47개 파일 중 45개는 바로 Accept, 2개는 엣지 케이스(커서 기반 페이지네이션) 때문에 Reject 했어요. 수동으로 했으면 최소 3시간은 갈 작업이 27분에 끝났어요.

여러 파일 동시 수정 diff 뷰

2. 삽질한 부분 — 레거시 타입 에러가 폭발한 사례

반대로 안 맞았던 케이스도 있어요. Express 3.x 기반 3000줄 레포를 한 번에 "Express 4 + TypeScript로 마이그레이션" 시켰더니, 빌드 에러 47개가 쏟아졌어요. 타입 매칭이 반쯤 된 상태로 커밋이 올라와서 되돌리는 데만 40분 걸렸어요.

교훈은 이거예요.

  • 파일 3~5개 단위로 끊어서 맡기기
  • 테스트가 없으면 Composer 실행 전에 스냅샷 테스트 먼저 작성
  • .cursorrules에 "코드 깨지면 빌드 로그 같이 출력해" 규칙 넣기

두 번째 시도에서는 라우터 디렉토리 하나씩 끊어서 돌렸고, 빌드 에러 1~2개로 줄었어요. **작업 범위 좁히기가 Composer 성패의 90%**예요.

3. 제가 매일 쓰는 프롬프트 템플릿 3종

템플릿 A — 반복 패턴 추출

이 디렉토리에서 3번 이상 반복되는 로직을 공통 함수로 분리해줘.
- 함수 이름은 동작 중심 (예: calculateTax, not taxHelper)
- 유닛 테스트 1개씩 같이 생성
- 기존 호출부는 새 함수 호출로 교체

템플릿 B — 타입 안전성 강화

이 파일들에서 any 타입을 찾아서 구체 타입으로 바꿔줘.
- 외부 API 응답이면 Zod 스키마 생성
- 내부 객체면 interface 정의
- runtime 유효성 검증 코드 같이 추가

템플릿 C — 테스트 커버리지 보강

최근 3개월 커밋된 파일 중 테스트 없는 함수에 대해
Jest 테스트 작성해줘.
- happy path 1개 + edge case 2개씩
- mock은 MSW 사용
- 기존 테스트 스타일과 동일하게

이 세 개로 리팩토링 요청의 80% 정도가 커버돼요. 나머지는 건별로 즉석에서 작성해요.

4. 비용 대비 절약 시간 실측

개인 프로젝트 기준으로 정리해봤어요.

작업수동Composer절약
매개변수 객체화 (47 파일)3h 12m27m2h 45m
React 함수 컴포넌트 변환2h 48m41m2h 7m
Django ORM 최적화4h 30m1h 18m3h 12m
Python 2 → 3 잔여 제거1h 55m22m1h 33m
타입 가드 도입2h 20m35m1h 45m

Pro 요금 월 20달러월 40시간 이상 아꼈어요. 시간당 5천원짜리 아르바이트로 환산해도 본전 뽑고 남아요.

코드 리팩토링 전후 비교

5. Composer와 같이 쓰면 좋은 도구 3가지

  • Git worktree: 리팩토링 브랜치 동시에 여러 개 실험할 때
  • Biome: Composer가 만든 코드 포맷팅 자동 정리 (Prettier보다 3배 빠름)
  • pre-commit hook: Composer 커밋 전에 타입 체크·테스트 강제

Biome은 특히 Composer가 만든 코드에 들쑥날쑥한 공백이나 따옴표 통일할 때 최고예요. VSCode 익스텐션으로 설치하면 저장 시 자동 포맷팅 돼요.

Composer로 첫 리팩토링 시작하는 순서

  1. 테스트 한 개라도 있는 모듈부터 시작 (롤백이 쉬워요)
  2. 프롬프트에 성공 기준을 명시 ("빌드 에러 0, 기존 테스트 통과")
  3. Diff 뷰에서 파일 3~5개까지만 Accept, 나머진 다음 커밋
  4. 커밋 메시지에 Composer 프롬프트 원문 남기기 (재현성 확보)

Cursor 0.46 업데이트 정리와 같이 읽으면 Cursor로 뭘 더 할 수 있는지 감이 와요. 리팩토링 자동화는 AI 에이전트 활용 사례 중에서도 투자 대비 수익이 제일 빠른 영역이에요.

오늘 바로 해볼 3가지

  1. 본인 레포 중 파일 5~10개 정도 되는 모듈 하나 고르기
  2. 템플릿 A로 반복 패턴 추출 요청
  3. diff 뷰에서 한 파일씩 리뷰 → Accept/Reject 기준 잡기

30분이면 첫 커밋이 나와요. 한 번 경험해보면 "이걸 왜 지금까지 수동으로 했지" 싶어요.

❓ 자주 묻는 질문 (FAQ)

Cursor Composer와 일반 Chat 모드는 뭐가 달라요?

Chat은 한 번에 한 파일 단위로 답변해요. Composer는 여러 파일을 동시에 수정·생성하면서 리뷰 UI까지 같이 띄워줘요. 리팩토링처럼 파일 5개 이상 건드리는 작업에 확실히 빨라요.

무료 플랜에서도 Composer 쓸 수 있나요?

Hobby 플랜에선 Composer 자체는 열리지만, 월 50회 프리미엄 요청 한도가 금방 소진돼요. 실무 쓰려면 Pro(월 20달러) 정도는 필요했어요.

레거시 코드에 바로 돌려도 괜찮나요?

작은 커밋 단위로 끊어서 돌리세요. 제가 Express 3000줄 레포에 한 번에 맡겼더니 타입 에러 47개 났어요. 파일 3~5개씩 끊으면 에러가 1~2개로 줄어요.

한국어 주석이나 변수명도 잘 이해하나요?

주석은 거의 완벽하게 이해해요. 한글 변수명·함수명도 의미 파악은 되는데, 네이밍 컨벤션 변경 요청은 종종 놓쳐요. Rules에 '한글 식별자 유지'라고 명시하면 안전해요.

MCP 서버 연동은 어떻게 쓰는 게 좋나요?

0.46부터 네이티브 지원이에요. Filesystem, Git, PostgreSQL MCP를 켜두면 Composer가 자동으로 파일·히스토리·DB 스키마를 읽어서 리팩토링 제안에 반영해요. 초반 세팅 10분이면 끝나요.

리뷰는 어떻게 하는 게 효율적이에요?

Composer가 diff 뷰를 파일별로 분리해 보여줘요. 파일당 Accept/Reject를 바로 누를 수 있어요. 저는 테스트 파일부터 Accept 하고, 소스 파일은 변경 로그 한 번 더 확인해요.

📚 함께 읽으면 좋은 글 (Related Posts)

AI 업무 자동화 더 보기 →