Gemini CLI는 단순히 질문하고 답변받는 도구를 넘어, 개발자의 워크플로우에 깊숙이 통합될 수 있는 강력한 잠재력을 가지고 있습니다. 기본 설정만으로도 훌륭하지만, 몇 가지 추가 설정을 통해 Gemini CLI를 단순한 ‘툴’이 아닌, 나의 작업 스타일과 프로젝트를 완벽하게 이해하는 ‘AI 비서’로 만들 수 있습니다.
이 글에서는 Gemini CLI의 핵심 설정부터 셸(Shell) 스크립트와 다른 라이브러리를 연동하는 고급 활용법까지, 당신의 생산성을 극대화할 수 있는 구체적인 방법들을 소개합니다.
1. 기본 다지기: GEMINI.md
로 AI의 정체성 부여하기
Gemini CLI의 가장 중요하고 기본적인 설정은 .gemini/GEMINI.md
파일에서 시작됩니다. 이 파일은 Gemini가 앞으로의 모든 대화에서 기억해야 할 ‘기본 지침’ 또는 ‘페르소나’를 정의하는 곳입니다. 매번 같은 지시를 반복할 필요 없이, 당신이 원하는 역할과 규칙을 미리 설정해 둘 수 있습니다.
설정 파일 위치:
사용자 홈 디렉토리의 .gemini/
폴더 안에 GEMINI.md
파일이 있습니다. (~/.gemini/GEMINI.md
)
핵심 활용 예시
A. 언어 및 응답 스타일 설정
가장 기본적인 설정입니다. 원하는 언어나 말투, 응답 형식을 지정할 수 있습니다.
# ~/.gemini/GEMINI.md
- 저는 항상 한국어로 답변합니다.
- 답변은 항상 명확하고 간결한 두괄식으로 구성해 주세요.
- 코드 예시는 항상 마크다운 코드 블록 안에 포함시켜 주세요.
B. 전문 페르소나 부여하기
Gemini를 특정 분야의 전문가로 설정하여 답변의 깊이를 더할 수 있습니다.
# ~/.gemini/GEMINI.md
- 당신은 10년차 시니어 백엔드 개발자입니다.
- 모든 답변은 기술적 깊이를 가지며, 안정성과 확장성, 보안을 최우선으로 고려해야 합니다.
- 코드 리뷰 요청 시, 단순히 문제를 지적하는 것을 넘어 항상 더 나은 대안 코드를 함께 제시해 주세요.
C. 프로젝트 컨텍스트 주입하기
현재 진행 중인 프로젝트의 기술 스택이나 규칙을 알려주면, Gemini는 해당 프로젝트에 맞는 답변을 생성합니다.
# ~/.gemini/GEMINI.md
- 현재 작업 중인 'BM-Works' 프로젝트는 Next.js(App Router), TypeScript, Tailwind CSS를 사용합니다.
- 새로운 컴포넌트 생성 시, 항상 이 기술 스택을 기반으로 코드를 작성해야 합니다.
- 상태 관리는 Jotai를 사용하며, 데이터 페칭에는 React Query(TanStack Query)를 활용합니다.
이처럼 GEMINI.md
파일을 잘 활용하는 것만으로도 Gemini는 당신의 의도를 훨씬 더 잘 파악하게 됩니다.
2. 고급 활용: 셸 스크립트로 나만의 ‘AI 명령어’ 만들기
진정한 개인 비서는 우리가 시키는 일만 하는 것이 아니라, 복잡한 작업을 단 한 번의 명령으로 처리해 줍니다. zsh
, bash
같은 셸의 alias
(별칭)나 function
(함수) 기능을 활용하면, Gemini CLI를 다른 명령어와 조합하여 강력한 자동화 도구를 만들 수 있습니다.
설정 파일 위치:
사용하는 셸에 따라 ~/.zshrc
, ~/.bashrc
등의 파일을 수정합니다.
A. Git 커밋 메시지 자동 생성: gcommit
git diff
로 변경된 코드 내용을 가져와 Gemini에게 전문적인 커밋 메시지를 작성하도록 요청하는 함수입니다.
# ~/.zshrc 또는 ~/.bashrc 에 추가
function gcommit() {
# Staged된 변경사항을 가져옵니다.
local diff_output=$(git diff --staged)
if [ -z "$diff_output" ]; then
echo "커밋할 변경사항이 없습니다."
return 1
fi
# Gemini에게 커밋 메시지 생성을 요청합니다.
local commit_message=$(echo "$diff_output" | gemini "다음 코드 변경사항에 대한 전문적인 커밋 메시지를 'Conventional Commits' 형식에 맞춰 작성해줘. 제목과 본문을 구분하고, 한글로 작성해줘.")
echo "--- 생성된 커밋 메시지 ---"
echo "$commit_message"
echo "-------------------------"
# 사용자에게 커밋 여부를 묻습니다.
read -q "REPLY?이 메시지로 커밋하시겠습니까? (y/n) "
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
git commit -m "$commit_message"
echo "커밋이 완료되었습니다."
else
echo "커밋이 취소되었습니다."
fi
}
사용법: 터미널에서 git add .
실행 후, gcommit
명령어만 입력하면 됩니다.
B. 코드 문서 자동 생성: gdoc
파일 내용을 읽어 해당 코드에 대한 기술 문서를 MarkDown 형식으로 생성하게 합니다.
# ~/.zshrc 또는 ~/.bashrc 에 추가
function gdoc() {
if [ -z "$1" ]; then
echo "문서를 생성할 파일명을 입력해주세요."
return 1
fi
# 파일 내용을 Gemini에게 전달하여 문서 생성을 요청합니다.
gemini "$(cat $1) 이 코드의 기능, 파라미터, 반환값, 그리고 사용 예시를 포함하는 MarkDown 형식의 기술 문서를 작성해줘."
}
사용법: gdoc src/utils/api.ts
와 같이 실행하면, 해당 파일에 대한 설명서가 터미널에 출력됩니다.
3. 시너지 극대화: 유용한 라이브러리 및 애드온 연동
Gemini CLI는 단독으로도 강력하지만, 다른 터미널 도구들과 함께 사용될 때 그 진가가 발휘됩니다.
fzf
(Command-line fuzzy finder): 파일이나 히스토리를 빠르게 검색하고, 그 결과를 Gemini에게 파이핑하여 질문하는 환상적인 조합을 만들 수 있습니다.- 예시:
cat $(fzf) | gemini "이 코드에서 버그가 발생할 수 있는 부분을 찾아줘."
- 예시:
jq
(Command-line JSON processor): API 응답이나 로그에서 받은 복잡한 JSON 데이터를jq
로 정제한 후 Gemini에게 넘겨주면, 훨씬 더 정확하고 원하는 정보만 요약해서 받을 수 있습니다.- 예시:
curl -s 'API_ENDPOINT' | jq '.data.items[] | .name' | gemini "이 목록을 보고 가장 인기있을 것 같은 아이템 3개만 추천해줘."
- 예시:
bat
(cat
clone with syntax highlighting):cat
대신bat
을 사용하면 코드를 더 읽기 좋게 볼 수 있으며, 이 결과를 파이핑할 때도 유용합니다.
결론: 당신만의 AI를 조각하세요
Gemini CLI는 정해진 틀에 맞춰 사용하는 도구가 아닙니다. 오히려 사용자의 필요에 따라 무한히 확장될 수 있는 ‘플랫폼’에 가깝습니다. 오늘 소개한 GEMINI.md
설정, 셸 함수, 그리고 다른 라이브러리와의 연동은 그 시작점일 뿐입니다.
자신만의 워크플로우를 고민하고, 반복적인 작업을 찾아내어 Gemini CLI를 활용한 자동화 스크립트를 만들어보세요. 당신의 손끝에서 Gemini CLI는 단순한 AI 챗봇을 넘어, 개발의 모든 과정을 함께하는 든든한 맞춤형 비서로 거듭날 것입니다.