|
||
---|---|---|
.gcp | ||
.gemini | ||
.github | ||
.vscode | ||
docs | ||
eslint-rules | ||
integration-tests | ||
packages | ||
scripts | ||
.gitattributes | ||
.gitignore | ||
.npmrc | ||
.prettierrc.json | ||
CONTRIBUTING.md | ||
Dockerfile | ||
GEMINI.md | ||
LICENSE | ||
Makefile | ||
README.md | ||
esbuild.config.js | ||
eslint.config.js | ||
package-lock.json | ||
package.json | ||
tsconfig.json |
README.md
Gemini CLI
This repository contains the Gemini CLI tool.
Quickstart
-
Prerequisites: Ensure you have Node.js version 18 or higher installed.
-
Run the CLI: Execute the following command in your terminal:
npx https://github.com/google-gemini/gemini-cli
-
Authenticate: When prompted, sign in with your Google account. This will grant you up to 60 model requests per minute and 1,000 model requests per day using Gemini 2.5 Pro.
You are now ready to use the Gemini CLI!
For advanced use or increased limits:
If you need to use a specific model or require a higher request capacity, you can use an API key:
-
Generate a key from Google AI Studio.
-
Set it as an environment variable in your terminal. Replace
YOUR_API_KEY
with your generated key.export GEMINI_API_KEY="YOUR_API_KEY"
Examples
Once the CLI is running, you can start interacting with Gemini from your shell. Try a simple query:
> How can I build a web app?
Or ask it to perform a task using its tools:
> List files in the current directory.
Authentication Setup
The Gemini CLI requires you to authenticate with Google's AI services. On initial startup you'll need to configure one of the following authentication methods:
-
Login with Google (Gemini Code Assist):
- Use this option to log in with the standard, free account you use for services like Gmail, Google Photos, and Google Drive for personal use (e.g. your-name@gmail.com).
- During initial startup, Gemini CLI will direct you to a webpage for authentication. Once authenticated, your credentials will be cached locally so the web login can be skipped on subsequent runs.
- Note that the web login must be done in a browser that can communicate with the machine Gemini CLI is being run from. (Specifically, the browser will be redirected to a localhost url that Gemini CLI will be listening on).
-
Gemini API key:
- Obtain your API key from Google AI Studio: https://aistudio.google.com/app/apikey
- Set the
GEMINI_API_KEY
environment variable. In the following methods, replaceYOUR_GEMINI_API_KEY
with the API key you obtained from Google AI Studio:- You can temporarily set the environment variable in your current shell session using the following command:
export GEMINI_API_KEY="YOUR_GEMINI_API_KEY"
- For repeated use, you can add the environment variable to your
.env
file (located in the project directory or user home directory) or your shell's configuration file (like~/.bashrc
,~/.zshrc
, or~/.profile
). For example, the following command adds the environment variable to a~/.bashrc
file:echo 'export GEMINI_API_KEY="YOUR_GEMINI_API_KEY"' >> ~/.bashrc source ~/.bashrc
- You can temporarily set the environment variable in your current shell session using the following command:
-
Login with Google Work
- Use this option to log in with the Google Workspace Accounts. This is a paid service for businesses and organizations that provides a suite of productivity tools, including a custom email domain (e.g. your-name@your-company.com), enhanced security features, and administrative controls. These accounts are often managed by an employer or school.
- Google Workspace Account must configure a Google Cloud Project Id to use. You can temporarily set the environment variable in your current shell session using the following command:
export GOOGLE_CLOUD_PROJECT_ID="YOUR_PROJECT_ID"
- For repeated use, you can add the environment variable to your
.env
file (located in the project directory or user home directory) or your shell's configuration file (like~/.bashrc
,~/.zshrc
, or~/.profile
). For example, the following command adds the environment variable to a~/.bashrc
file:
echo 'export GOOGLE_CLOUD_PROJECT_ID="YOUR_PROJECT_ID"' >> ~/.bashrc source ~/.bashrc
- During startup, Gemini CLI will direct you to a webpage for authentication. Once authenticated, your credentials will be cached locally so the web login can be skipped on subsequent runs.
- Note that the web login must be done in a browser that can communicate with the machine Gemini CLI is being run from. (Specifically, the browser will be redirected to a localhost url that Gemini CLI will be listening on).
- Use this option to log in with the Google Workspace Accounts. This is a paid service for businesses and organizations that provides a suite of productivity tools, including a custom email domain (e.g. your-name@your-company.com), enhanced security features, and administrative controls. These accounts are often managed by an employer or school.
-
Vertex AI:
- If not using express mode:
- Ensure you have a Google Cloud project and have enabled the Vertex AI API.
- Set up Application Default Credentials (ADC), using the following command:
For more information, see Set up Application Default Credentials for Google Cloud.gcloud auth application-default login
- Set the
GOOGLE_CLOUD_PROJECT
,GOOGLE_CLOUD_LOCATION
, andGOOGLE_GENAI_USE_VERTEXAI
environment variables. In the following methods, replaceYOUR_PROJECT_ID
andYOUR_PROJECT_LOCATION
with the relevant values for your project:- You can temporarily set these environment variables in your current shell session using the following commands:
export GOOGLE_CLOUD_PROJECT="YOUR_PROJECT_ID" export GOOGLE_CLOUD_LOCATION="YOUR_PROJECT_LOCATION" # e.g., us-central1 export GOOGLE_GENAI_USE_VERTEXAI=true
- For repeated use, you can add the environment variables to your
.env
file (located in the project directory or user home directory) or your shell's configuration file (like~/.bashrc
,~/.zshrc
, or~/.profile
). For example, the following commands adds the environment variables to a~/.bashrc
file:echo 'export GOOGLE_CLOUD_PROJECT="YOUR_PROJECT_ID"' >> ~/.bashrc echo 'export GOOGLE_CLOUD_LOCATION="YOUR_PROJECT_LOCATION"' >> ~/.bashrc echo 'export GOOGLE_GENAI_USE_VERTEXAI=true' >> ~/.bashrc source ~/.bashrc
- You can temporarily set these environment variables in your current shell session using the following commands:
- If using express mode:
- Set the
GOOGLE_API_KEY
environment variables. In the following methods, replaceYOUR_GOOGLE_API_KEY
with your Vertex AI API key provided by express mode:- You can temporarily set these environment variables in your current shell session using the following commands:
export GOOGLE_API_KEY="YOUR_GOOGLE_API_KEY" export GOOGLE_GENAI_USE_VERTEXAI=true
- For repeated use, you can add the environment variables to your
.env
file (located in the project directory or user home directory) or your shell's configuration file (like~/.bashrc
,~/.zshrc
, or~/.profile
). For example, the following commands adds the environment variables to a~/.bashrc
file:echo 'export GOOGLE_API_KEY="YOUR_GOOGLE_API_KEY"' >> ~/.bashrc echo 'export GOOGLE_GENAI_USE_VERTEXAI=true' >> ~/.bashrc source ~/.bashrc
- You can temporarily set these environment variables in your current shell session using the following commands:
- Set the
- If not using express mode:
Next Steps
- Learn how to contribute to or build from the source.
- Explore the available CLI Commands.
- If you encounter any issues, review the Troubleshooting guide.
- For more comprehensive documentation, see the full documentation.
Gemini APIs
This project leverages the Gemini APIs to provide AI capabilities. For details on the terms of service governing the Gemini API, please refer to the Gemini API Terms of Service.