본문으로 건너뛰기
최서희Frontend Engineer
← 블로그

Projects

AI 페어 프로그래머 + 코드자동화: Cursor로 생산성 3배 높이기

· 3분 읽기

사용 툴: Cursor (Claude Sonnet 4.5 기반 AI 페어 프로그래밍 IDE)


1. 프로젝트 전체의 틀을 세우다


# RINGLE AI TUTOR – Cursor Development Rules

## Project Context
- Monorepo 구조
  - backend/: Ruby 3.3.5 + Rails 7.1.3 (API only, SQLite dev) - web/: React + TypeScript + Vite + pnpm - 개발 서버 - Rails → http://localhost:3000 - Web → http://localhost:5173 - 프론트엔드에서 백엔드 호출 시 axios 사용 - Base URL = import.meta.env.VITE_API_BASE_URL ?? 'http://localhost:3000' ## Development Workflow Rules ### 1. Scaffold conventions Whenever user says “scaffold X”, follow these steps: 1. 생성 또는 업데이트할 파일 목록 제시 (절대 경로) 2. 각 파일 별 코드 블록 제공 3. Rails일 경우 routes 업데이트 / 프론트엔드일 경우 API wrapper 추가 4. 최소한의 테스트 포함 (RSpec + Vitest) 5. 마지막에 “How to run/verify” 섹션 포함 ### 2. Error handling When user pastes an error: - 원인 명확히 설명 - 정확한 수정 내용 (파일 + diff) 제공 - 빠른 검증 명령어 제시 ### 3. Refactoring When user says “refactor”: - public interface 변화 없이 유지 - “Before / After” 설명 포함 - 테스트 통과 유지 ### 4. File reference requirement Always include 절대 파일 경로 예시: ``` backend/app/controllers/api/v1/health_controller.rb web/src/lib/api.ts ``` ### 5. Tests required … (생략)

왜 이렇게 규칙을 정했나

  • 일관성: AI가 동일 패턴으로 응답하게 유도
  • 완전성: 파일 생성부터 테스트까지 누락없이 흐름 확보
  • 품질: 코드 스타일/구조 통일 → 유지보수 수월

2. 단계별 워크플로우 실천

Phase 1 – 아키텍처 설계

프롬프트 예시 “Rails API only 모드 + React 모노레포 구조 설정해줘 - CORS 설정 포함 - pnpm 통합 실행 스크립트 - 환경별 설정 분리”

성과: 5분 내 통합 개발 환경 실행 가능으로 전환

Phase 2 – TDD 방식 모델 개발

프롬프트 예시 “MembershipType 모델 구현해줘 - features: JSON 배열, 학습/대화/분석만 허용 - duration_days: 양수 검증 - RSpec + Shoulda Matchers 테스트 포함”

성과: 테스트 14개, 0 실패로 견고한 코드 기초 마련

Phase 3 – 리팩토링 및 최적화

프롬프트 예시 “UserMembershipsController와 Admin::UserMembershipsController에서 중복 코드 찾아서 Concern으로 추출해줘”

성과: 코드 라인 수 감소 (40줄 → 28줄), 테스트 통과 유지

Phase 4 – 복잡 요구사항 구현

프롬프트 예시 “쿠폰 중복 차감 방지 로직 구현해줘 - 프론트엔드: useRef로 재렌더링 대응 - 백엔드: remaining_count 검증 - DB: Active scope에 remaining_count > 0 추가 - ChatController에서 쿠폰 차감 제거”

성과: 실제 서비스 수준의 중복 방지 구현 및 검증 완료


3. 검증 → 수정 → 다시 검증 루프

  1. AI가 코드 생성 → 즉시 테스트 실행 (bundle exec rspec)
  2. 실패 시: 에러 로그 복사 → AI에게 컨텍스트와 함께 수정 요청
  3. 수정된 코드 다시 검증 → 통과 확인 → 다음 단계로 진행

예: “UserMembership 모델 만들어줘” → 테스트 실패 → AI에게 수정 요청 → 재검증 후 20 examples 0 failures


4. 얻은 인사이트 & 추천 팁

  • 프롬프트 품질 = 결과 품질: 역할 + 맥락 + 과제 + 출력 형식 구조화
  • 단계별 요청이 유리: 설계 → 구현 → 테스트 → 리팩토링
  • AI는 도구: 생성한 코드는 반드시 리뷰/검증해야 함
  • 생산성 향상 사례: 반복 작업 시간 대폭 감소 · 코드 품질 및 일관성 향상 · 리팩토링 빈도/난이도 감소

댓글

GitHub 계정으로 댓글을 남길 수 있어요.