학습 목표
- Cursor의 통합 터미널 기능 이해하기
- AI 지원 명령어 실행 방법 익히기
- 터미널과 에디터 간 시너지 활용하기
- 자동화된 개발 워크플로우 구축하기
- 문제 해결을 위한 터미널 활용법 마스터하기
Cursor 터미널 소개
Cursor의 통합 터미널은 단순한 명령줄 인터페이스가 아닙니다. AI가 명령어를 제안하고, 오류를 해결하며, 복잡한 작업을 자동화할 수 있는 지능형 터미널입니다.
터미널의 주요 특징
AI 명령어 제안
상황에 맞는 명령어를 자동으로 제안
에러 자동 해결
오류 발생 시 AI가 해결책 제시
에디터 연동
터미널 출력을 바로 코드에 반영
명령어 히스토리
프로젝트별 명령어 기록 관리
터미널 기본 사용법
터미널 열기
가장 빠른 방법: 백틱 키로 즉시 열기
메뉴를 통한 열기
터미널 인터페이스
added 1350 packages, and audited 1351 packages in 45s found 0 vulnerabilities
npm run dev
AI 지원 기능
1. 자연어로 명령어 요청
복잡한 명령어를 외울 필요 없이 자연어로 요청하세요:
다음 명령어를 실행합니다:
find . -name "*.js" -mtime -3
다음 명령어를 실행합니다:
git diff --name-only main
2. 에러 자동 해결
$ npm start npm ERR! missing script: start
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. 디버깅과 로그 분석
에러 추적과 해결
"에러 로그에서 'undefined' 관련 내용 찾아줘"
grep -n "undefined" logs/*.log | tail -20
"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가 최적화된 명령어 체인을 생성합니다.