# Gemini CLI This package contains the core command-line interface for Gemini CLI. ## Setup 1. **Get a Gemini API Key:** Obtain your API key from Google AI Studio: [https://aistudio.google.com/app/apikey](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: ```bash export GEMINI_API_KEY="YOUR_API_KEY" ``` Or add it to your shell's configuration file (like `~/.bashrc`, `~/.zshrc`, or `~/.profile`) for persistence: ```bash 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: ```bash 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 CLI directly from this directory: ```bash 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`): ```bash 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`.