Commit Graph

29 Commits

Author SHA1 Message Date
Anas H. Sulaiman
082a65caa5 cleanup unused allowBuildArtifacts (#1010) 2025-06-13 12:00:38 -04:00
Leo
31710f0ef3 remove enable editor flag (#984) 2025-06-12 17:28:20 +00:00
Leo
cb4b803f5b feat: External editor settings (#882) 2025-06-11 18:21:54 -07:00
JingboWang1997-1
1418c37801 add excludeTools flag to settings.json config (#957) 2025-06-11 14:32:23 -07:00
Mark McDonald
5f94e26840 Add a window title when CLI is launched (#787) 2025-06-10 11:54:51 +08:00
Leo
588e79e48f feat: Add flow to allow modifying edits during edit tool call (#808) 2025-06-08 10:56:58 -07:00
cperry-goog
a49f734c13 refactor: rename gemini-code to gemini-cli (#822) 2025-06-07 14:27:22 -07:00
Jacob Richman
92891c9325 Exit with an error message if parsing settings.json fails. (#747) 2025-06-06 09:56:45 -07: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
Jerop Kipruto
d0de44824f OpenTelemetry Integration & Telemetry Control Flag (#762) 2025-06-05 13:04:25 -07:00
Tommaso Sciortino
194a53a987 CLI_TITLE env var for setting the CLI title (#748) 2025-06-04 10:44:50 -07:00
N. Taylor Mullen
14e87c4987 feat(accessibility): Add option to disable loading phrases (#745) 2025-06-04 07:46:57 +00:00
Keith Ballinger
906f716d3e Ignore folders files (#651)
# Add .gitignore-Aware File Filtering to gemini-cli

This pull request introduces .gitignore-based file filtering to the gemini-cli, ensuring that git-ignored files are automatically excluded from file-related operations and suggestions throughout the CLI. The update enhances usability, reduces noise from build artifacts and dependencies, and provides new configuration options for fine-tuning file discovery.

Key Improvements
.gitignore File Filtering

All @ (at) commands, file completions, and core discovery tools now honor .gitignore patterns by default.
Git-ignored files (such as node_modules/, dist/, .env, and .git) are excluded from results unless explicitly overridden.
The behavior can be customized via a new fileFiltering section in settings.json, including options for:
Turning .gitignore respect on/off.
Adding custom ignore patterns.
Allowing or excluding build artifacts.
Configuration & Documentation Updates

settings.json schema extended with fileFiltering options.
Documentation updated to explain new filtering controls and usage patterns.
Testing

New and updated integration/unit tests for file filtering logic, configuration merging, and edge cases.
Test coverage ensures .gitignore filtering works as intended across different workflows.
Internal Refactoring

Core file discovery logic refactored for maintainability and extensibility.
Underlying tools (ls, glob, read-many-files) now support git-aware filtering out of the box.


Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com>
2025-06-04 04:40:46 +00:00
Scott Densmore
00229cf6da feat(cli): Allow custom title in CLI header (#706) 2025-06-02 17:09:55 -07:00
Allen Hutchison
dc25ca81a3 feat(cli): add pro model availability check and fallback to flash (#608) 2025-06-02 13:55:54 -07:00
Allen Hutchison
b78c320cbd feat: allow custom filename for context files (#654)
Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com>
2025-05-31 12:49:28 -07:00
Miguel Solorio
f15dff0acd Update default & ANSI theme names (#637) 2025-05-31 11:10:52 -07:00
Tommaso Sciortino
64bd136f42 Rename server->core (#638) 2025-05-30 18:25:47 -07:00
Jacob Richman
d695b90196 feat: add --show_memory_usage flag to display memory usage in status bar (#606) 2025-05-30 15:18:01 -07:00
olcan
8e753fda6a allow comments in settings.json 2025-05-18 10:58:20 -07:00
Olcan
935686a278 ability to override core system prompt (via .gemini/system.md) and specify core tools via coreTools setting (e.g. coreTools:["ls", "GrepTool", ...]) ; added tests, but did not update docs for now (#413) 2025-05-17 19:45:16 -07:00
Olcan
5d33b95f55 added timeout setting to mcp server config, also switched to custom config type without "stderr" field that does not make sense in settings (#410) 2025-05-17 16:53:22 -07:00
Olcan
7db21fc49f improved mcp support, including standard "mcpServers" setting with multiple named servers with command/args/env/cwd (#392) 2025-05-16 16:29:03 -07:00
olcan
06274153ba support for mcp tools 2025-05-05 17:10:45 -07:00
olcan
44d0b55ebd support for discovered tools using project settings for discovery and call commands 2025-05-05 17:10:45 -07:00
Olcan
0200fdc27c sandbox setting and argument (#243) 2025-05-02 08:15:46 -07:00
Olcan
c4d68dccf2 mount user settings in sandbox (#239) 2025-05-01 12:08:24 -07:00
Jacob Richman
979f52e967 Save settings to ~/.gemini/settings.json and optionally /your/workspace/.gemini/settings.json (#237) 2025-05-01 10:34:07 -07:00