gemini cli 관련 팁 입니다. 기본적인 내용이나 세부적인 내용 중 빠진게 있을 수 있으니, 공식 문서도 참고해주세요.
checkpoint 등 세부적인 내용은 사용해본 적이 없어, 아직 다루지 않았습니다.
출처
https://github.com/google-gemini/gemini-cli
GitHub - google-gemini/gemini-cli: An open-source AI agent that brings the power of Gemini directly into your terminal.
An open-source AI agent that brings the power of Gemini directly into your terminal. - google-gemini/gemini-cli
github.com
settings.json 더 많은 설정 내용들 : https://github.com/google-gemini/gemini-cli/blob/main/docs/cli/configuration.md
명령어 관련 : https://github.com/google-gemini/gemini-cli/blob/main/docs/cli/commands.md
명령어 관련
@<파일명 혹은 디렉토리명>
기능 : 지정된 파일의 내용을 현재 프롬프트에 삽입(예: @ docs/docs.md 를 읽고, 다음 기능을 구현해줘)
기본적으로 .gitignore에 작성된 내용은 제외됩니다. 이는 settings.json에서 fileFiltering를 통해 변경가능
/memory <add|show|refresh> <text>
기능 : AI에게 영구적으로 기억시킬 내용을 관리(예 : 앞으로 ~~게 답변, ~~게 수정해줘)
/compress
기능 : 전체 채팅 내용을 요약으로 바꿈. 이렇게 하면 향후 작업에 사용되는 토큰 절약
사용 모델 2.5 pro 고정 방법
~/.gemini/settings.json 값에 다음 key-value를 추가
"GEMINI_MODEL":"gemini-2.5-pro"
(데이터) 적용되는 우선순위
순서대로 적용됩니다. 1번에 데이터가 없으면 2번에서 확인, 2번에 없으면 3번에서 확인....
- CLI로 전달되는 값(gemini에 명령하는 내용)
- 환경 변수
- 프로젝트 설정 파일(프로젝트 내 설정 파일)
- 사용자(전역) 설정 파일(홈 디렉토리의 설정 파일)
사용자(전역) 설정 파일 (settings.json)
위치 : ~/.gemini/settings.json (홈 디렉토리 위치)
범위: 현재 사용자의 모든 Gemini CLI 사용에 적용됨
프로젝트 설정 파일 (settings.json)
위치 : .gemini/settings.json (프로젝트 디렉토리 내 위치)
범위: 해당 프로젝트에서 Gemini CLI를 실행할 때 적용
settings.json 설정 내용
공식 문서에 더 많은 설정들이 존재하니, 꼭 보시는걸 추천합니다.
contextFileName
설명: 컨텍스트 파일의 파일 이름을 지정. 단일 파일 이름 또는 허용되는 파일 이름 목록일 수 있음.
기본: GEMINI.md
예: "contextFileName": "AGENTS.md" 혹은 "contextFileName": ["AGENTS.md", "GEMINI.md"]
mcpServers
설명: 사용자 지정 도구를 검색하고 사용하기 위해 하나 이상의 MCP 서버에 대한 연결을 구성
- 속성:
- <SERVER_NAME>(객체): 지정된 서버에 대한 서버 매개변수입니다.
- command(문자열, 필수): MCP 서버를 시작하기 위해 실행할 명령입니다.
- args(문자열 배열, 선택 사항): 명령에 전달할 인수입니다.
- env(객체, 선택 사항): 서버 프로세스에 설정할 환경 변수입니다.
- cwd(문자열, 선택 사항): 서버를 시작할 작업 디렉토리입니다.
- timeout(숫자, 선택 사항): 이 MCP 서버에 대한 요청에 대한 시간 초과(밀리초)입니다.
- trust(부울, 선택 사항): 이 서버를 신뢰하고 모든 도구 호출 확인을 무시합니다.
- <SERVER_NAME>(객체): 지정된 서버에 대한 서버 매개변수입니다.
예시 :
"mcpServers": {
"myPythonServer": {
"command": "python",
"args": ["mcp_server.py", "--port", "8080"],
"cwd": "./mcp_tools/python",
"timeout": 5000
},
"myNodeServer": {
"command": "node",
"args": ["mcp_server.js"],
"cwd": "./mcp_tools/node"
},
"myDockerServer": {
"command": "docker",
"args": ["run", "i", "--rm", "-e", "API_KEY", "ghcr.io/foo/bar"],
"env": {
"API_KEY": "$MY_API_TOKEN"
}
},
}
