IT

Mac에서 AI로 코드 자동 수정하는 CLI 만들기 (복붙 없이 자동화)

초코모찌롤 2026. 3. 26. 19:52
반응형

Mac에서 AI로 코드 자동 수정하는 CLI 만들기 (복붙 없이 자동화)

이전 글에서 OpenAI CLI를 설치했다면 이제 한 단계 더 나아갈 차례다. 이번 글에서는 AI를 활용해 코드 파일을 자동으로 수정하는 CLI를 직접 만들어본다.

복사 → 붙여넣기 없이 파일을 읽고 → AI로 수정하고 → 자동 반영까지 구현하는 것이 목표다.


1. 목표 구조

Swift 파일 → AI 요청 → 수정된 코드 → 파일 덮어쓰기

이 흐름을 CLI로 자동화하면 반복적인 리팩토링 작업을 크게 줄일 수 있다.


2. 사전 준비

아래 환경이 준비되어 있어야 한다.

  • Node.js 설치
  • OpenAI CLI 설치
  • API Key 설정 완료

(설치 방법은 2편 참고)


3. 자동 수정 스크립트 만들기

터미널에서 스크립트를 생성한다.

touch codex-fix.sh
chmod +x codex-fix.sh

4. 스크립트 코드 작성

#!/bin/bash

FILE=$1
PROMPT=$2

if [ -z "$FILE" ]; then
  echo "파일 경로를 입력하세요"
  exit 1
fi

CONTENT=$(cat "$FILE")

RESPONSE=$(openai responses.create \
  -m gpt-4.1 \
  -i "다음 Swift 코드를 수정해라:\n\n$CONTENT\n\n요구사항:\n$PROMPT\n\n수정된 전체 코드를 반환해라.")

# 백업 파일 생성
cp "$FILE" "$FILE.bak"

# 수정 결과 덮어쓰기
echo "$RESPONSE" > "$FILE"

echo "수정 완료: $FILE"

5. 사용 방법

./codex-fix.sh NetworkClient.swift "async/await 구조로 리팩토링"

실행하면 다음이 자동으로 진행된다.

  • 파일 읽기
  • AI로 코드 수정 요청
  • 백업 생성
  • 파일 자동 덮어쓰기

6. 실전 활용 예시

네트워크 코드 리팩토링

./codex-fix.sh NetworkClient.swift "Alamofire 기반 async/await 구조로 변경"

코드 스타일 개선

./codex-fix.sh HomeViewController.swift "가독성 좋게 리팩토링"

Crashlytics 코드 추가

./codex-fix.sh AppDelegate.swift "Crashlytics 사용자 정보 추가"

7. 위험 요소 (중요)

자동 덮어쓰기는 강력하지만 위험할 수 있다.

  • 코드가 깨질 수 있음
  • 의도하지 않은 변경 발생
  • 전체 파일이 덮어쓰기됨

반드시 백업 파일(.bak)을 유지하는 것을 권장한다.


8. 더 안전하게 만드는 방법

1. 특정 함수만 수정

sed -n '/func fetchData/,/}/p' NetworkClient.swift

전체 파일이 아니라 필요한 부분만 수정할 수 있다.

2. Git 기반 diff 적용

git diff

AI에게 전체 코드 대신 변경(diff)만 적용하도록 하면 안정성이 높아진다.

3. 테스트 후 적용

  • 임시 파일에 먼저 저장
  • 검토 후 반영

9. 한 단계 더 발전시키기

이 구조를 확장하면 다양한 자동화가 가능하다.

  • 여러 파일 동시에 수정
  • 특정 폴더만 대상 처리
  • CI/CD 자동 코드 수정
  • 코드 스타일 자동 적용

10. 정리

AI CLI를 활용하면 단순 코드 생성이 아니라 코드 수정까지 자동화할 수 있다.

  • 반복 작업 제거
  • 리팩토링 자동화
  • 개발 속도 향상

다음 글 예고

다음 글에서는 로컬에서 AI를 실행하는 방법을 소개한다. (인터넷 없이 사용하는 AI 환경 구축)


📌 AI CLI 시리즈

반응형