자동화 스케줄이 읽는 시계는 도구마다 다르다 — n8n의 뉴욕과 Zapier의 UTC가 갈리는 5곳
n8n·GitHub Actions·Google Apps Script·Zapier·Make 다섯 도구의 스케줄 트리거가 어느 시계를 읽는지 공식 문서 원문으로 맞대어 봤어요. 손대지 않았을 때의 기본값, 재지정이 걸리는 층, 실행 시각과 표시 시각이 갈리는 자리를 문서 문장 그대로 정리했어요.
AI 기술을 누구나 쉽게 활용할 수 있도록 실전 가이드를 작성합니다. ChatGPT, Claude, AI 자동화, SEO 분야를 전문으로 다룹니다.

결론부터 말하면 파일 5개 이상 건드리는 리팩토링엔 Composer가 확실히 빠릅니다. Next.js 프로젝트, Python 백엔드, Node CLI 툴처럼 성격이 다른 레포에 차례로 돌려보면 공통으로 드러나는 패턴이 있어요.
정리하면 이래요.
이 글에서는 성공한 워크플로우, 삽질한 부분, 그리고 저만의 프롬프트 템플릿 3종을 정리할게요.
Express 라우터 수십 개가 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 해줘.
결과: 대부분 파일은 바로 Accept 했고, 커서 기반 페이지네이션처럼 구조가 다른 몇 개만 Reject 했어요. 수동으로 했다면 반나절은 붙잡았을 작업이 한 세션에 정리됐어요.

반대로 안 맞았던 케이스도 있어요. Express 3.x 기반 레거시 레포를 한 번에 "Express 4 + TypeScript로 마이그레이션" 시켰더니, 빌드 에러가 무더기로 쏟아졌어요. 타입 매칭이 반쯤 된 상태로 커밋이 올라와서 되돌리는 데도 한참 걸렸어요.
교훈은 이거예요.
.cursorrules에 "코드 깨지면 빌드 로그 같이 출력해" 규칙 넣기두 번째 시도에서는 라우터 디렉토리 하나씩 끊어서 돌렸고, 빌드 에러가 손으로 바로 잡을 수 있는 수준까지 줄었어요. 작업 범위 좁히기가 Composer 성패의 90%예요.
이 디렉토리에서 3번 이상 반복되는 로직을 공통 함수로 분리해줘.
- 함수 이름은 동작 중심 (예: calculateTax, not taxHelper)
- 유닛 테스트 1개씩 같이 생성
- 기존 호출부는 새 함수 호출로 교체
이 파일들에서 any 타입을 찾아서 구체 타입으로 바꿔줘.
- 외부 API 응답이면 Zod 스키마 생성
- 내부 객체면 interface 정의
- runtime 유효성 검증 코드 같이 추가
최근 3개월 커밋된 파일 중 테스트 없는 함수에 대해
Jest 테스트 작성해줘.
- happy path 1개 + edge case 2개씩
- mock은 MSW 사용
- 기존 테스트 스타일과 동일하게
이 세 개로 리팩토링 요청의 80% 정도가 커버돼요. 나머지는 건별로 즉석에서 작성해요.
개인 프로젝트 기준으로 작업 성격별 체감을 정리해봤어요.
| 작업 | 수동 작업 부담 | Composer 적합도 | 체감 절약 |
|---|---|---|---|
| 매개변수 객체화 (라우터 다수) | 큼 | 우수 | 큼 |
| React 함수 컴포넌트 변환 | 큼 | 우수 | 큼 |
| Django ORM 최적화 | 매우 큼 | 보통 | 보통 |
| Python 2 → 3 잔여 제거 | 보통 | 우수 | 큼 |
| 타입 가드 도입 | 보통 | 우수 | 보통 |
정리하면 패턴이 반복되고 판단 기준이 명확한 작업일수록 Composer가 잘 맞아요. 반대로 성능 튜닝처럼 맥락 판단이 필요한 작업은 사람이 방향을 잡아준 뒤 맡겨야 안전해요.
Pro 요금은 월 20달러인데, 리팩토링을 자주 돌리는 사람이라면 아끼는 시간만으로 값을 한다는 후기가 많아요. 다만 체감 효과는 레포 상태와 작업 성격에 따라 편차가 크니까, 한 달 써보고 본인 기준으로 판단하는 게 좋아요. 최신 요금제와 요청 한도는 Cursor 공식 가격 페이지에서 확인하세요.

Biome은 특히 Composer가 만든 코드에 들쑥날쑥한 공백이나 따옴표 통일할 때 최고예요. VSCode 익스텐션으로 설치하면 저장 시 자동 포맷팅 돼요.
잘 맞는 경우부터 보면 이래요.
반대로 아직 이른 경우도 분명히 있어요.
첫째, 작업 브랜치를 따로 파세요. Composer는 여러 파일을 한 번에 바꾸기 때문에, 메인 브랜치에서 바로 돌리면 되돌릴 때 손이 많이 가요.
둘째, 현재 상태를 먼저 커밋해두세요. 커밋하지 않은 수정본이 섞이면 어디까지가 사람이 쓴 코드이고 어디부터 AI가 쓴 코드인지 구분이 안 돼요.
셋째, 성공 기준을 문장으로 적어두세요. "빌드 에러 0, 기존 테스트 전부 통과, 공개 API 시그니처 변경 없음" 같은 식이에요. 프롬프트에 그대로 넣기도 좋고, 리뷰할 때 판단 기준이 되기도 해요.
diff를 훑을 때 다음 순서로 보면 놓치는 게 적어요.
.cursorrules에 적어두면 매번 설명하지 않아도 돼요이런 실수는 대부분 "한 번에 끝내고 싶다"는 마음에서 나와요. Composer는 빠르지만 판단까지 대신해주지는 않아요. 사람이 범위를 정하고 결과를 확인하는 두 지점만 지키면 나머지 반복 작업은 도구가 알아서 처리해줍니다. 처음 한 주는 본인이 가장 잘 아는 모듈에서만 돌려보면서 이 레포가 어떻게 반응하는지 감을 잡는 걸 추천해요.
Cursor 0.46 업데이트 정리와 같이 읽으면 Cursor로 뭘 더 할 수 있는지 감이 와요. 리팩토링 자동화는 AI 에이전트 활용 사례 중에서도 투자 대비 수익이 제일 빠른 영역이에요.
30분이면 첫 커밋이 나와요. 한 번 경험해보면 "이걸 왜 지금까지 수동으로 했지" 싶어요. 처음부터 크게 욕심내지 말고, 실패해도 부담 없는 모듈에서 한 사이클을 끝까지 돌려보는 게 가장 빠른 학습 방법이에요.
Chat은 한 번에 한 파일 단위로 답변해요. Composer는 여러 파일을 동시에 수정·생성하면서 리뷰 UI까지 같이 띄워줘요. 리팩토링처럼 파일 5개 이상 건드리는 작업에 확실히 빨라요.
Hobby 플랜에선 Composer 자체는 열리지만, 월 50회 프리미엄 요청 한도가 금방 소진돼요. 실무 쓰려면 Pro(월 20달러) 정도는 필요했어요.
작은 커밋 단위로 끊어서 돌리세요. 규모가 큰 레거시 레포를 한 번에 맡기면 타입 에러가 무더기로 쏟아져요. 파일 3~5개씩 끊어서 맡기면 손으로 잡을 수 있는 수준까지 줄어요.
주석은 거의 완벽하게 이해해요. 한글 변수명·함수명도 의미 파악은 되는데, 네이밍 컨벤션 변경 요청은 종종 놓쳐요. Rules에 '한글 식별자 유지'라고 명시하면 안전해요.
0.46부터 네이티브 지원이에요. Filesystem, Git, PostgreSQL MCP를 켜두면 Composer가 자동으로 파일·히스토리·DB 스키마를 읽어서 리팩토링 제안에 반영해요. 초반 세팅 10분이면 끝나요.
Composer가 diff 뷰를 파일별로 분리해 보여줘요. 파일당 Accept/Reject를 바로 누를 수 있어요. 저는 테스트 파일부터 Accept 하고, 소스 파일은 변경 로그 한 번 더 확인해요.