1. 소개
이 Codelab에서는 Gemini의 기능을 터미널에서 직접 사용할 수 있도록 지원하는 오픈소스 AI 에이전트인 Gemini CLI에 대해 알아봅니다.
학습할 내용
- Gemini CLI 설치 및 구성
- Gemini CLI에서 도구, 기본 제공 명령어 살펴보기 및 MCP 서버 구성
GEMINI.md파일을 통해 Gemini CLI 맞춤설정- Gemini CLI로 몇 가지 사용 사례 살펴보기
필요한 항목
이 Codelab은 Gemini CLI가 사전 설치된 Google Cloud Shell 내에서 완전히 실행할 수 있습니다.
자체 머신에서 작업하려면 Gemini CLI를 로컬로 설치하는 섹션을 참고하세요.
다음이 필요합니다.
- Chrome 웹브라우저
- Gmail 계정
이 Codelab은 초보자를 포함한 모든 수준의 사용자 및 개발자를 위해 설계되었습니다. Codelab의 사용 사례는 개발자 작업과 비개발자 작업으로 분류되었습니다. 개발자 사용 사례에서는 Gemini CLI로 코드를 분위기에 맞게 조정하고 GitHub 저장소와 협업하여 코드 설명/이해, 문서 생성, 문제 해결 등 일반적인 개발 작업을 수행하는 방법을 보여줍니다. Codelab에서 이러한 사용 사례를 완료하는 것이 좋습니다. 마지막에는 개발자 중심이 아닌 여러 일상적인 작업을 다루는 선택사항 섹션이 있습니다.
2. 시작하기 전에
프로젝트 만들기
- Google Cloud 콘솔의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.
- Cloud 프로젝트에 결제가 사용 설정되어 있어야 하므로 프로젝트에 결제가 사용 설정되어 있는지 확인하는 방법을 알아보세요.
- bq가 미리 로드되어 제공되는 Google Cloud에서 실행되는 명령줄 환경인 Cloud Shell을 사용합니다. Google Cloud 콘솔 상단에서 Cloud Shell 활성화를 클릭합니다.

- Cloud Shell에 연결되면 다음 명령어를 사용하여 인증이 완료되었고 프로젝트가 해당 프로젝트 ID로 설정되었는지 확인합니다.
gcloud auth list
- Cloud Shell에서 다음 명령어를 실행하여 gcloud 명령어가 프로젝트를 알고 있는지 확인합니다.
gcloud config list project
- 프로젝트가 설정되지 않은 경우 다음 명령어를 사용하여 설정합니다.
gcloud config set project <YOUR_PROJECT_ID>
3. 설치
설정을 진행하고 Gemini CLI를 실행하기 전에 폴더를 만들어 보겠습니다. 이 폴더는 그 안에 생성하는 모든 프로젝트의 홈 폴더로 사용됩니다. 이는 Gemini CLI가 작동하는 시작점입니다. 필요에 따라 시스템의 다른 폴더도 참조하며 이는 나중에 다루게 됩니다.
샘플 폴더 (gemini-cli-projects)를 만들고 아래 표시된 명령어를 통해 해당 폴더로 이동합니다. 다른 폴더 이름을 사용해도 됩니다.
mkdir gemini-cli-projects
해당 폴더로 이동합니다.
cd gemini-cli-projects
gemini 명령어를 통해 Gemini CLI를 직접 실행할 수 있습니다.
다음 섹션 (settings.json을 통한 Gemini CLI 구성)으로 바로 이동하세요.
Gemini CLI를 로컬로 설치하려면 아래 안내를 따르세요.
첫 번째 단계는 머신에 Node 20 이상을 설치하는 것입니다. 이 작업이 완료되면 다음 방법 중 하나를 통해 Gemini CLI를 설치하고 실행할 수 있습니다.
- 먼저 시스템에 Gemini CLI를 전역적으로 설치할 수 있습니다. 이 단계를 수행하려면 관리자 액세스 권한이 필요할 수 있습니다.
# option 1: install Gemini CLI
npm install -g @google/gemini-cli
# .. and then run
gemini
- 다음 명령어를 사용하여 실행합니다.
# option 2: run without installing Gemini CLI
npx https://github.com/google-gemini/gemini-cli
다음을 실행하여 CLI가 설치되었는지 확인할 수 있습니다.
gemini --version
위의 방법 중 하나를 통해 Gemini CLI를 실행했다고 가정하면 테마 선택을 묻는 다음 화면이 표시됩니다. 다음 중 원하는 것을 선택하세요.

이 옵션을 선택하면 인증 방법을 묻는 메시지가 표시됩니다. 이 실습에서는 개인 Google 계정을 사용하고 Google 이외의 계정이나 Google Workspace 관련 계정은 사용하지 않는 것이 좋습니다. 이 무료 라이선스를 통해 Gemini 2.5 Pro와 100만 토큰 컨텍스트 윈도우를 사용할 수 있습니다. 무료 등급에서는 분당 60개의 모델 요청과 일일 1,000개의 요청을 무료로 허용합니다.
Google 계정에 제공되는 현재 무료 할당량에 도달한 경우 Gemini API 키 또는 Google Cloud Vertex AI를 사용할 수 있습니다. 이 경우 프로젝트 ID와 해당 프로젝트의 위치 이름이 필요합니다. 다른 인증 방법을 사용하려는 경우 문서의 인증 섹션을 참고하세요.

Enter를 클릭합니다. 그러면 브라우저에서 Google 인증 페이지가 열립니다. Google 계정으로 인증을 진행하고 약관에 동의하면 인증이 완료된 후 Gemini CLI가 준비되어 명령을 기다리고 있는 것을 확인할 수 있습니다. 샘플 스크린샷은 아래에 나와 있습니다.

4. settings.json을 통한 Gemini CLI 구성
Cloud Shell을 선택하여 Gemini를 실행하면 Gemini CLI의 기본 테마와 인증 방법이 이미 선택되고 구성됩니다.
머신에 Gemini CLI를 설치하고 처음 실행한 경우 테마와 인증 방법을 선택했습니다.
이제 Gemini CLI를 다시 실행할 때 테마와 인증 방법을 다시 선택하라는 메시지가 표시되지 않습니다. 즉, 어딘가에 지속되고 사용되는 파일은 settings.json라고 하며 Gemini CLI를 맞춤설정하는 방법입니다.
설정은 다음 우선순위에 따라 적용됩니다 (Cloud Shell에서는 사용자 설정만 사용할 수 있음).
- 시스템:
/etc/gemini-cli/settings.json(모든 사용자에게 적용되며 사용자 및 워크스페이스 설정을 재정의함) - 작업공간:
.gemini/settings.json(사용자 설정을 재정의함) - 사용자:
~/.gemini/settings.json
Windows 사용자: %USERPROFILE%.gemini\settings.json (일반적으로 C:\Users<YourUsername>.gemini\settings.json으로 확장됨)
시스템: %ProgramData%\gemini-cli\settings.json (일반적으로 C:\ProgramData\gemini-cli\settings.json으로 확장됨)
Mac 사용자: ~/.gemini/settings.json(/Users/<YourUsername>/.gemini/settings.json으로 확장됨)
시스템: /etc/gemini-cli/settings.json
테마를 선택할 때 사용자 설정에 설정이 저장되도록 선택한 경우 ~/.gemini folder을 방문하면 settings.json 파일이 표시됩니다.
내 settings.json 파일은 아래와 같습니다. 다른 테마를 선택한 경우 해당 이름이 표시됩니다.
{
"theme": "Default",
"selectedAuthType": "oauth-personal" or "cloud-shell"
}
5. Gemini CLI와의 첫 번째 상호작용
Gemini CLI를 시작하고 아래와 같이 첫 번째 쿼리를 입력해 보겠습니다.
Give me a famous quote on Artificial Intelligence and who said that?
예상되는 응답은 다음과 같습니다.
GoogleSearch Searching the web for: "famous quote on Artificial Intelligence and who said it" ...
Search results for "famous quote on Artificial Intelligence and who said it" returned.
✦ "The development of full artificial intelligence could spell the end of the human race." - Stephen Hawking.
쿼리 결과로 호출된 GoogleSearch 도구 (Gemini CLI의 기본 제공 도구)가 표시됩니다. 즉, Gemini CLI의 강력한 내장 도구 중 하나인 GoogleSearch를 이미 사용한 것입니다. 이 도구는 웹에서 가져온 정보를 기반으로 대답을 제공합니다. 도구에 관해서는 다음 섹션에서 자세히 알아보겠습니다.
Gemini CLI와 지원되는 다양한 명령어를 빠르게 이해하려면 /help (슬래시)를 입력하면 다양한 명령어와 단축키가 표시됩니다.
지금은 Gemini CLI를 종료하겠습니다. /quit 명령어를 사용하거나 대화형 Gemini CLI 터미널 세션에서 Ctrl-C를 두 번 실행하면 됩니다.
6. Gemini CLI - 명령어 매개변수
Gemini CLI를 시작할 때 제공할 수 있는 몇 가지 명령줄 매개변수가 있습니다. 옵션의 전체 목록을 가져오려면 아래와 같이 --help를 사용하면 됩니다.
gemini --help
그러면 사용 가능한 전체 옵션이 표시됩니다. 여기에서 문서를 확인하세요.
몇 가지를 살펴보겠습니다. 첫 번째 방법은 Pro 또는 Flash 모델을 사용하도록 Gemini CLI를 구성하는 것입니다. 현재 이 실습을 작성하는 시점에는 이 두 모델만 지원됩니다. 기본적으로 Gemini 2.5 Pro 모델이 사용되지만 Flash 모델을 사용하려면 아래와 같이 -m 파라미터를 통해 Gemini CLI를 시작할 때 사용할 수 있습니다.
gemini -m "gemini-2.5-flash"
위와 같은 방식으로 시작하면 아래와 같이 Gemini CLI 터미널의 오른쪽 하단에서 모델을 확인할 수 있습니다.

Gemini CLI 애플리케이션에 있으면 /model 명령어를 사용하여 모델을 선택할 수 있는 대화상자를 열 수 있습니다. 아래에 샘플 실행이 표시되어 있으며, 요구사항과 제공된 안내에 따라 모델을 계속 전환하여 복잡성과 비용 관리 필요성에 따라 작업에 적합한 모델을 선택할 수 있습니다.

비대화형 모드
흥미로운 옵션은 비대화형 모드에서 Gemini CLI를 실행하는 것입니다. 즉, 프롬프트를 직접 제공하면 Gemini CLI 대화형 터미널이 열리지 않고 바로 응답합니다. 스크립트 또는 기타 자동화 프로세스의 일부로 자동화된 방식으로 Gemini CLI를 사용하려는 경우에 매우 유용합니다. -p 매개변수를 사용하여 아래와 같이 Gemini CLI에 프롬프트를 제공하거나 위치 인수를 사용하여 프롬프트를 제공합니다.
gemini "What is the gcloud command to deploy to Cloud Run"
후속 질문으로 대화를 이어갈 수는 없습니다. 이 모드에서는 WriteFile을 비롯한 도구를 승인하거나 셸 명령어를 실행할 수도 없습니다.
7. Gemini CLI - 기본 제공 도구
Gemini CLI에는 기본 제공 도구 세트가 포함되어 있으며 도구 문서에는 'Gemini 모델은 이러한 도구를 사용하여 로컬 환경과 상호작용하고, 정보에 액세스하고, 작업을 실행합니다. 이러한 도구는 CLI의 기능을 향상시켜 텍스트 생성 이상의 다양한 작업을 지원할 수 있습니다.'
현재 내장 도구 목록을 가져오려면 아래와 같이 /tools 명령어를 호출하세요.
Available Gemini CLI tools:
- Codebase Investigator Agent (codebase_investigator)
- Edit (replace)
- FindFiles (glob)
- GoogleSearch (google_web_search)
- ReadFile (read_file)
- ReadFolder (list_directory)
- SaveMemory (save_memory)
- SearchText (search_file_content)
- Shell (run_shell_command)
- WebFetch (web_fetch)
- WriteFile (write_file)
- WriteTodos (write_todos)
가장 먼저 떠올려야 할 질문은 Gemini CLI가 원할 때 이러한 도구를 간단히 호출할 수 있는지입니다. 로컬 시스템에 쓰거나, 외부 시스템에서 읽거나, 외부 네트워크로 이동하는 등 민감한 작업의 경우 기본 대답은 아니요입니다.
CLI를 시작할 때 --yolo를 사용할 수 있지만 (일반적으로 권장되지 않음) Gemini CLI에서 선택한 도구를 실행할 권한을 묻는 메시지가 표시됩니다. 권한을 거부하거나, 한 번 실행하도록 허용하거나, 항상 실행되도록 전체 권한을 부여할 수 있습니다. 모든 것을 완전히 제어할 수 있어야 합니다.
Gemini CLI가 실행할 내장 도구 중 하나를 선택하고 모든 작동 방식을 잘 이해할 수 있는 프롬프트를 사용해 보겠습니다.
전 세계의 최신 금융 뉴스를 확인하고 Gemini CLI를 실행한 로컬 작업 디렉터리의 파일에 저장하고 싶다고 가정해 보겠습니다. 다음 프롬프트를 사용하세요.
Search for the latest headlines today in the world of finance and save them in a file named finance-news-today.txt
잠시 동안 무엇을 해야 하는지 상상해 보세요. 이상적으로는 Google 검색을 실행하여 금융 뉴스를 제공할 수 있는 관련 정보 소스에서 뉴스를 가져와야 합니다. 그런 다음 콘텐츠가 포함된 finance-news-today.txt라는 파일을 만들어야 합니다 (권한이 필요한 로컬 시스템의 쓰기 작업).
어떤 일이 일어나는지 살펴보겠습니다 (머신에서도 동일한 작업을 진행해야 함).
가장 먼저 GoogleSearch 도구를 호출하여 웹을 검색하고 결과를 가져옵니다.
GoogleSearch Searching the web for: "latest finance headlines today"
Search results for "latest finance headlines today" returned.
이 작업이 완료되면 파일에 쓸 준비가 되고 WriteFile 도구를 사용하지만 민감한 작업 (쓰기)이므로 권한을 요청합니다. 한 번 허용, 항상 허용 등 권한 유형을 결정할 수 있습니다. 지금은 한 번 허용을 선택하세요.

그러면 정보가 파일에 기록되고 아래에 성공 메시지가 표시됩니다.
✦ I have successfully saved the latest finance headlines into the file finance-news-today.txt.
파일이 작성되었는지 어떻게 확인하나요? @file를 사용하여 콘텐츠를 읽어 달라고 요청할 수 있습니다. @를 입력하면 현재 폴더의 파일 목록이 표시되고 방금 만든 파일이 표시됩니다. 이 옵션을 선택하고 프롬프트를 제출합니다. 프롬프트는 다음과 같습니다.
read the contents of @finance-news-today.txt
이렇게 하면 필요한 도구 (ReadManyFiles, ReadFile)가 호출되고 콘텐츠가 아래와 같이 표시됩니다.

8. Gemini CLI - 셸 모드
지금이 Gemini CLI 내에서 Shell을 직접 사용하는 방법을 알아볼 좋은 기회입니다. 메시지 상자에서 !를 눌러 셸 모드로 전환할 수 있습니다. 셸 모드로 전환됩니다. !를 다시 누르거나 ESC 키를 누르면 돌아갈 수 있습니다.
셸 모드에서는 아래와 같이 프롬프트 시작 부분에 !가 표시됩니다.

아래와 같이 pwd 및 ls와 같은 표준 명령어를 사용하여 직접 확인할 수 있습니다. 명령어는 Linux 유형 OS를 가정합니다. 다른 운영체제 (Windows)를 사용하는 경우 (cd, dir, type)와 같은 동등한 명령어를 사용하세요. 이러한 호출의 출력은 모델의 컨텍스트 윈도우에 포함됩니다.

현재 cat 명령어를 통해 파일의 콘텐츠를 출력할 수 있습니다.

연습: 다음은 시도해 볼 수 있는 간단한 연습입니다. 원하는 RSS 피드를 선택합니다. Gemini CLI에 RSS 피드의 콘텐츠를 가져와 결과를 특정 방식으로 포맷해 달라고 요청합니다. 이 방법은 하루를 시작할 때 작업을 자동화하는 데 유용합니다. Gemini CLI에 특정 영역(예: Google Cloud Platform 출시 노트)의 RSS 피드가 있는지 확인해 달라고 요청할 수도 있습니다.
샘플 프롬프트는 다음과 같습니다.
Get the latest release notes for Google Cloud from its RSS Feed and display the key points in a well-formatted list.
이 프롬프트는 먼저 GoogleSearch 도구를 호출하여 Google Cloud Platform RSS 피드를 찾은 다음 WebFetch 도구를 사용하여 RSS 피드의 콘텐츠를 가져와 표시해야 합니다.
9. Gemini CLI 확장 프로그램
문서에 설명된 대로 Gemini CLI 확장 프로그램은 프롬프트, MCP 서버, 맞춤 명령어를 친숙하고 사용자 친화적인 형식으로 패키징합니다. 확장 프로그램을 사용하면 Gemini CLI의 기능을 확장하고 이러한 기능을 다른 사용자와 공유할 수 있습니다. 이는 Gemini CLI의 기능을 내장 도구 이상으로 확장하는 기본 메커니즘입니다.
확장 프로그램은 독립적이고 버전 관리가 가능하며 쉽게 배포할 수 있는 패키지입니다. 특정 워크플로에 필요한 모든 것을 단일하고 깔끔한 패키지로 번들링하는 Gemini CLI 맞춤설정을 위한 '배송 컨테이너'라고 생각하면 됩니다.

확장 프로그램은 다음의 조합을 번들로 묶을 수 있습니다.
- 맞춤 슬래시 명령어(.toml 파일)
- MCP 서버 구성 (이전에는 settings.json에 있었음)
- 모델에 구체적인 지침과 가이드라인을 제공하는 컨텍스트 파일 (GEMINI.md)
- 더 안전하고 집중도 높은 환경을 조성하기 위한 도구 제한 (excludeTools)
확장 프로그램 갤러리 살펴보기
확장 프로그램 갤러리는 모든 공식 Google 제작 확장 프로그램과 서드 파티 확장 프로그램을 찾을 수 있는 중앙 마켓플레이스입니다.
- 브라우저에서
https://geminicli.com/extensions/browse/URL을 엽니다. - 이 갤러리는 생태계의 검색 가능성 엔진입니다. GitHub, Redis, DynaTrace와 같은 회사의 확장 프로그램을 통해 사용 가능한 도구의 폭을 확인할 수 있습니다.
- 아래로 스크롤하여 Cloud Run 확장 프로그램 카드를 찾습니다.
- 카드에는 설명, 작성자 (Google), 원클릭
Copy명령 버튼이 표시됩니다. 확장의 설치 명령어를 가져오는 가장 간단한 방법입니다.
Gemini CLI 확장 프로그램 - 관리 명령어
gemini extensions 명령어는 로컬 확장 프로그램을 관리하는 진입점입니다.
터미널에서 실행하여 사용 가능한 명령어 목록을 확인합니다.
gemini extensions <command>
Manage Gemini CLI extensions.
Commands:
gemini extensions install <source> [--auto-update] [--pre-release]
Installs an extension from a git repository URL or a local path.
gemini extensions uninstall <names..>
Uninstalls one or more extensions.
gemini extensions list
Lists installed extensions.
gemini extensions update [<name>] [--all]
Updates all extensions or a named extension to the latest version.
gemini extensions disable [--scope] <name>
Disables an extension.
gemini extensions enable [--scope] <name>
Enables an extension.
gemini extensions link <path>
Links an extension from a local path. Updates made to the local path
will always be reflected.
gemini extensions new <path> [template]
Create a new extension from a boilerplate example.
gemini extensions validate <path>
Validates an extension from a local path.
명령어는 간단하며 (설치/제거, 목록, 업데이트, 사용 설정/사용 중지 등) 이 Codelab에서는 이러한 명령어 중 일부를 사용합니다.
현재 확장 프로그램 목록 확인
무언가를 설치하기 전에 '초기 상태'를 확인해 보겠습니다.
gemini extensions list명령어를 실행합니다.- 아직 확장 프로그램이 설치되지 않았음을 확인하는 다음과 같은 출력이 표시됩니다.
No extensions installed.
GitHub MCP 서버 구성
Gemini CLI 확장 프로그램 유형 중 하나는 MCP 서버입니다. MCP 서버는 모델 컨텍스트 프로토콜을 통해 Gemini CLI에 도구와 리소스를 노출하여 외부 시스템 및 데이터 소스와 상호작용할 수 있도록 하는 애플리케이션입니다. MCP 서버는 Gemini 모델과 로컬 환경 또는 API와 같은 기타 서비스 간의 브리지 역할을 합니다.
Gemini 확장 프로그램 갤러리에서 사용할 수 있는 GitHub MCP 서버가 있습니다. 이 버튼을 클릭하면 확장 프로그램 카드가 열리며, 확장 프로그램을 설치하는 명령어 또한 표시됩니다.

이 값을 복사하거나 아래 명령어를 사용하세요.
gemini extensions install https://github.com/github/github-mcp-server
필요한 권한을 사용하여 계속 진행합니다. 설치가 완료되면 gemini extensions list 명령어를 입력할 때 확장 프로그램 목록에서 이 확장 프로그램을 사용할 수 있습니다.
✓ github (1.0.0)
ID: faa318861b48de8d83c95eb8cd5e82c02393493978d198a0e7bf67fcb1bd22cb
name: c0b0109d9439de57fe3cf03abeccbc52f4c98170c732d3b69af5e6395ace574e
Path: /home/romin/.gemini/extensions/github
Source: https://github.com/github/github-mcp-server (Type: git)
Enabled (User): true
Enabled (Workspace): true
MCP servers:
github
확장 프로그램의 경로를 확인할 수 있으며 해당 폴더에는 gemini-extension.json라는 파일이 있습니다. 콘텐츠는 아래와 같습니다.
{
"name": "github",
"version": "1.0.0",
"mcpServers": {
"github": {
"description": "--description–",
"httpUrl": "https://api.githubcopilot.com/mcp/",
"headers": {
"Authorization": "Bearer $GITHUB_MCP_PAT"
}
}
}
}
환경 변수를 통해 개인 액세스 토큰 (PAT)이 읽히는 것을 확인할 수 있습니다. 먼저 GitHub의 개인 액세스 토큰 (PAT)이 있어야 합니다. 이 값을 확인한 후 .env 파일을 완전히 만들고 이 값을 거기에 배치했는지 또는 다음과 같이 환경 변수를 만들었는지 확인합니다 (PAT_VALUE를 실제 값으로 대체).
export GITHUB_MCP_PAT=PAT_VALUE
Gemini CLI를 다시 시작해야 합니다. 실행되면 /mcp list 명령어를 사용하여 사용 가능한 MCP 서버와 각 도구의 목록을 확인할 수 있습니다. GitHub MCP 서버가 녹색으로 표시되고 도구 (30개 이상)가 표시됩니다. 일부 목록은 아래와 같습니다.
🟢 github (github에서) - 준비됨 (40개 도구)
도구:
- add_comment_to_pending_review
- add_issue_comment
- assign_copilot_to_issue
- create_branch
- create_or_update_file
- create_pull_request
- create_repository
- delete_file
- fork_repository
- get_commit
- get_file_contents
- get_label
- get_latest_release
- get_me
- get_release_by_tag
- get_tag
- get_team_members
- get_teams
- issue_read
GitHub MCP 서버의 도구 중 하나를 호출하는 프롬프트로 시작해 보겠습니다. 다음 프롬프트를 입력합니다 (GitHub에서 내 이름은 무엇이야?). 그러면 Gemini CLI가 올바른 도구를 선택하고 권한을 요청합니다.

승인하면 아래와 같이 결과가 검색됩니다.
✦ You are rominirani, a Developer Advocate at Google Cloud, located in Mumbai. You have 125 public repositories and 256 followers.
이제 GitHub 프로젝트 중 하나를 사용해야 합니다. 다음과 같이 자연어로 질문을 입력합니다.
- <repo-name>을 설명해 줘.
- 내 로컬 머신에서 <repo-name>을 클론해 줘.
- @<file-name> 또는 @<directory-name>을 설명해 줘.
- 이 저장소의 구성요소에는 무엇이 있나요?
- 필요한 변경사항을 적용했습니다. 변경사항을 GitHub에 푸시하고 GitHub MCP 서버 도구를 사용하여 이를 수행할 수 있나요?
실습 후반부에서 GitHub MCP 서버를 자세히 다루는 연습을 확인할 수 있습니다.
Cloud Run MCP 서버 구성
Gemini CLI 확장 프로그램 갤러리에서 사용할 수 있는 Cloud Run 확장 프로그램은 애플리케이션을 Cloud Run에 배포할 수 있는 MCP 서버입니다.
확장 프로그램 갤러리의 Cloud Run 확장 프로그램 카드는 아래와 같습니다.

먼저 위에 표시된 대로 설치 명령어 복사를 클릭하여 Cloud Run 확장 프로그램을 설치합니다. 그런 다음 해당 명령어를 Cloud Shell 터미널에 붙여넣습니다 (다음과 유사해야 함).
gemini extensions install https://github.com/GoogleCloudPlatform/cloud-run-mcp
위 명령어를 실행하면 확인이 필요하다는 메시지가 표시됩니다. 승인해 주세요. 그러면 Cloud Run 확장 프로그램이 성공적으로 설치됩니다.
이제 gemini extensions list 명령어를 실행하면 아래와 같이 Cloud Run 확장 프로그램이 설치된 것을 확인할 수 있습니다.
✓ cloud-run (1.0.0)
ID: 3c1a38909b6d7d90b6acc8ca1e80d97b4a867253a3cd12d841b2aab4e556a58f
name: 0b1820c1f0c043bbb3b54f496d862c02172424c930eb965d61f468be52e6f127
Path: /home/romin/.gemini/extensions/cloud-run
Source: https://github.com/GoogleCloudPlatform/cloud-run-mcp (Type: git)
Enabled (User): true
Enabled (Workspace): true
Context files:
/home/romin/.gemini/extensions/cloud-run/gemini-extension/GEMINI.md
MCP servers:
cloud-run
지금 Gemini CLI를 실행하고 /mcp list 명령어를 실행하면 다음이 표시됩니다.
🟢 cloud-run (from cloud-run) - Ready (8 tools, 2 prompts)
Tools:
- create_project
- deploy_container_image
- deploy_file_contents
- deploy_local_folder
- get_service
- get_service_log
- list_projects
- list_services
Prompts:
- deploy
- logs
위는 구성 방법을 보여드린 Gemini CLI 확장 프로그램의 몇 가지 예일 뿐입니다. 확장 프로그램 갤러리에서 더 많은 확장 프로그램을 찾아보거나 'Gemini CLI 확장 프로그램 시작하기' Codelab을 진행할 수도 있습니다.
10. 시도해 볼 사용 사례
Gemini CLI는 개발자와 비개발자 모두에게 적용되는 광범위한 사용 사례에 적용할 수 있습니다. 다음은 몇 가지 시나리오이며 관심 분야에 따라 일부 또는 전부를 시도해 볼 수 있습니다.
이러한 각 경우에 프롬프트가 제공됩니다. Gemini CLI를 실행할 때 -p 매개변수를 통해 Gemini CLI 대화형 모드 또는 비대화형 모드에서 이를 자유롭게 사용해 볼 수 있습니다.
Gemini CLI를 사용한 바이브 코딩
Gemini CLI를 사용하여 애플리케이션의 코드를 바이브해 보겠습니다. 이 작업에서는 Gemini CLI에 애플리케이션을 생성해 달라고 요청한 다음 초기 버전을 GitHub 저장소에 푸시합니다.
선행 조건
이 섹션의 작업을 수행하려면 몇 가지 기본 요건이 있습니다.
- Git
- Github Gemini CLI 확장 프로그램이 설치된 Gemini CLI (앞서 설치함)를 사용하거나
gh( Github CLI 도구)를 설정한 경우에도 작동합니다. - Git 기본사항에 대한 지식과 약간의 프로그래밍 지식
원하는 특정 폴더에서 Gemini CLI를 실행했다고 가정합니다.
초기 프롬프트로 시작합니다. 필요에 따라 수정하세요. Gemini CLI와의 세션 중에 파일을 만드는 등의 권한을 요청합니다. 필요한 권한을 부여하세요.
이 작업에서는 Gemini CLI가 애플리케이션을 실행하거나 테스트하는 것을 원하지 않습니다. 하지만 이는 전적으로 사용자의 선택에 달려 있습니다.
Generate a website for a 1-day event filled with technical talks. There are going to be 6 talks in a single track of 1 hour each. Each talk has the following information: title, 1 or maximum of 2 speakers, category (1 or maximum of 3 keywords), duration and a description. The website has a single page where users can see the schedule for the entire day with the timings. There will be one lunch break of an hour and the event starts at 10:00 AM. Keep a 10 minute transition between talks. I would like to use Node.js on the server side and standard HTML, JavaScript and CSS on the front-end. The users should be able to search the talks based on category.
I would like you to proceed in the following way:
1. Plan out how you would design and code this application.
2. Ask me for any clarifications along the way.
3. Once I am fine with it, do generate the code and provide me instructions to run and test locally.
다음 몇 가지 프롬프트와 대답은 관찰된 샘플 흐름입니다. Gemini CLI가 계획을 세우고 확인 / 설명 또는 진행 여부를 묻습니다. 안내를 따르세요. 샘플로 다음은 내 샘플 대화 스레드입니다.
1. Backend (Node.js/Express):
* Set up an Express server to serve the static frontend files.
* Create an /api/schedule endpoint that will:
* Generate the event schedule dynamically, including talk timings and the lunch break, based on your requirements.
* Store mock talk data (title, speakers, category, description).
* Filter the schedule based on a category query parameter.
2. Frontend (HTML, CSS, JavaScript):
* Create an index.html file for the main structure.
* Develop style.css for a clean and responsive design.
* Write script.js to:
* Fetch the schedule data from the backend.
* Dynamically render the talks and lunch break on the page.
* Implement a search input that filters talks by category, updating the displayed schedule without a full page reload.
3. Schedule Logic:
* The backend will handle calculating the precise start and end times for each 1-hour talk, factoring in the 10:00 AM start, 10-minute transitions, and the 1-hour lunch break.
Before I proceed with the code, could you please clarify the following:
* Example Talk Data: Could you provide some example talk titles, speakers, categories (keywords), and descriptions? This will help me create realistic dummy data for the schedule.
* Lunch Break Placement: Where should the 1-hour lunch break be placed in the schedule? (e.g., after the 3rd talk, at 1 PM, etc.)
* Styling Preferences: Do you have any specific styling preferences (e.g., color scheme, modern/minimalist, etc.)? If not, I will go with a clean, simple design.
✦ I will create a single-page website for your event. Here's my plan:
✓ WriteTodos Set 7 todo(s)
✦ I am waiting for your clarifications regarding the example talk data, lunch break placement, and styling preferences before I proceed with generating the code.
마지막으로 다음과 같은 요약을 제공했습니다.
✦ Instructions to Run and Test Locally:
1. Start the server:
Open your terminal in the project directory (/home/romin/gemini-cli-projects/event-website/) and run:
1 node server.js
You should see a message in the terminal indicating: Server running on http://localhost:3000.
2. Open in your browser:
Open your web browser and navigate to:
http://localhost:3000
3. Test functionality:
* You should see the event schedule displayed on the page, with talks and a lunch break.
* Search by category: In the "Search by category..." input box, type a category keyword (e.g., "AI", "Web Development", "Python", "Security").
* Click the "Search" button. The schedule displayed should filter to only show talks matching that category.
* Click the "Reset" button to clear the search filter and view the full schedule again.
Let me know if you encounter any issues or if you'd like to make any modifications or additions to the website!
서버를 시작하고 홈페이지로 이동하라는 안내를 따르자 아래와 같은 샘플 사이트가 표시되었습니다. 동일한 프롬프트를 사용한 경우 유사한 사이트의 변형이 표시됩니다.

Gemini CLI를 사용하여 계속해서 변경할 수 있습니다. 변경사항에 만족하면 GitHub 저장소에 푸시할 수 있습니다.
먼저 .gitignore 파일을 만들어 보겠습니다. Gemini CLI의 도움을 받을 수 있습니다.
Create a .gitignore file for this project.
다음 단계는 Gemini CLI에 GitHub 계정에서 이 저장소를 푸시하도록 지시하는 것입니다. 그러면 백그라운드에서 GitHub MCP 서버 도구가 실행됩니다.
아래와 비슷한 프롬프트를 입력합니다.
Great! I would now like to push all of this to a new repository in my Github account. I would like to name this repository <Your-Name>-event-talks-app
여기에서는 여러 명령어를 실행합니다.
- 저장소를 만듭니다.
- 로컬 Git 저장소를 관리하기 위해 init, add, commit 등 여러 Git 명령어를 사용합니다.
- 그런 다음 Git 원격을 설정하고 푸시합니다.
참고: Gemini CLI가 타임아웃되거나 잘못된 사용자 이름 등을 사용하는 경우가 있습니다. 상호작용하여 수정사항을 제안하세요.
모든 것이 잘 진행되면 GitHub 저장소가 있어야 합니다. 샘플 스크린샷은 아래에 나와 있습니다.

이 프로젝트의 README.md를 생성하지 않았으며, 이는 이제 막 만든 이 저장소를 사용할 다음 섹션에 좋은 연습이 됩니다.
Gemini CLI를 사용하여 GitHub 저장소에서 작업하기
이 사용 사례에서는 Gemini CLI를 사용하여 GitHub 저장소와 상호작용합니다. 다음과 같은 여러 작업을 수행합니다.
- 코드 베이스 이해
- 문서 생성
- 새 기능 구현
- 변경사항을 커밋하고 저장소로 다시 푸시합니다.
- GitHub 문제에 대해 작업하고 제안된 변경사항 구현
이렇게 하면 저장소를 사용하고 이러한 개발자 관련 작업과 관련하여 Gemini CLI를 어시스턴트로 사용할 수 있는 기반이 마련됩니다.
선행 조건
이 섹션의 작업을 수행하려면 다음이 필요합니다.
- Git
- Github MCP Gemini CLI 확장 프로그램이 설치된 Gemini CLI (앞에서 설치함)를 사용하거나
gh( Github CLI 도구)를 설정한 경우에도 작동합니다. - Git 기본사항에 대한 지식과 약간의 프로그래밍 지식 (Gemini CLI를 설치했기 때문에 머신에 환경이 이미 준비되어 있을 수 있으므로 이 예에서는 Node.js를 사용함) 하지만 나중에 다른 프로그래밍 언어와 프레임워크를 사용하는 원하는 저장소를 선택해도 됩니다.
- 이전 섹션에서 이벤트 강연 웹사이트를 만들었으므로 이전 섹션을 완료하고 저장소를 준비해야 합니다.
Event Talks 애플리케이션을 생성하는 데 사용한 폴더/디렉터리에서 Gemini CLI를 계속 사용합니다. 필요한 경우 저장소를 로컬 머신에 클론한 다음 해당 디렉터리에서 Gemini CLI를 시작할 수 있습니다. 아래에 나열된 시나리오를 시도해 보세요.
코드 베이스 이해
- 이 프로젝트에 대해 자세히 알고 싶습니다. 주요 기능을 이해한 다음 서버 측과 클라이언트 측으로 구분해 줘. 샘플 흐름을 가져와서 요청과 응답이 어떻게 작동하는지 보여 줘.
Explain @server.js
README 파일 생성
- 이 프로젝트의
README파일을 생성합니다.
새 기능 구현
- 사용자가 특정 화자로도 검색할 수 있는 새로운 기능을 구현하고 싶습니다. 먼저 이 변경사항을 구현하는 방법을 보여주는 계획을 제시해 줘. 그런 다음 코드를 생성할 수 있어.
승인할 수 있는 계획이 제공됩니다. 승인되면 Gemini CLI가 이러한 변경사항을 적용합니다. 변경사항을 테스트하고 버그가 있으면 (있을 가능성이 높음) Gemini CLI에 수정해 달라고 요청하세요.
변경사항이 제대로 표시되면 동일한 단계에 따라 변경사항을 커밋하고 원격 저장소에 푸시할 수 있습니다.
추천 기능을 기반으로 문제 생성
여기서 흥미로운 것을 시도해 보겠습니다. Gemini CLI에 이 애플리케이션의 사용자 경험을 개선할 수 있는 방법을 물어보고, Gemini CLI의 평가를 기반으로 동일한 GitHub 저장소에 문제로 이러한 제안사항을 만들 수 있습니다. GitHub MCP 서버의 'create_issue' 도구를 사용합니다.
다음 프롬프트를 사용해 보세요.
- 사용자 경험 관점에서 애플리케이션을 평가해 줘. 사용 편의성, 응답성, 유용한 메시지 등 개선사항 목록을 작성한 후 GitHub 저장소에서 문제로 만들어 줘.
개선사항을 먼저 공유한 후 사용자의 허락을 받아 GitHub 저장소에 문제를 생성합니다. 다음은 실행에서 가져온 샘플 스크린샷입니다.

GitHub 문제에 대해 작업하고 제안된 변경사항 구현
이제 이전에 생성된 문제 중 하나를 선택하여 Gemini CLI에 작업을 요청하고 구현할 수 있습니다.
생성된 샘플 문제는 다음과 같습니다.

전체 문제 URL을 가져와 다음과 같은 프롬프트를 제공합니다.
- 문제:
<YOUR_ISSUE_URL>을 살펴보고 변경해야 할 사항을 파악하세요. 먼저 계획을 설명한 다음 코드에서 제안된 변경사항을 보여줘.
변경사항을 승인하고 저장소에 푸시하세요. 문제를 종료해 달라고 요청할 수도 있습니다.
(선택사항) 일상적인 작업
아래에 제시된 사용 사례는 정기적으로 수행하게 될 수 있는 작업입니다. 여기에는 파일을 폴더로 정리하고, 웹에서 콘텐츠를 가져와 요약하고, 이미지 파일을 처리하고, 이미지에서 콘텐츠를 추출하고, 데이터베이스를 사용하는 등의 작업이 포함됩니다.
원하는 사용 사례를 자유롭게 살펴볼 수 있습니다.
파일/폴더 정리
필요에 따라 Gemini CLI를 사용하여 다양한 폴더의 유형에 따라 파일을 정리할 수 있습니다. 머신에서 .txt, .png, .jpg, .pdf, .mp4 등의 파일이 여러 개 있는 폴더로 이동합니다. 바탕 화면 또는 다운로드 폴더일 가능성이 큽니다.
다음은 샘플 폴더이며 폴더의 콘텐츠는 아래에 표시되어 있습니다 (다른 파일이 있을 수 있음).

해당 폴더로 이동하여 Gemini CLI를 시작합니다. 먼저 Gemini CLI에 이미지, 문서, 동영상 폴더를 만들어 달라고 요청한 다음 Gemini CLI에 폴더의 파일을 정리해 달라고 요청합니다.
Gemini CLI는 명령어를 실행하기 전에 권한을 요청하는 경우가 많으며, 특히 파일 시스템을 수정하는 명령어 (예: 파일 쓰기, 이동, 삭제)의 경우 더욱 그렇습니다. 권한을 부여하기 전에 항상 이러한 메시지를 주의 깊게 검토하세요. 이것이 안전망입니다.
Create the following folders "Images","Documents","Videos"
그런 다음 다음 프롬프트를 입력합니다.
Go through all the files in this folder and then organize them by moving all the files ending with .jpg, .jpeg, .gif into the "Images" folder. Move all ".txt" files into the "Documents" folder. Move all the ".mp4" files in the "Videos" folder.
폴더의 최종 상태의 예는 아래와 같습니다. 새 하위 폴더가 생성되고 파일이 유형에 따라 해당 하위 폴더로 이동됩니다.

기타 정리 시나리오 (프롬프트는 각 시나리오 옆에 제공됨)는 다음과 같습니다.
- 요약: 'Documents' 폴더에 있는 각 문서에 대해 문서의 주요 사항을 3문장으로 요약한 'summary_ORIGINAL_FILENAME.txt'라는 txt 파일을 동일한 폴더에 만듭니다.
- 유형별 분류: 이 디렉터리의 모든 PDF 및 DOCX 파일을 스캔합니다. 이름이나 콘텐츠에 '인보이스'가 포함된 모든 파일을 '재무/인보이스' 폴더로 이동해 줘. '영수증'이 포함된 파일을 '재무/영수증'으로 이동합니다. 다른 .docx 파일은 '보고서'에 저장됩니다.
- 주요 정보 추출 (및 '태그' 지정): 'Financial/Invoices' 폴더에 있는 각 PDF 파일의 콘텐츠를 읽습니다. 날짜를 찾은 경우 YYYY-MM-DD 형식으로 날짜를 포함하도록 파일 이름을 변경합니다(예: ‘invoice_2025-07-26_original_name.pdf'.
이미지 정리
컴퓨터에서 이미지 콘텐츠를 정리하는 방법을 알아보겠습니다.
이 기능을 사용하려면 다음 단계를 따르세요.
- 다양한 이미지 파일 (.jpg, .png 등)이 포함된 디렉터리/폴더가 있어야 합니다. EXIF 데이터가 있는 사진을 포함합니다 (카메라/휴대전화의 대부분의 사진에 이 데이터가 있음).
- 이 디렉터리로 이동합니다.
- Gemini CLI를 실행합니다.
다음 시나리오를 사용해 보세요 (프롬프트는 각 시나리오 옆에 제공됨).
- 날짜별로 이름 바꾸기 (EXIF 데이터): 이 디렉터리에 있는 모든 .jpg 및 .png 파일의 이름을 EXIF 데이터의 생성 날짜를 포함하는 'YYYYMMDD_HHMMSS_original_name.jpg' 형식으로 바꿉니다. EXIF 날짜가 없으면 파일의 마지막 수정 날짜를 사용합니다.
- 이미지 설명 만들기: 이 폴더의 각 이미지에 대해 이미지에 있는 내용을 설명하고 동일한 디렉터리에 'description_ORIGINAL_FILENAME.txt'라는 텍스트 파일에 설명을 저장합니다.
- 중복 식별 (개념적, 고급 논리 필요): 시각적 콘텐츠를 기반으로 이 폴더에서 중복 이미지를 찾아 파일 이름을 나열해 줘. 아직 삭제하지 마세요.
기사 요약 (로컬 파일 또는 웹)
아래 각 시나리오에서 필요에 따라 URL, 관심 주제, 로컬 파일 이름을 변경해도 됩니다. 제공된 파일 이름은 샘플 파일 이름이며, 시스템에 있는 파일의 파일 이름으로 바꿀 수 있습니다.
다음 시나리오를 사용해 보세요 (프롬프트는 각 시나리오 옆에 제공됨).
- 웹 기사 요약 (단일 URL): https://medium.com/google-cloud/getting-started-with-gemini-cli-8cc4674a1371로 이동하여 이 뉴스 기사의 주요 사항 3개를 요약해 줘.
- 여러 웹 문서 요약 (예: 검색 결과): Google 검색을 사용하여 'Gemini CLI'에 관한 최신 뉴스 기사를 찾습니다. 관련성이 높은 상위 5개 기사에 대해 각각 2~3문장으로 요약하고 URL을 나열해 줘.
- 로컬 텍스트 파일 요약: 'my_research_paper.txt'에 있는 논문의 주요 내용을 요약해 줘. 방법론과 결론에 집중하세요.
- 로컬 PDF 요약: '2025년 2분기 재무 보고서.pdf'를 읽어 줘. 언급된 재무 실적과 주요 과제를 요약해 줘.
특정 정보 추출 (로컬 파일 또는 웹)
아래 각 시나리오에서 필요에 따라 URL, 관심 주제, 로컬 파일 이름을 변경해도 됩니다. 제공된 파일 이름은 샘플 파일 이름이며, 시스템에 있는 파일의 파일 이름으로 바꿀 수 있습니다.
다음 시나리오를 사용해 보세요 (프롬프트는 각 시나리오 옆에 제공됨).
- 로컬 기사에서 항목 추출: 'biography.txt'에서 이름이 지정된 모든 개인과 관련된 중요한 날짜를 나열해 줘.
- PDF의 표에서 데이터 추출: 'quarterly_sales.pdf'에서 '지역별 제품 판매'를 보여주는 3페이지의 표에서 데이터를 추출하고 Markdown 표 형식으로 표시해 줘.
- 뉴스 웹사이트에서 뉴스 헤드라인과 소스 추출: 'https://news.google.com/' (또는 유사한 뉴스 사이트)로 이동합니다. 첫 페이지에서 주요 헤드라인과 해당 뉴스 소스를 추출해 줘. 글머리 기호 목록으로 표시해 줘.
- 전자상거래 페이지에서 제품 사양 찾기: 'https://www.amazon.in/Google-Cloud-Certified-Associate-Engineer/dp/1119871441'로 이동합니다(책의 예). 도서 제목, 저자, 기타 세부정보를 추출합니다. 구조화된 JSON 형식으로 표시해 줘.
- 동영상에서 길이를 특정 형식 (예: '2시간 37분 42초')으로 추출해 줘.
콘텐츠 기반 질문 답변 (RAG와 유사한 동작)
아래 각 시나리오에서 필요에 따라 URL, 관심 주제, 로컬 파일 이름을 변경해도 됩니다. 제공된 파일 이름은 샘플 파일 이름이며, 시스템에 있는 파일의 파일 이름으로 바꿀 수 있습니다.
다음 시나리오를 사용해 보세요 (프롬프트는 각 시나리오 옆에 제공됨).
- 로컬 문서에 대한 Q&A:'user_manual.pdf'을 첨부합니다. 네트워크 연결 문제를 해결하는 단계는 무엇인가요?
- 웹페이지의 Q&A: 'https://www.who.int/news-room/fact-sheets/detail/climate-change-and-health'의 콘텐츠를 사용하여 WHO에 따르면 기후 변화와 관련된 주요 건강 위험은 무엇인가요?
- 여러 소스의 정보 비교: 최근 경제 정책 변경사항을 다루는 뉴스 기사 'article1.txt'와 'article2.txt'가 있습니다. 소규모 비즈니스에 미칠 수 있는 잠재적 영향에 대한 두 사람의 견해를 비교하고 대조합니다.
추출된 정보를 기반으로 콘텐츠 생성
아래 각 시나리오에서 필요에 따라 URL, 관심 주제, 로컬 파일 이름을 변경해도 됩니다.
다음 시나리오를 사용해 보세요 (프롬프트는 각 시나리오 옆에 제공됨).
- 기사에서 뉴스 브리프 생성: @tech_innovation_article.txt를 읽어 줘. 회사의 뉴스레터에 적합한 짧고 흥미로운 뉴스 브리프 (약 150단어)를 작성하여 새로운 기술과 그 잠재력을 강조해 줘.
- 회의 스크립트를 요약하는 이메일 작성: 회의 스크립트 파일은 다음과 같습니다. @meeting_transcript.txt 팀에 보낼 이메일을 작성하여 주요 결정 사항과 할당된 작업 항목을 요약하고 각 항목의 담당자를 포함해 줘.
Gemini CLI 멀티모달 지원
Gemini CLI는 Gemini를 통해 멀티 모델을 지원하며, 요구사항에 따라 다양한 콘텐츠 형식의 파일을 처리하도록 요청할 수 있습니다.
Gemini CLI로 여러 청구서 이미지를 처리하고 핵심 정보를 추출합니다. 아래 단계를 따르세요.
- 머신에 폴더를 만들고 다음 GitHub 저장소에서 인보이스를 다운로드합니다.
- 해당 폴더에서 Gemini CLI 실행
다음 프롬프트를 입력하여 인보이스에서 표 형식으로 정보를 추출합니다.
The current folder contains a list of invoice files in Image format. Go through all the files in this folder and extract the following invoice information in the form of a table: Invoice No, Invoice Date, Invoice Sent By, Due Date, Due Amount.
다음과 같은 출력이 표시됩니다.

추가 파생 열을 요청할 수 있는 또 다른 시나리오가 있습니다. 이전 인보이스 기한에 빨간색 십자 이모티콘을 표시한다고 가정해 보겠습니다. 다음과 같이 프롬프트를 입력할 수 있습니다.
list all files with .png extension in this folder. Extract the invoice information from it by reading them locally and display it in a table format containing the following column headers: : Invoice No, Invoice Date, Invoice Sent By, Due Date, Due Amount. Add a column at the end of the table that shows a red cross emoji in case the due date is in the past.
그러면 다음과 같은 출력이 생성됩니다.

텍스트가 아닌 형식의 자체 파일에 적용합니다.
Gemini CLI를 사용하여 데이터베이스 작업하기
Gemini CLI를 사용하면 다양한 데이터베이스를 더 효율적으로 사용할 수 있습니다. 자연어로 쿼리, 데이터 내보내기, 데이터베이스 스키마 설계, 실제 테스트 데이터 생성 등 다양한 시나리오에 사용할 수 있습니다.
이 작업을 수행하려면 SQLite3를 사용해야 합니다. SQLite3를 설치하고 샘플 Chinook 데이터베이스가 있어야 합니다.
SQLite3 설정에 관한 간단한 안내는 다음과 같습니다.
- macOS: SQLite3가 사전 설치되어 있습니다.
sqlite3 --version으로 인증합니다. 필요한 경우 Homebrew를 사용하여 설치합니다(brew install sqlite3). - Windows: SQLite 웹사이트에서 사전 컴파일된 바이너리를 다운로드합니다. 파일을 디렉터리 (예:
C:\sqlite)에 있습니다. 이 디렉터리를 시스템의 PATH 환경 변수에 추가합니다. - Linux: Debian/Ubuntu:
sudo apt update && sudo apt install sqlite3
샘플 Chinook 데이터베이스를 다운로드합니다 (다운로드할 수 있는 바로가기).
이러한 프롬프트를 실행하려면 gemini-cli-projects 디렉터리에 폴더 (database-tasks)를 만드는 것이 좋습니다. Chinook 데이터베이스 파일을 해당 폴더에 복사합니다. Gemini CLI가 사용할 수 있도록 시스템에 sqlite3 도구가 설정되어 있고 경로에서 사용할 수 있는지 확인합니다. Gemini CLI를 실행합니다.
데이터베이스 스키마 다이어그램은 아래와 같습니다.

database-tasks이라는 폴더에 있고 Chinook 데이터베이스 파일의 이름이 chinook.db이라고 가정해 보겠습니다.
데이터베이스를 사용하는 데 도움이 되는 몇 가지 프롬프트가 아래에 나와 있습니다. 요청될 권한을 보여주기 위해 첫 번째 권한을 간략하게 살펴보겠습니다.
데이터베이스에 있는 테이블을 나열하라는 프롬프트로 시작하여 다음 프롬프트를 제공합니다.
What tables are present in the file: chinook.db
이 도구를 사용하여 파일을 읽은 다음 시스템에 있는 sqlite3 유틸리티를 사용하여 필요한 작업을 수행하려고 합니다.

예상 출력을 얻기 위해 한 번 실행할 수 있는 권한을 제공합니다.

다음 프롬프트 또는 원하는 다른 프롬프트를 사용해 보세요.
- 직원 수는 몇 명인가요?
- 인보이스 테이블의 스키마는 무엇인가요?
- 총액을 기준으로 상위 3개 인보이스는 무엇이고 어떤 고객이 해당 인보이스를 발급했어?
Gemini CLI는 요구사항을 충족하는 올바른 SQL 문을 생성하고 올바른 sqlite3 명령어를 제공하는 두 가지 작업을 처리합니다.
Gemini CLI를 사용하여 데이터 생성
Gemini CLI에 다양한 데이터 형식으로 데이터를 생성하도록 요청할 수 있습니다. 콘텐츠 조각부터 모의해야 할 수 있는 JSON 데이터까지 다양합니다. 여기서는 개발자/테스터에게 적용되는 시나리오에 집중해 보겠습니다.
다음은 시도해 볼 수 있는 프롬프트입니다.
샘플 고객 리뷰의 JSON 데이터 생성
Generate a JSON array of 3 synthetic customer reviews for a new smartphone. Each review should have 'reviewId' (string, UUID-like), 'productId' (string, e.g., 'SMARTPHONE_X'), 'rating' (integer, 1-5), 'reviewText' (string, 20-50 words), and 'reviewDate' (string, YYYY-MM-DD format).
모의 API 응답 생성 (JSON)
Generate a JSON array representing 7 daily sales records for a mock API endpoint. Each record should include 'date' (YYYY-MM-DD, chronologically increasing), 'revenue' (float, between 5000.00 and 20000.00), 'unitsSold' (integer, between 100 and 500), and 'region' (string, either 'North', 'South', 'East', 'West').
샘플 데이터베이스 삽입 문 생성 (SQL)
Generate 5 SQL INSERT statements for a table named 'users' with columns: 'id' (INTEGER, primary key), 'username' (VARCHAR(50), unique), 'email' (VARCHAR(100)), 'password_hash' (VARCHAR(255)), 'created_at' (DATETIME, current timestamp). Ensure the password_hash is a placeholder string like 'hashed_password_X'.
데이터 로드/분석을 위한 CSV 데이터 생성
Generate 10 lines of CSV data, including a header row, for customer transactions. Columns should be: 'TransactionID' (unique string), 'CustomerID' (integer), 'ItemPurchased' (string, e.g., 'Laptop', 'Monitor', 'Keyboard'), 'Quantity' (integer, 1-3), 'UnitPrice' (float, between 100.00 and 1500.00), 'TransactionDate' (YYYY-MM-DD).
구성 파일 (YAML) 생성
Generate a sample YAML configuration for a 'user_service'. Include sections for 'database' with 'host', 'port', 'username', 'password', 'database_name'. Also include a 'api_keys' section with 'payment_gateway' and 'email_service' placeholders. Use realistic default values.
특이 사례/검증을 위한 테스트 데이터 생성
Generate a JSON array of 8 email addresses for testing purposes. Include a mix of: 2 valid standard emails, 2 with missing '@', 2 with invalid domains (e.g., '.com1'), and 2 with special characters in the local part that are usually invalid (e.g., spaces or multiple dots).
11. 축하합니다
축하합니다. Gemini CLI와 그 기능을 살펴보고 몇 가지 사용 사례에 적용했습니다.