제8강: 터미널 통합과 명령어 실행

Cursor 안에서 모든 개발 작업을 완성하는 통합 환경

난이도: 초급 예상 시간: 35분 카테고리: 기초

학습 목표

  • Cursor의 통합 터미널 기능 이해하기
  • AI 지원 명령어 실행 방법 익히기
  • 터미널과 에디터 간 시너지 활용하기
  • 자동화된 개발 워크플로우 구축하기
  • 문제 해결을 위한 터미널 활용법 마스터하기

Cursor 터미널 소개

Cursor의 통합 터미널은 단순한 명령줄 인터페이스가 아닙니다. AI가 명령어를 제안하고, 오류를 해결하며, 복잡한 작업을 자동화할 수 있는 지능형 터미널입니다.

터미널의 주요 특징

AI 명령어 제안

상황에 맞는 명령어를 자동으로 제안

에러 자동 해결

오류 발생 시 AI가 해결책 제시

에디터 연동

터미널 출력을 바로 코드에 반영

명령어 히스토리

프로젝트별 명령어 기록 관리

터미널 기본 사용법

터미널 열기

Cmd/Ctrl + `

가장 빠른 방법: 백틱 키로 즉시 열기

메뉴를 통한 열기

터미널 인터페이스

터미널
~/my-project $ npm install
added 1350 packages, and audited 1351 packages in 45s
found 0 vulnerabilities
🤖 다음 명령어를 실행하시겠습니까? npm run dev

AI 지원 기능

1. 자연어로 명령어 요청

복잡한 명령어를 외울 필요 없이 자연어로 요청하세요:

@ "3일 이내에 수정된 .js 파일 찾아줘"

다음 명령어를 실행합니다:

find . -name "*.js" -mtime -3
@ "현재 브랜치에서 main 브랜치와 다른 파일들 보여줘"

다음 명령어를 실행합니다:

git diff --name-only main

2. 에러 자동 해결

$ npm start
npm ERR! missing script: start
🤖 AI 해결책

package.json에 start 스크립트가 없습니다. 다음 중 하나를 선택하세요:

3. 명령어 체인 생성

여러 명령어를 연결하여 복잡한 작업을 자동화:

"프로젝트를 빌드하고, 테스트 실행한 다음, 성공하면 배포해줘"

npm run build && npm test && npm run deploy

설명:

  • && 연산자로 이전 명령이 성공할 때만 다음 실행
  • 빌드 → 테스트 → 배포 순서로 진행
  • 어느 단계에서든 실패하면 중단

실전 활용 시나리오

1. 프로젝트 초기 설정

자연어 요청

"새 React 프로젝트를 TypeScript로 설정하고 필요한 라이브러리 설치해줘"

AI가 생성한 명령어

# React + TypeScript 프로젝트 생성
npx create-react-app my-app --template typescript

# 프로젝트 디렉토리로 이동
cd my-app

# 추가 라이브러리 설치
npm install axios react-router-dom @types/react-router-dom

# ESLint와 Prettier 설정
npm install --save-dev eslint prettier eslint-config-prettier

# 개발 서버 시작
npm start

2. Git 워크플로우

브랜치 관리와 커밋

"새 기능을 위한 브랜치 만들고 체크아웃해줘"

git checkout -b feature/user-authentication

"변경사항 확인하고 커밋 준비해줘"

git status && git diff

"모든 변경사항을 의미있는 메시지로 커밋해줘"

git add . && git commit -m "feat: Add user authentication with JWT"

3. 디버깅과 로그 분석

에러 추적과 해결

"3000번 포트를 사용 중인 프로세스 확인해줘"

lsof -i :3000

터미널과 에디터 연동

출력 결과를 코드로 변환

$ npm list --depth=0

my-app@1.0.0
├── react@18.2.0
├── react-dom@18.2.0
├── axios@1.4.0
└── react-router-dom@6.11.0

AI: "이 의존성 목록을 README.md에 추가할까요?"

터미널 명령어로 코드 생성

환경 변수 파일 생성

echo "REACT_APP_API_URL=http://localhost:3001" > .env

AI: ".env 파일이 생성되었습니다. .gitignore에 추가하시겠습니까?"

고급 터미널 기능

1. 멀티 터미널 관리

여러 터미널을 동시에 실행하여 효율적으로 작업:

터미널 1: 개발 서버

npm run dev

터미널 2: 테스트 감시

npm test -- --watch

터미널 3: 빌드 프로세스

npm run build:watch

2. 커스텀 스크립트 자동화

자주 사용하는 명령어를 스크립트로 저장:

package.json 스크립트

{
  "scripts": {
    "dev": "concurrently \"npm run server\" \"npm run client\"",
    "setup": "npm install && npm run db:migrate && npm run seed",
    "deploy": "npm run test && npm run build && npm run deploy:prod",
    "clean": "rm -rf node_modules dist && npm cache clean --force"
  }
}

💡 AI 팁: "복잡한 작업을 위한 스크립트를 만들어달라고 요청하세요"

3. 터미널 출력 파싱

AI가 터미널 출력을 분석하여 인사이트 제공:

webpack 5.91.0 compiled with 3 warnings in 2456 ms
WARNING in asset size limit: bundle.js (1.2 MiB)
WARNING in entrypoint size limit: main (1.2 MiB)

AI 분석:

  • 번들 크기가 1.2MB로 권장 크기를 초과
  • 코드 스플리팅 적용 권장
  • 불필요한 의존성 제거 필요

실습: 풀스택 프로젝트 설정

터미널을 활용한 완전한 개발 환경 구축

AI 지원 터미널을 사용하여 풀스택 프로젝트를 처음부터 설정해봅시다.

Step 1: 프로젝트 구조 생성

자연어로 요청:

"fullstack-app이라는 폴더를 만들고 client와 server 서브폴더 구조를 만들어줘"

예상 명령어:

mkdir fullstack-app && cd fullstack-app
mkdir client server
touch README.md .gitignore
echo "# Fullstack App" > README.md

Step 2: 백엔드 설정

server 폴더에서:

"Express 서버를 TypeScript로 설정하고 필요한 미들웨어 설치해줘"

AI가 다음과 같은 명령어들을 실행할 것입니다:

cd server
npm init -y
npm install express cors dotenv
npm install -D typescript @types/express @types/node @types/cors nodemon ts-node
npx tsc --init

Step 3: 프론트엔드 설정

client 폴더에서:

"React 앱을 Vite로 생성하고 Tailwind CSS 설정해줘"

Step 4: 동시 실행 설정

루트 폴더에서:

"client와 server를 동시에 실행할 수 있는 스크립트 만들어줘"

결과:

npm install -D concurrently
# package.json에 스크립트 추가
"scripts": {
  "dev": "concurrently \"npm run server\" \"npm run client\"",
  "server": "cd server && npm run dev",
  "client": "cd client && npm run dev"
}

🏆 도전 과제

  • Docker 설정 추가하기
  • GitHub Actions CI/CD 파이프라인 설정
  • 데이터베이스 마이그레이션 스크립트 작성
  • 환경별 설정 파일 관리

문제 해결 팁

권한 오류 해결

문제: "Permission denied" 오류

sudo npm install -g package-name

더 나은 해결책: npm 전역 디렉토리 변경

npm config set prefix ~/.npm-global

포트 충돌 해결

문제: "Port 3000 is already in use"

AI에게 요청: "3000번 포트 사용 중인 프로세스 종료해줘"

kill -9 $(lsof -t -i:3000)

느린 npm install 개선

캐시 정리 및 재설치:

npm cache clean --force && rm -rf node_modules && npm install

또는 yarn이나 pnpm 사용 고려

핵심 정리

AI 지원 터미널

자연어로 명령어를 요청하고, AI가 복잡한 명령어를 생성해줍니다.

에러 자동 해결

터미널 오류 발생 시 AI가 즉시 해결책을 제시하고 적용할 수 있습니다.

통합 개발 환경

터미널과 에디터가 긴밀하게 연동되어 효율적인 개발 워크플로우를 구축할 수 있습니다.

자동화 가능

반복적인 작업을 스크립트로 만들고 AI가 최적화된 명령어 체인을 생성합니다.

다음 강의 예고

다음 강의에서는 디버깅과 에러 해결을 위한 Cursor의 고급 기능들을 배웁니다.

다음 강의로 이동
8/30 완료