Commit Graph

52 Commits

Author SHA1 Message Date
N. Taylor Mullen
b9195adb0f fix(deps): revert yargs bump and fix npx regression (#3610) 2025-07-08 23:44:56 -07:00
Pascal Birchler
1ed04683e4 fix(auth): do not blindly default to API key auth (#3235)
Co-authored-by: matt korwel <matt.korwel@gmail.com>
Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com>
2025-07-08 22:10:36 +00:00
Marat Boshernitsan
488a5853dd fix: Honor DEBUG and CLI_TITLE environment variables (#3560) 2025-07-08 19:34:17 +00:00
Billy Biggs
0c2a369108 Add a command line option to enable and list extensions (#3191) 2025-07-08 16:57:34 +00:00
Marat Boshernitsan
5c6d8f7548 Enable Gemini CLI to reuse user's auth in Cloud Shell (#3070) 2025-07-07 22:02:13 +00:00
Tommaso Sciortino
1afb62ad31 Initialize MCP tools once at start up instead of every time we auth. (#3483) 2025-07-07 22:01:59 +00:00
Pyush Sinha
35ccd9f02c feat: add user startup warnings, add home directory check (#3056) 2025-07-06 06:27:00 +00:00
matt korwel
bff4641ec1 Mk nohup (#3285) 2025-07-05 15:27:22 +00:00
Mithlesh kumar
b95b11af7c chore: typo fixes (#3203)
Co-authored-by: Jack Wotherspoon <jackwoth@google.com>
2025-07-04 15:38:43 +00:00
Tommaso Sciortino
6bd55b9039 Use the constant placeholders for ".gemini/settings.json" in gemini.tsx (#2860) 2025-07-01 18:00:21 +00:00
Tommaso Sciortino
20cb3f4321 Improve LoadCodeAssist error handling (#1645) 2025-06-26 15:27:20 +00:00
Noritaka Kobayashi
8bd166f74b chore: fix typos in comment-out (#1540)
Co-authored-by: Scott Densmore <scottdensmore@mac.com>
2025-06-26 04:34:53 +00:00
Brandon Keiji
5ad4a0a826 fix: prepublish changes to package names (#1420) 2025-06-25 12:41:11 +00:00
Jacob Richman
7c0317fb30 Jacob314/max old space (#1314) 2025-06-24 14:18:55 -07:00
owenofbrien
a230beb945 Clearcut logging - initial implementation (#1274)
Flag-guarded initial implementation of a clearcut logger to collect telemetry data and send it to Concord for dashboards, etc.
2025-06-22 14:26:48 +00:00
matt korwel
9ef6fb9f2e fallback to gemini_api_key (#1255) 2025-06-20 01:36:33 -07:00
Jacob Richman
bdab188f95 Turn off debug logging of MaxSizedBox errors by default. (#1228) 2025-06-20 05:27:03 +00:00
Louis Jimenez
18d2f3bebd Make checkpoints configurable in settings.json (#1251) 2025-06-20 00:39:15 -04:00
matt korwel
eda4c79222 Auth First Run (#1207)
Co-authored-by: Tommaso Sciortino <sciortino@gmail.com>
Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com>
2025-06-19 16:52:22 -07:00
Tommaso Sciortino
11eb963070 Initialize geminiClient in noninteractive mode (#1222) 2025-06-19 17:21:39 +00:00
Tommaso Sciortino
0c6aa35221 Refactor in preparation for Reauth (#1196) 2025-06-18 16:34:00 -07:00
Allen Hutchison
aa967d7a49 Fix noise in headless mode on STDOUT (#1184) 2025-06-18 11:40:15 -07:00
Brandon Keiji
342b077aff feat: consolidate sandbox configurations into a single object (#1154) 2025-06-18 17:01:00 +00:00
N. Taylor Mullen
7db86df9f5 refactor(cli): Use excludeTools for non-interactive mode (#1072) 2025-06-15 16:05:40 -07:00
Anas H. Sulaiman
194e091d4a centralize file filtering in FileDiscoveryService (#1039) 2025-06-14 14:25:34 +00:00
Anas H. Sulaiman
84c7332308 reuse GitIgnoreParser for loading .geminiignore (#1025) 2025-06-13 17:17:08 -04:00
Tommaso Sciortino
2d84cf7803 Fix default extension context filename and update docs (#1024) 2025-06-13 13:57:00 -07:00
Jerop Kipruto
bea4a403ee Handle telemetry in non-interactive mode (#1002)
Changes:
- Ensure proper shutdown in non-interactive mode
- Ensures the initial user prompt is logged in non-interactive mode
- Improve telemetry for streaming - handle chunks and input token count is now alongside other token counts in response

To test:
- Follow instructions in https://github.com/google-gemini/gemini-cli/blob/main/docs/core/telemetry.md#google-cloud
- Run CLI in non-interactive mode and observe logs/metrics in GCP Logs Explorer and Metrics Explorer

#750
2025-06-13 03:44:17 -04:00
Tommaso Sciortino
3da4b71ae1 Cache oauth credentials (#927) 2025-06-11 13:26:41 -07:00
Louis Jimenez
b19571d9ab Restore Checkpoint Feature (#934) 2025-06-11 15:33:09 -04:00
jerop
e8faf83c15 refactor: Centralize session ID generation and propagation 2025-06-11 01:18:40 -04:00
Tommaso Sciortino
e2ae6cef9d Remove warnings for old env var names. (#920) 2025-06-10 18:34:36 -07:00
Tommaso Sciortino
6a0f6f9f90 Allow simple extensions for registering MCPservers (#890) 2025-06-10 15:48:39 -07:00
Mark McDonald
5f94e26840 Add a window title when CLI is launched (#787) 2025-06-10 11:54:51 +08:00
N. Taylor Mullen
cf7c1e5e1d Revert "Add batch editing capabilities to Edit Tool (#648)" (#857) 2025-06-08 23:20:43 +00:00
Abhi
b37e9f454d feat: Introduce session context and add session duration stat for /stats command (#854) 2025-06-08 18:01:02 -04:00
cperry-goog
a49f734c13 refactor: rename gemini-code to gemini-cli (#822) 2025-06-07 14:27:22 -07: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
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
Jacob Richman
92891c9325 Exit with an error message if parsing settings.json fails. (#747) 2025-06-06 09:56:45 -07:00
Eddie Santos
9a7199519e Add support for .geminiignore file (#757) 2025-06-05 10:15:27 -07: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
N. Taylor Mullen
d55f841eac Remove redundant variable. (#713) 2025-06-02 21:18:01 -07:00
N. Taylor Mullen
77ed1e283e Feat: Enable YOLO mode for non-interactive execution (#702) 2025-06-02 22:35:03 +00:00
Allen Hutchison
dc25ca81a3 feat(cli): add pro model availability check and fallback to flash (#608) 2025-06-02 13:55:54 -07:00
N. Taylor Mullen
25b12d8297 feat: Implement non-interactive mode for CLI (#675) 2025-06-01 23:11:37 +00:00
Daniel Young Lee
0f5c712871 feat: Implement delayed Ctrl+C exit prompt
This change introduces a small delay after the first Ctrl+C press, prompting the user to press Ctrl+C again to exit. This helps prevent accidental termination of the application.

- Added `exitOnCtrlC={false}` to the Ink render options in `gemini.tsx` to enable custom Ctrl+C handling.
- Implemented logic in `App.tsx` to:
    - Display "Press Ctrl+C again to exit." for 2 seconds after the first Ctrl+C.
    - Exit the application if Ctrl+C is pressed again during this period.
    - Revert to normal operation if the second Ctrl+C is not pressed within the timeout.
- Defined a constant `CTRL_C_PROMPT_DURATION_MS` for the timeout duration.
2025-05-30 20:51:07 -07:00
Tommaso Sciortino
64bd136f42 Rename server->core (#638) 2025-05-30 18:25:47 -07:00