gemini-cli/packages/cli
Taylor Mullen 3db2a796ec Fix Tool -> Text -> Confirmation bu that results in disordered history
- We weren't reseting the tool group inbetween content which meant we'd start a new group on the first tool call, and if regular textual content followed it'd effectively close that group; however, we weren't updating our state to really close that group. Meaning, any subsequent tool calls or confirmations would get grouped with the original grouping.
  - When we see textual content from Gemini we now reset the tool call group.

Fixes https://b.corp.google.com/issues/412605330
2025-04-22 10:33:36 -04:00
..
src Fix Tool -> Text -> Confirmation bu that results in disordered history 2025-04-22 10:33:36 -04:00
README.md docs: Add setup instructions for API key to README (#1) 2025-04-17 11:59:12 -07:00
index.ts refactor: clean up build output (#53) 2025-04-20 12:33:39 -07:00
package.json fix: point npmrc to dogfood artifact registry (#108) 2025-04-21 23:11:51 -07:00
tsconfig.json refactor: clean up build output (#53) 2025-04-20 12:33:39 -07:00

README.md

Gemini Code CLI

This package contains the core command-line interface for Gemini Code.

Setup

  1. Get a Gemini API Key: Obtain your API key from Google AI Studio: https://aistudio.google.com/app/apikey
  2. Set Environment Variable: Set the GEMINI_API_KEY environment variable to your obtained key. You can do this temporarily in your current shell session:
    export GEMINI_API_KEY="YOUR_API_KEY"
    
    Or add it to your shell's configuration file (like ~/.bashrc, ~/.zshrc, or ~/.profile) for persistence:
    echo 'export GEMINI_API_KEY="YOUR_API_KEY"' >> ~/.bashrc # Or your preferred shell config file
    source ~/.bashrc # Reload the config
    
    Replace "YOUR_API_KEY" with your actual key.

Building

To build only the CLI package, navigate to this directory (packages/cli) and run:

npm run build

This command executes the TypeScript compiler (tsc) as defined in this package's package.json. Ensure dependencies have been installed from the root directory (npm install) first.

Running

To start the Gemini Code CLI directly from this directory:

npm start

This command executes node dist/gemini.js as defined in this package's package.json.

Debugging

To debug the CLI application using VS Code:

  1. Start the CLI in debug mode from this directory (packages/cli):
    npm run debug
    
    This command runs node --inspect-brk dist/gemini.js, pausing execution until a debugger attaches.
  2. In VS Code (opened at the root of the monorepo), use the "Attach" launch configuration (found in .vscode/launch.json). This configuration is set up to attach to the Node.js process listening on port 9229, which is the default port used by --inspect-brk.