Commit Graph

654 Commits

Author SHA1 Message Date
cperry-goog a49f734c13 refactor: rename gemini-code to gemini-cli (#822) 2025-06-07 14:27:22 -07:00
Tommaso Sciortino 9ab8049312 Eliminate createServerConfig() (#821) 2025-06-07 13:49:00 -07:00
Tommaso Sciortino 0e56927c79 Fix missing arg warning in tests (#820) 2025-06-07 13:39:53 -07:00
Eddie Santos 72b6b10e55 Add embedder (#818) 2025-06-07 13:38:05 -07:00
cperry-goog c0270dddf5 fix(build): correct sandbox warning link (#819) 2025-06-07 12:42:32 -07:00
matt korwel d749c1c429 Creating Node AST Tool. (#756) 2025-06-07 12:07:58 -07:00
Bryan Morgan 42a29562cf Added /mcp command support and cleaned up broken tests (#817) 2025-06-07 15:06:18 -04:00
Tommaso Sciortino b1e4d9f412 Push model-switching logging into loadCliConfig (#815) 2025-06-07 11:12:30 -07:00
Tommaso Sciortino 1b6463c220 More version simplifiction. (#810) 2025-06-07 10:54:23 -07:00
cperry-goog eeaff25857 docs: update and reorganize documentation (#806) 2025-06-07 10:47:30 -07:00
Eddie Santos aa293865c4 toggle off (#809) 2025-06-07 00:06:15 -07:00
Keith Ballinger 7ad5f52437 Add batch editing capabilities to Edit Tool (#648)
Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com>
2025-06-06 22:54:37 -07:00
Tommaso Sciortino 03125a24e2 clean up version lookup code (#804) 2025-06-06 16:21:20 -07:00
cperry-goog 65879e652d adding very important phrases (#802) 2025-06-06 14:49:40 -07:00
Jacob Richman 618dfa2c9f feat(ui): add cursor to empty input prompt (#800) 2025-06-06 13:44:11 -07:00
jerop 725166b2bb docs: Initialize tutorials section with MCP server example
This commit adds a new `tutorials.md` file to the CLI documentation.
This section is intended to house various tutorials for using Gemini CLI.

The initial content includes a tutorial on setting up Model Context
Protocol (MCP) servers, using the GitHub MCP server as an example.

The `docs/cli/index.md` has been updated to include a link to this
new tutorials section.
2025-06-06 13:05:13 -04:00
Jacob Richman 92891c9325 Exit with an error message if parsing settings.json fails. (#747) 2025-06-06 09:56:45 -07:00
jerop 3b0156b993 Test: Verify concatenated env var resolution in settings
Adds a test case to `settings.test.ts` to specifically verify
the correct resolution of multiple environment variables concatenated
within a single string value (e.g., ${HOST}:${PORT} ).
2025-06-06 11:47:37 -04:00
jerop b3ada973b1 Refactor: Improve env var resolution in settings
Refactors the `resolveEnvVarsInObject` function in settings to
explicitly handle primitive types (null, undefined, boolean, number)
at the beginning of the function. This clarifies the logic for
subsequent string, array, and object processing.
2025-06-06 11:47:37 -04:00
jerop afa72a00fa feat: Enable environment variable substitution in settings
This commit introduces the ability to use system environment variables
within the settings files (e.g., `settings.json`). Users can now
reference environment variables using the `${VAR_NAME}` syntax.

This enhancement improves security and flexibility, particularly
for configurations like MCP server settings, which often require
sensitive tokens.

Previously, to configure an MCP server, a token might be directly
embedded:
```json
"mcpServers": {
  "github": {
    "env": {
      "GITHUB_PERSONAL_ACCESS_TOKEN": "pat_abc123"
    }
    // ...
  }
}
```

With this change, the same configuration can securely reference an
environment variable:
```json
"mcpServers": {
  "github": {
    "env": {
      "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_PERSONAL_ACCESS_TOKEN}"
    }
    // ...
  }
}
```

This allows users to avoid storing secrets directly in configuration files.
2025-06-06 11:47:37 -04:00
Jacob Richman 31a6e15605 Fix build break due to changes to theme. (#796) 2025-06-06 08:05:00 -07:00
Jacob Richman 46de24c624 feat(cli): respect the NO_COLOR env variable (#772) 2025-06-06 07:55:28 -07:00
DeWitt Clinton a769fae655 Reduce noisy logging for missing .geminiignore file. (#793) 2025-06-06 07:47:43 -07:00
Eddie Santos f1178532a0 Add Gemini code review agent to repo (#782) 2025-06-05 21:37:06 -07:00
matt korwel 5dcf19e1b3 Title & Big text Updates (#781) 2025-06-05 18:14:02 -07:00
Miguel Solorio 3cdbeb879b Allow themes to theme the UI (#769) 2025-06-05 14:35:47 -07:00
Brandon Keiji 1178f2304e refactor: remove unnecessary useRefs (#780) 2025-06-05 21:33:24 +00:00
Olcan 5a6c1bad69 skip npm build for custom sandbox (#779) 2025-06-05 14:15:43 -07:00
N. Taylor Mullen 7bb69089f3 Add support for configured mcp client timeout. (#775) 2025-06-05 20:35:00 +00:00
Tommaso Sciortino e603788ba2 Introduce generate content interface (#755) 2025-06-05 13:26:38 -07:00
Jerop Kipruto d0de44824f OpenTelemetry Integration & Telemetry Control Flag (#762) 2025-06-05 13:04:25 -07:00
Olcan d7b59dcb64 use execSync (vs spawnSync) so launch fails if build_sandbox fails; tweaks in build_sandbox to fix some shellcheck warnings, and to simplify the logic slightly (#767) 2025-06-05 13:02:56 -07:00
Eddie Santos 6b745dd861 Bump default model to gemini-2.5-pro-preview-06-05 (#765) 2025-06-05 11:52:36 -07:00
Eddie Santos 9a7199519e Add support for .geminiignore file (#757) 2025-06-05 10:15:27 -07:00
Tolik Malibroda c90b7a0a3f fix: Disable automatic image building if BUILD_SANDBOX is not provided (#764) 2025-06-05 18:47:39 +02:00
Tolik Malibroda 95917b22da feat: Add multi-stage docker build support for custom sandbox.Dockerfile (#746) 2025-06-05 17:46:54 +02:00
Miguel Solorio 2e8beb0c72 Add Theme docs (#753) 2025-06-05 08:10:05 -07:00
anj-s 91abea3419 Checks for diff changes before displaying the code snippet (#751) 2025-06-05 06:48:03 -07:00
Jacob Richman 50efcbf241 Jacob314/memory fixes (#754)
Address multiple possible memory leaks found bystatic analysis of the codebase. The primary source of the leaks was event listeners on child processes and global objects that were not being properly removed, potentially causing their closures to be retained in memory indefinitely particularly for processes that did not exit.

There are two commits. A larger one made by gemini CLI and a smaller one by me to make sure we always disconnect child processes as part of the cleanup methods. These changes may not actually fix any leaks but do look like reasonable defensive coding to avoid leaking event listeners or child processes.

The following files were fixed:
This is Gemini's somewhat overconfident description of what it did.

packages/core/src/tools/shell.ts: Fixed a leak where an abortSignal listener was not being reliably removed.
packages/cli/src/utils/readStdin.ts: Fixed a significant leak where listeners on process.stdin were never removed.
packages/cli/src/utils/sandbox.ts: Fixed leaks in the imageExists and pullImage helper functions where listeners on spawned child processes were not being removed.
packages/core/src/tools/grep.ts: Fixed three separate leaks in the isCommandAvailable check and the git grep and system grep strategies due to un-removed listeners on child processes.
packages/core/src/tools/tool-registry.ts: Corrected a leak in the execute method of the DiscoveredTool class where listeners on the spawned tool process were not being removed.
2025-06-05 06:40:33 -07:00
N. Taylor Mullen 88122aa11f Fix "npx https:...." header issue (#759) 2025-06-05 07:00:34 +00:00
N. Taylor Mullen 3cf096328f fix(cli): Handle non-array tool response parts (#758) 2025-06-05 06:25:57 +00:00
Eddie Santos c93f31aae1 Add /tools slash command to view available tools (#752) 2025-06-04 14:01:38 -07:00
Olcan 62155932e2 mention BUILD_SANDBOX for custom sandboxing (#749) 2025-06-04 12:58:44 -07:00
Riccardo Carlesso 7a1774a8ae Docs: Update architecture diagram with Google colors (for future aricles) (#718) 2025-06-04 12:33:07 -07:00
Tommaso Sciortino 194a53a987 CLI_TITLE env var for setting the CLI title (#748) 2025-06-04 10:44:50 -07:00
Miguel Solorio 8b972ff351 Update light themes (#726) 2025-06-04 10:41:03 -07:00
Keith Ballinger 813f5d9f16 Fix broken documentation links after server->core folder rename (#740) 2025-06-04 10:02:07 -07:00
N. Taylor Mullen 9d1b31e667 Bring back 2.5-pro usage (#744)
https://chat.google.com/room/AAQApBm33UQ/8DQw4Ykp8f0/8DQw4Ykp8f0?cls=10
2025-06-04 09:29:14 -07:00
N. Taylor Mullen 14e87c4987 feat(accessibility): Add option to disable loading phrases (#745) 2025-06-04 07:46:57 +00:00
N. Taylor Mullen 8c7f645643 refactor(core): Centralize tool response formatting (#743) 2025-06-04 07:24:25 +00:00