Gemini CLI (Command Line Interface)는 개발자가 터미널 환경에서 Gemini 3 Pro의 강력한 기능을 활용하여 코딩, 디버깅, 문서화 등의 작업을 효율적으로 수행할 수 있도록 돕는 도구입니다.
1. 전제 조건 및 설치
1.1. 전제 조건
- Node.js: Node.js가 시스템에 설치되어 있어야 합니다. (버전 18 이상 권장)
- API Key: Google AI Studio 또는 Google Cloud 콘솔에서 Gemini API 키를 발급받아야 합니다.
팁: API 키는 보안상 노출되지 않도록 환경 변수로 설정하는 것이 좋습니다.
1.2. Gemini CLI 설치 명령어
터미널을 열고 다음 명령어를 실행합니다.
npm install -g @google/gemini-cli@latest
1.3. API Key 설정
설치 후, Gemini CLI가 API 키를 사용하도록 설정해야 합니다.
gemini /set-key
위 명령어를 실행하면 API 키를 입력하라는 메시지가 표시됩니다. 발급받은 키를 입력하고 Enter를 누릅니다.
2. Gemini CLI 기본 사용법
2.1. 대화형 모드 (Interactive Mode)
gemini 명령을 단독으로 실행하면 대화형 세션이 시작됩니다. 이 모드에서는 AI와 연속적인 대화를 나눌 수 있습니다.
$ gemini
# Welcome to the Gemini CLI. Type /help for help.
> 파이썬으로 현재 디렉토리의 모든 `.js` 파일을 찾는 스크립트를 작성해 줘.
종료 명령어: Ctrl + C 또는 /exit
2.2. 단일 프롬프트 모드 (Single-Prompt Mode)
단일 질문에 대한 답변을 받고 바로 터미널로 돌아옵니다.
$ gemini "자바스크립트 배열 메서드 중 'map'과 'filter'의 차이점을 설명해 줘."
2.3. 파일 기반 작업
파일 내용을 프롬프트에 포함하여 특정 작업을 수행하게 할 수 있습니다.
예시: 코드 분석 및 설명 요청
$ gemini "다음 파이썬 스크립트가 무슨 일을 하는지 단계별로 자세히 설명해 줘: $(cat my_script.py)"
3. Gemini 3 Pro 핵심 기능 활용 예시
예시 A: 코드 생성 및 수정 (Pipe 기능 활용)
목표: Python으로 작성된 기존 코드를 Go 언어로 변환합니다.
# 1. 기존 파이썬 파일의 내용을 gemini로 전달합니다.
# 2. gemini는 이를 Go 언어로 변환하는 작업을 수행합니다.
$ cat example.py | gemini "이 코드를 Go 언어의 관용적인(idiomatic) 스타일로 변환해 줘." > example.go
예시 B: 셸 명령어 생성 및 실행 (Shell 모드)
Gemini CLI는 사용자의 요청에 따라 셸 명령어를 생성하고, 사용자의 동의를 받아 즉시 실행할 수 있습니다.
$ gemini /shell
# Welcome to the Gemini CLI shell mode.
> 현재 디렉토리와 모든 하위 디렉토리에서 'TODO' 주석이 포함된 모든 파일을 찾아줘.
사용자가 Y를 입력하면 명령이 즉시 실행됩니다.
예시 C: 에러 메시지 분석 및 디버깅
목표: 터미널에 출력된 복잡한 에러 메시지를 이해하고 해결 방법을 찾습니다.
# 1. 에러가 발생한 명령어와 출력을 복사합니다.
# 2. gemini에게 분석을 요청합니다.
$ gemini "다음 오류 메시지를 분석하고 가능한 해결책을 3가지 제안해 줘: [여기에 긴 에러 메시지를 붙여넣습니다]"
4. 고급 설정 (/settings 명령)
gemini /settings 명령을 통해 모델의 동작을 조정할 수 있습니다.
| 설정 | 설명 | Gemini 3 Pro에서 중요성 |
|---|---|---|
| Model | 사용할 Gemini 모델을 선택합니다. | gemini-3-pro-preview-11-2025로 설정해야 최신 기능을 사용할 수 있습니다. |
| Temperature | 답변의 무작위성(창의성)을 조절합니다. | 코드나 사실 기반 질문에는 낮게 (0.0), 창의적인 글쓰기에는 높게 (0.8+) 설정합니다. |
| Thinking Level | 모델이 답변을 생성하기 전에 얼마나 깊이 추론할지 설정합니다. | 복잡한 문제 해결 시 High 또는 Dynamic을 선택하여 정확도를 높일 수 있습니다. |