summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui/App.tsx
AgeCommit message (Collapse)Author
2025-06-15feat: Add token stats in footer (#909)Asad Memon
2025-06-14centralize file filtering in `FileDiscoveryService` (#1039)Anas H. Sulaiman
2025-06-14Add `/compress` command to force a compression of the context (#986)Jacob MacDonald
Related to https://b.corp.google.com/issues/423605555 - I figured this might be a simpler solution to start with, while still also being useful on its own even if we do implement that.
2025-06-13initialize `FileDiscoveryService` once (#1029)Anas H. Sulaiman
2025-06-13feat(cli): support ctrl+d to exit (#878)Daniel Lee
Similar to ctrl+c, ctrl+d can now be used to exit the program. To avoid accidental exit, ctrl+d must be pressed twice in relatively quick succession (same as ctrl+c). Following common UX pattern, ctrl+d will be ignored when the input prompt is non-empty. This behavior is similar to how most shell (bash/zsh) behaves. To support this, I had to refactor so that text buffer is initialized outside of the InputPrompt component and instead do it on the main App component to allow input controller to have access to check the content of the text buffer.
2025-06-13Update contextFileName to support an optional list of strings (#1001)Billy Biggs
2025-06-13Replace logo with custom ASCII (#958)Miguel Solorio
2025-06-11feat: External editor settings (#882)Leo
2025-06-11Show session summary on exit for ctrl+c x 2. Fix exit UI (#963)Abhi
2025-06-11Restore Checkpoint Feature (#934)Louis Jimenez
2025-06-09feat: Display initial token usage metrics in /stats (#879)Abhi
2025-06-08feat: Introduce session context and add session duration stat for `/stats` ↵Abhi
command (#854)
2025-06-08feat: Add flow to allow modifying edits during edit tool call (#808)Leo
2025-06-07Bryanmorgan/add mcp description support (#825)Bryan Morgan
2025-06-07refactor: rename gemini-code to gemini-cli (#822)cperry-goog
2025-06-07More version simplifiction. (#810)Tommaso Sciortino
2025-06-06clean up version lookup code (#804)Tommaso Sciortino
2025-06-06feat(cli): respect the NO_COLOR env variable (#772)Jacob Richman
2025-06-05Title & Big text Updates (#781)matt korwel
2025-06-05refactor: remove unnecessary useRefs (#780)Brandon Keiji
2025-06-05Fix "npx https:...." header issue (#759)N. Taylor Mullen
2025-06-04CLI_TITLE env var for setting the CLI title (#748)Tommaso Sciortino
2025-06-04feat(accessibility): Add option to disable loading phrases (#745)N. Taylor Mullen
2025-06-03Fix several bugs in prompt history (#734)Marat Boshernitsan
Co-authored-by: Marat Boshernitsan <[email protected]>
2025-06-02feat(cli): Allow custom title in CLI header (#706)Scott Densmore
2025-06-02feat: Add --yolo mode that automatically accepts all tools executions (#695)Tolik Malibroda
Co-authored-by: N. Taylor Mullen <[email protected]>
2025-06-01fix: Display MCP server count in context summary (#674)N. Taylor Mullen
2025-06-01refactor: Centralize tool scheduling logic and simplify React hook (#670)N. Taylor Mullen
2025-05-31feat: allow custom filename for context files (#654)Allen Hutchison
Co-authored-by: N. Taylor Mullen <[email protected]>
2025-05-30feat: Implement delayed Ctrl+C exit promptDaniel Young Lee
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-30Rename server->core (#638)Tommaso Sciortino
2025-05-30feat: add --show_memory_usage flag to display memory usage in status bar (#606)Jacob Richman
2025-05-28feat: add git branch name to footer (#589)Brandon Keiji
2025-05-28Cleanup: Remove low value StreamingContextType interface. (#585)Jacob Richman
2025-05-24feat: Add GEMINI.md tip to UITaylor Mullen
- Display a tip to create a GEMINI.md file if one doesn't exist. - Pass config to Tips component so it can inspect the initial GEMINI.md count.
2025-05-24Code review comment fixes and some refactors. (#525)Jacob Richman
No intentional different behavior aside for tweaks suggested from the code review of #506 Refactor: Extract console message logic to custom hook This commit refactors the console message handling from App.tsx into a new custom hook useConsoleMessages. This change improves the testability of the console message logic and declutters the main App component. Created useConsoleMessages.ts to encapsulate console message state and update logic. Updated App.tsx to utilize the new useConsoleMessages hook. Added unit tests for useConsoleMessages.ts to ensure its functionality. I deleted and started over on LoadingIndicator.test.tsx as I spent way too much time trying to fix it before just regenerating the tests as the code was easier to write tests for from scratch and the existing tests were not that good (I added them in the previous pull request).
2025-05-23Make console message support more robust to logging in the middle of ↵Jacob Richman
rendering. (#521)
2025-05-23Add additional readline-like keybindings. (#524)DeWitt Clinton
Adds the following conventional readline-like keybindings: - `Ctrl+H`: Delete the previous character. - `Ctrl+D`: Delete the next character. Additionally, remaps the Debug Console command from Ctrl+D to Ctrl+O, which had been first introduced in PR #486.
2025-05-23feat: Modify loading indicator to support a paused state (#506)Jacob Richman
2025-05-22Refactor: Improve console error/log display in CLI (#486)Jacob Richman
2025-05-21feat: useToolScheduler hook to manage parallel tool calls (#448)Brandon Keiji
2025-05-21Fix: Resolve CLI version reporting in /bug command (#455)Allen Hutchison
2025-05-21Add Logger for command history (#435)Seth Troisi
2025-05-20Merge InputPrompt and multiline-editor and move autocomplete logic directly ↵Jacob Richman
into InputPrompt (#453)
2025-05-20fix system override indicator (#450)Olcan
2025-05-20Implement additional readline-like keybindings, including alt-left arrow and ↵DeWitt Clinton
alt-right arrow. (#443) This change adds keybinding support for: - `Ctrl+B`: Moves the cursor backward one character. - `Ctrl+F`: Moves the cursor forward one character. - `Alt+Left Arrow`: Moves the cursor backward one word. - `Alt+Right Arrow`: Moves the cursor forward one word. Closes b/411469305.
2025-05-20fix(cli): Prevent truncation of first character in shell commandsTaylor Mullen
- The shell command processor was incorrectly truncating the first character of the command (e.g., 'ls' became 's') due to an erroneous `slice(1)` operation, likely introduced during a previous merge. This change removes the slice, ensuring the full command is processed. - Introduces unit tests for the shellCommandProcessor hook. - Fixes a minor grammatical issue in the display of GEMINI.md file count.
2025-05-19ui tweaks (#442)Olcan
2025-05-19fix: Ensure user written `!` is treated opaquely if not in shell mode\n\n- ↵Taylor Mullen
Addresses an issue where commands prefixed with `!` (e.g., `!ls`) were incorrectly handled by the shell command processor if the `!` was added after initially typing the command.\n- Ensures that such commands are correctly forwarded to the Gemini model.\n- Updates `useGeminiStream` to be aware of shell mode to properly manage streaming state.\n\nFixes https://buganizer.corp.google.com/issues/418761305
2025-05-18fix(cli): Disable slash commands and suggestions in shell modeTaylor Mullen
- Prevents slash commands from being triggered and suggestions from being displayed when shell mode is active. This ensures that user input is correctly interpreted as shell commands. Fixes https://buganizer.corp.google.com/issues/418560826