AI 기반 레거시 마이그레이션, Cursor로 설계부터 마무리까지!
인수인계 부재(No Handover), 3개월 론칭 목표의 레거시 프로젝트를 Cursor AI를 활용해 성공적으로 마이그레이션(Migration) 완료
Cursor의 Rules, Skills, Subagent, Hooks를 활용하여 설계부터 실행, 마무리까지 일관된 마이그레이션(Migration) 프로세스 구축
AI 친화적인 구조로의 전환을 통해 변경 대응 속도(Change Response Speed) 획기적 개선 및 생산성 향상
정적/동적 컨텍스트(Static/Dynamic Context) 구분을 통해 AI의 효율적인 활용, 레거시 마이그레이션의 가성비(Cost-Effectiveness) 극대화
Cursor AI의 컨텍스트 관리: 정적 vs 동적
Cursor는 AI의 퀄리티를 높이기 위해 정적 컨텍스트(Static Context)와 동적 컨텍스트(Dynamic Context)를 구분하여 관리한다. 정적 컨텍스트는 프로젝트 규칙(.cursor/rules/), 코딩 컨벤션(Coding Convention), 아키텍처 가이드(Architecture Guide) 등 변경되지 않는 정보를 포함하며, Rules에 해당한다. 반면, 동적 컨텍스트는 현재 열린 파일, 선택한 코드, 채팅 히스토리(Chat History) 등 작업에 따라 바뀌는 정보를 포함하며, Skills에 해당한다.
Rules: “하지 마라 / 반드시 해라”와 같은 제약과 정책을 정의하며, 프로젝트 전체의 일관성을 유지하는 강력한 가이드라인(Strong Guidelines) 역할을 수행한다.
Skills: 특정 작업을 수행하는 레시피와 스크립트의 패키지로, Dynamic Context Discovery를 통해 필요한 시점에 상세 내용을 로드하여 토큰 낭비를 방지(Prevent Token Waste)한다.
Rules와 Skills의 구분 기준
저자는 기술, 프레임워크에 대한 전반적인 원칙은 Rules에, 특정 도메인, 작업에 대한 세부 워크플로우는 Skills에 둔다. 예를 들어, React(React)의 경우 “useMemo, useCallback 사용 지양”과 같은 프로젝트 전반에 적용되는 기준은 Rules로 정의하고, Modal(Modal)을 다루는 방법과 관련된 내용은 Skills로 정리한다.
Rules: 프로젝트 전반에 적용되는 근본적인 규칙(Fundamental Rules), 기술 스택(Tech Stack) 변경 시에도 유지되는 불변의 가이드라인
Skills: 특정 도메인, 작업에 대한 세부 워크플로우(Detailed Workflow), Modal, API 호출 등 구체적인 작업 수행을 위한 레시피
Subagents와 Hooks의 활용
Cursor는 Subagents와 Hooks를 통해 마이그레이션(Migration) 작업을 효율적으로 수행한다. Subagents는 메인 에이전트가 복잡한 하위 작업을 위임하는 독립된 에이전트로, 코드 리뷰어(Code Reviewer)나 코드 퀄리티 체크(Code Quality Check) 에이전트 등을 커스터마이징(Customizing)하여 활용할 수 있다. Hooks는 에이전트 루프의 특정 시점에 개입하여, 예를 들어 afterFileEdit 훅을 통해 파일 저장 시 pnpm format을 실행하여 코드 포맷팅 자동화(Code Formatting Automation)를 구현한다.
Subagents: 코드 리뷰, 켄트 벡(Kent Beck) 에이전트 등을 활용하여 코드 품질(Code Quality) 향상 및 협업 효율(Collaboration Efficiency) 증대
Hooks: afterFileEdit 훅을 사용하여 코드 저장 시 자동 포맷팅, AI가 추가 토큰을 소비하는 낭비 방지
마이그레이션(Migration) 성공을 위한 AI 활용
저자는 AI를 활용하여 인수인계 문서 부재(Lack of Documentation) 상황에서 프로젝트 분석을 수행하고, 모호했던 비즈니스 규칙(Business Rules)을 정리했다. 기존 컴포넌트 리팩토링(Refactoring)을 통해 49개 사용처에서 변경을 완료했으며, 채팅, 캘린더, 결제 등 6개의 기능을 추가하고 46개의 페이지를 수정했다. API 변경에 대한 대응도 Rules를 통해 빠르게 처리하여, 마이그레이션(Migration) 작업을 10분 내 완료(Completion within 10 minutes)하는 성과를 거두었다.
프로젝트 분석: AI를 활용하여 비즈니스 로직 분석 및 문서화, 모호한 규칙 명확화(Clarification of Ambiguous Rules)
API 변경 대응: Rules를 통해 API 변경에 대한 로직을 적절한 위치와 코드로 리팩토링, 유지보수성(Maintainability) 향상
마이그레이션(Migration) 이후의 변화
마이그레이션(Migration)을 통해 프로젝트는 AI 친화적인 구조로 탈바꿈했으며, 변경 대응 속도가 획기적으로 개선되었다. Rules와 Skills를 통해 “무엇을, 어떻게”를 고정함으로써, 향후 같은 프로젝트를 이어받는 사람(또는 AI)은 팀의 컨벤션에 맞춰 바로 작업을 이어갈 수 있게 되었다. AI를 활용한 마이그레이션 경험은 레거시 마이그레이션을 “가성비 나쁜 꺼리는 일”에서 “설계만 잘하면 빠르게 정리할 수 있는 일”로 바꾸는 계기가 되었다.
AI 친화적 구조: Rules와 Skills를 통해 프로젝트 지식 관리, 지속 가능한 개발 환경(Sustainable Development Environment) 구축
생산성 향상: 변경 대응 속도 개선, 개발 생산성(Development Productivity) 극대화