Skip to content

Conversation

@jerop
Copy link
Contributor

@jerop jerop commented Aug 19, 2025

This feature automatically updates the users .gitignore file during the setup-github command.

The following changes are included:

  • A new updateGitignore function is added to packages/cli/src/ui/commands/setupGithubCommand.ts. This function ensures that the .gemini/ directory and gha-creds-*.json files are added to the users .gitignore file.
  • The setupGithubCommand now calls updateGitignore to perform this update.

This is a follow up to google-github-actions/run-gemini-cli#198

@jerop jerop requested a review from a team as a code owner August 19, 2025 22:56
@jerop jerop changed the title feat: update .gitignore during github setup feat: update .gitignore in /setup-github Aug 19, 2025
@jerop jerop requested a review from galz10 August 19, 2025 22:56
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary of Changes

Hello @jerop, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces an enhancement to the setup-github command within the CLI, automating the process of updating a user's .gitignore file. Upon execution, the command will now ensure that .gemini/ and gha-creds-*.json entries are present in the .gitignore, preventing sensitive or generated files from being inadvertently committed. This improves the initial setup experience by streamlining best practices for file exclusion.

Highlights

  • New Functionality: A new updateGitignore function has been implemented to programmatically manage .gitignore entries.
  • Automated .gitignore Updates: The setupGithubCommand now integrates this new function, automatically adding .gemini/ and gha-creds-*.json to the user's .gitignore.
  • Robustness and Error Handling: The updateGitignore function is robust, handling cases where the .gitignore file doesn't exist, appending to existing files without duplicating entries, and gracefully managing file system errors.
  • Test Coverage: Comprehensive unit tests have been added for the new updateGitignore function to ensure its reliability and correct behavior under various scenarios.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in issue comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@jerop jerop requested a review from leehagoodjames August 19, 2025 22:56
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a feature to automatically update the user's .gitignore file during the setup-github command. The implementation is mostly correct and includes good test coverage. However, I've identified a significant issue in the logic for checking existing entries in the .gitignore file, which could lead to incorrect behavior. My feedback includes a suggestion to make this check more robust.

@github-actions
Copy link

github-actions bot commented Aug 19, 2025

Code Coverage Summary

Package Lines Statements Functions Branches
CLI 73.3% 73.3% 79.34% 80.88%
Core 74.95% 74.95% 75.47% 83.23%
CLI Package - Full Text Report
-------------------|---------|----------|---------|---------|-------------------
File               | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s 
-------------------|---------|----------|---------|---------|-------------------
All files          |    73.3 |    80.88 |   79.34 |    73.3 |                   
 src               |   54.04 |    77.55 |   66.66 |   54.04 |                   
  gemini.tsx       |   31.18 |    66.66 |      50 |   31.18 | ...59-325,335-354 
  ...ractiveCli.ts |   93.96 |    72.72 |     100 |   93.96 | 35-38,70-72,119   
  ...ActiveAuth.ts |     100 |      100 |     100 |     100 |                   
 src/commands      |   94.11 |      100 |      50 |   94.11 |                   
  mcp.ts           |   94.11 |      100 |      50 |   94.11 | 26                
 src/commands/mcp  |   95.62 |       80 |    90.9 |   95.62 |                   
  add.ts           |    97.4 |    83.33 |     100 |    97.4 | 109-112,119       
  list.ts          |   90.56 |    80.76 |      80 |   90.56 | ...10-112,137-138 
  remove.ts        |     100 |    66.66 |     100 |     100 | 19-23             
 src/config        |   92.13 |    82.41 |    87.8 |   92.13 |                   
  auth.ts          |     100 |      100 |     100 |     100 |                   
  config.ts        |   97.37 |    89.47 |      70 |   97.37 | ...47,427,583-587 
  extension.ts     |   82.53 |    84.37 |     100 |   82.53 | ...99-103,112-113 
  keyBindings.ts   |     100 |      100 |     100 |     100 |                   
  sandboxConfig.ts |   51.35 |    16.66 |   66.66 |   51.35 | ...43,53-69,74-91 
  settings.ts      |   84.28 |       80 |   93.75 |   84.28 | ...93-394,467-468 
  ...ingsSchema.ts |     100 |      100 |     100 |     100 |                   
  ...tedFolders.ts |   90.67 |    76.92 |     100 |   90.67 | ...20,125-130,148 
 src/generated     |     100 |      100 |     100 |     100 |                   
  git-commit.ts    |     100 |      100 |     100 |     100 |                   
 src/patches       |       0 |        0 |       0 |       0 |                   
  is-in-ci.ts      |       0 |        0 |       0 |       0 | 1-17              
 src/services      |   61.58 |    88.13 |   72.22 |   61.58 |                   
  ...mandLoader.ts |     100 |      100 |     100 |     100 |                   
  ...andService.ts |     100 |      100 |     100 |     100 |                   
  ...mandLoader.ts |   92.17 |    91.89 |     100 |   92.17 | 173-178,252-259   
  ...omptLoader.ts |    9.39 |    57.14 |   33.33 |    9.39 | ...44-167,173-230 
  types.ts         |       0 |        0 |       0 |       0 | 1                 
 ...mpt-processors |   97.56 |    94.11 |     100 |   97.56 |                   
  ...tProcessor.ts |     100 |      100 |     100 |     100 |                   
  ...lProcessor.ts |   97.36 |    93.61 |     100 |   97.36 | 77-78,202-203     
  types.ts         |     100 |      100 |     100 |     100 |                   
 src/test-utils    |   91.22 |    83.33 |      80 |   91.22 |                   
  ...omMatchers.ts |   69.69 |       50 |      50 |   69.69 | 31-34,36-38,44-46 
  ...andContext.ts |     100 |      100 |     100 |     100 |                   
  render.tsx       |     100 |      100 |     100 |     100 |                   
 src/ui            |   58.56 |    72.22 |   63.15 |   58.56 |                   
  App.tsx          |   57.25 |    61.76 |   38.46 |   57.25 | ...1195,1221-1250 
  ...tionNudge.tsx |    8.33 |      100 |       0 |    8.33 | 26-98             
  colors.ts        |   79.59 |      100 |   66.66 |   79.59 | ...43,45-46,48-49 
  constants.ts     |     100 |      100 |     100 |     100 |                   
  keyMatchers.ts   |   95.65 |    95.65 |     100 |   95.65 | 29-30             
  ...tic-colors.ts |     100 |      100 |     100 |     100 |                   
  types.ts         |     100 |      100 |     100 |     100 |                   
 src/ui/commands   |   85.42 |    83.47 |    87.5 |   85.42 |                   
  aboutCommand.ts  |     100 |       60 |     100 |     100 | 23-30             
  authCommand.ts   |     100 |      100 |     100 |     100 |                   
  bugCommand.ts    |   79.72 |     37.5 |     100 |   79.72 | 33-36,43,81-90    
  chatCommand.ts   |   94.21 |    83.33 |     100 |   94.21 | ...09-210,212-213 
  clearCommand.ts  |     100 |      100 |     100 |     100 |                   
  ...essCommand.ts |     100 |    88.88 |     100 |     100 | 69                
  copyCommand.ts   |     100 |      100 |     100 |     100 |                   
  corgiCommand.ts  |     100 |      100 |     100 |     100 |                   
  ...ryCommand.tsx |   70.12 |    73.07 |     100 |   70.12 | ...22-123,158-166 
  docsCommand.ts   |     100 |      100 |     100 |     100 |                   
  editorCommand.ts |     100 |      100 |     100 |     100 |                   
  ...onsCommand.ts |     100 |      100 |     100 |     100 |                   
  helpCommand.ts   |     100 |      100 |     100 |     100 |                   
  ideCommand.ts    |   54.97 |    77.27 |   44.44 |   54.97 | ...09-219,227-237 
  initCommand.ts   |     100 |      100 |     100 |     100 |                   
  mcpCommand.ts    |   82.29 |    82.95 |   83.33 |   82.29 | ...83-384,437-444 
  memoryCommand.ts |   99.09 |    92.85 |     100 |   99.09 | 93                
  ...acyCommand.ts |     100 |      100 |     100 |     100 |                   
  quitCommand.ts   |     100 |      100 |     100 |     100 |                   
  ...oreCommand.ts |   93.79 |    91.42 |     100 |   93.79 | 54-55,84-89       
  ...ngsCommand.ts |     100 |      100 |     100 |     100 |                   
  ...hubCommand.ts |   83.55 |    66.66 |     100 |   83.55 | ...56-159,162-165 
  statsCommand.ts  |   84.48 |       75 |     100 |   84.48 | 24-32             
  ...tupCommand.ts |     100 |      100 |     100 |     100 |                   
  themeCommand.ts  |     100 |      100 |     100 |     100 |                   
  toolsCommand.ts  |     100 |      100 |     100 |     100 |                   
  types.ts         |     100 |      100 |     100 |     100 |                   
  vimCommand.ts    |   44.44 |      100 |       0 |   44.44 | 14-24             
 src/ui/components |   62.56 |    83.09 |   62.96 |   62.56 |                   
  AboutBox.tsx     |     100 |       50 |     100 |     100 | 104               
  AsciiArt.ts      |     100 |      100 |     100 |     100 |                   
  AuthDialog.tsx   |      90 |    96.42 |      75 |      90 | 69-74,103-110     
  ...nProgress.tsx |   16.66 |      100 |       0 |   16.66 | 18-62             
  ...Indicator.tsx |   15.15 |      100 |       0 |   15.15 | 17-47             
  ...ryDisplay.tsx |   89.47 |    33.33 |     100 |   89.47 | 20-21             
  ...ryDisplay.tsx |   92.04 |    94.44 |     100 |   92.04 | 79-84,89          
  ...geDisplay.tsx |     100 |      100 |     100 |     100 |                   
  ...gProfiler.tsx |      24 |      100 |       0 |      24 | 13-36             
  ...esDisplay.tsx |   10.52 |      100 |       0 |   10.52 | 24-82             
  ...ngsDialog.tsx |    7.29 |      100 |       0 |    7.29 | 27-172            
  ...ustDialog.tsx |     100 |      100 |     100 |     100 |                   
  Footer.tsx       |   84.82 |    82.35 |     100 |   84.82 | ...,89-91,136-143 
  ...ngSpinner.tsx |   86.66 |       75 |     100 |   86.66 | 31-32             
  Header.tsx       |   87.23 |    57.14 |     100 |   87.23 | 36-39,55,64       
  Help.tsx         |    3.27 |      100 |       0 |    3.27 | 17-173            
  ...emDisplay.tsx |   70.42 |    56.25 |     100 |   70.42 | ...59-64,85-92,95 
  InputPrompt.tsx  |   88.84 |    82.19 |     100 |   88.84 | ...98-500,601-605 
  ...Indicator.tsx |     100 |      100 |     100 |     100 |                   
  ...geDisplay.tsx |   25.92 |      100 |       0 |   25.92 | 14-36             
  ...tsDisplay.tsx |     100 |      100 |     100 |     100 |                   
  PrepareLabel.tsx |      60 |       80 |     100 |      60 | 35-48             
  ...ryDisplay.tsx |     100 |      100 |     100 |     100 |                   
  ...ngsDialog.tsx |   31.75 |     62.5 |      25 |   31.75 | ...66-667,745-748 
  ...ionDialog.tsx |    85.5 |      100 |   33.33 |    85.5 | 37-40,45-52       
  ...Indicator.tsx |   44.44 |      100 |       0 |   44.44 | 12-17             
  ...MoreLines.tsx |      60 |       25 |     100 |      60 | 24-27,33-40       
  StatsDisplay.tsx |    98.5 |    93.33 |     100 |    98.5 | 177-179           
  ...nsDisplay.tsx |   88.05 |    71.42 |     100 |   88.05 | 36-41,96-98       
  ThemeDialog.tsx  |    5.33 |      100 |       0 |    5.33 | 34-310            
  Tips.tsx         |      16 |      100 |       0 |      16 | 17-45             
  ...tsDisplay.tsx |     100 |     87.5 |     100 |     100 | 30-31             
  ...ification.tsx |   36.36 |      100 |       0 |   36.36 | 15-22             
 ...nents/messages |   64.14 |    82.17 |   57.14 |   64.14 |                   
  ...onMessage.tsx |   18.51 |      100 |       0 |   18.51 | 22-49             
  DiffRenderer.tsx |   96.41 |    83.14 |     100 |   96.41 | ...17-218,222,284 
  ErrorMessage.tsx |     100 |      100 |     100 |     100 |                   
  ...niMessage.tsx |   18.51 |      100 |       0 |   18.51 | 20-43             
  ...geContent.tsx |   19.04 |      100 |       0 |   19.04 | 25-43             
  InfoMessage.tsx  |     100 |      100 |     100 |     100 |                   
  ...onMessage.tsx |   37.55 |     62.5 |      20 |   37.55 | ...65-200,244-272 
  ...upMessage.tsx |   10.11 |      100 |       0 |   10.11 | 27-126            
  ToolMessage.tsx  |   87.76 |       80 |     100 |   87.76 | ...,91-95,169-171 
  UserMessage.tsx  |     100 |      100 |     100 |     100 |                   
  ...llMessage.tsx |   36.36 |      100 |       0 |   36.36 | 17-25             
 ...ponents/shared |   80.42 |    76.56 |   95.45 |   80.42 |                   
  MaxSizedBox.tsx  |   81.14 |     82.2 |   88.88 |   81.14 | ...08-509,614-615 
  ...tonSelect.tsx |   75.65 |    70.27 |     100 |   75.65 | ...98,121-157,226 
  text-buffer.ts   |   78.02 |    78.08 |   96.77 |   78.02 | ...1841,1868,1918 
  ...er-actions.ts |   86.71 |    67.79 |     100 |   86.71 | ...08-609,810-812 
 src/ui/contexts   |   80.76 |    82.64 |     100 |   80.76 |                   
  ...ssContext.tsx |   77.13 |    84.61 |     100 |   77.13 | ...90-297,390-392 
  ...owContext.tsx |   91.07 |    81.81 |     100 |   91.07 | 46-47,59-61       
  ...onContext.tsx |    94.2 |      100 |     100 |    94.2 | 106-109           
  ...gsContext.tsx |   83.33 |       50 |     100 |   83.33 | 17-18             
  ...ngContext.tsx |   71.42 |       50 |     100 |   71.42 | 17-20             
  ...deContext.tsx |   76.08 |       50 |     100 |   76.08 | 46-47,51-58,76-77 
 src/ui/editors    |   93.18 |    85.71 |   66.66 |   93.18 |                   
  ...ngsManager.ts |   93.18 |    85.71 |   66.66 |   93.18 | 48,62-63          
 src/ui/hooks      |   81.93 |    81.92 |   88.73 |   81.93 |                   
  ...dProcessor.ts |    78.4 |       79 |     100 |    78.4 | ...55-458,469-487 
  ...dProcessor.ts |   96.32 |    76.31 |     100 |   96.32 | ...13-214,219-220 
  ...dProcessor.ts |   81.57 |    71.26 |   71.42 |   81.57 | ...85-389,455-483 
  ...Completion.ts |   92.69 |    89.09 |     100 |   92.69 | ...89-190,223-226 
  ...uthCommand.ts |    7.46 |      100 |       0 |    7.46 | 18-92             
  ...tIndicator.ts |     100 |      100 |     100 |     100 |                   
  ...ketedPaste.ts |     100 |      100 |     100 |     100 |                   
  ...ompletion.tsx |   94.73 |    81.81 |     100 |   94.73 | ...98-199,201-202 
  useCompletion.ts |    92.4 |     87.5 |     100 |    92.4 | ...,95-96,100-101 
  ...leMessages.ts |   98.68 |       95 |     100 |   98.68 | 55                
  ...orSettings.ts |     100 |      100 |     100 |     100 |                   
  useFocus.ts      |     100 |      100 |     100 |     100 |                   
  ...olderTrust.ts |     100 |      100 |     100 |     100 |                   
  ...miniStream.ts |   73.52 |    71.32 |     100 |   73.52 | ...41-842,872-962 
  ...BranchName.ts |   91.66 |    84.61 |     100 |   91.66 | 57-63             
  ...oryManager.ts |   98.41 |    93.33 |     100 |   98.41 | 43                
  ...putHistory.ts |    92.5 |    85.71 |     100 |    92.5 | 62-63,71,93-95    
  useKeypress.ts   |     100 |      100 |     100 |     100 |                   
  ...rdProtocol.ts |     100 |      100 |     100 |     100 |                   
  ...gIndicator.ts |     100 |      100 |     100 |     100 |                   
  useLogger.ts     |      25 |      100 |       0 |      25 | 14-32             
  ...ssageQueue.ts |     100 |      100 |     100 |     100 |                   
  ...raseCycler.ts |   95.45 |       75 |     100 |   95.45 | ...64-165,183-185 
  ...cySettings.ts |   85.08 |       75 |     100 |   85.08 | ...15-116,127-138 
  ...lScheduler.ts |   78.92 |    94.44 |     100 |   78.92 | ...01-204,290-300 
  ...oryCommand.ts |       0 |        0 |       0 |       0 | 1-7               
  ...ompletion.tsx |     100 |     92.3 |     100 |     100 | 78                
  ...ngsCommand.ts |    87.5 |      100 |     100 |    87.5 | 13,17             
  ...ellHistory.ts |   91.26 |       80 |     100 |   91.26 | ...67,112-113,123 
  ...oryCommand.ts |       0 |        0 |       0 |       0 | 1-75              
  ...Completion.ts |      94 |    92.53 |     100 |      94 | 58-61,69-72,93    
  ...tateAndRef.ts |   13.63 |      100 |       0 |   13.63 | 16-36             
  ...rminalSize.ts |   18.18 |      100 |       0 |   18.18 | 12-32             
  ...emeCommand.ts |   46.98 |       75 |     100 |   46.98 | ...4,70-71,77-100 
  useTimer.ts      |   88.09 |    85.71 |     100 |   88.09 | 44-45,51-53       
  vim.ts           |   83.57 |     79.5 |     100 |   83.57 | ...38,742-750,759 
 src/ui/privacy    |   14.52 |      100 |       0 |   14.52 |                   
  ...acyNotice.tsx |   10.38 |      100 |       0 |   10.38 | 21-117            
  ...acyNotice.tsx |   14.28 |      100 |       0 |   14.28 | 16-59             
  ...acyNotice.tsx |   12.19 |      100 |       0 |   12.19 | 16-62             
  ...acyNotice.tsx |   30.76 |      100 |       0 |   30.76 | 19-36,39-41       
 src/ui/themes     |   99.48 |    65.04 |     100 |   99.48 |                   
  ansi-light.ts    |     100 |      100 |     100 |     100 |                   
  ansi.ts          |     100 |      100 |     100 |     100 |                   
  atom-one-dark.ts |     100 |      100 |     100 |     100 |                   
  ayu-light.ts     |     100 |      100 |     100 |     100 |                   
  ayu.ts           |     100 |      100 |     100 |     100 |                   
  color-utils.ts   |     100 |      100 |     100 |     100 |                   
  default-light.ts |     100 |      100 |     100 |     100 |                   
  default.ts       |     100 |      100 |     100 |     100 |                   
  dracula.ts       |     100 |      100 |     100 |     100 |                   
  github-dark.ts   |     100 |      100 |     100 |     100 |                   
  github-light.ts  |     100 |      100 |     100 |     100 |                   
  googlecode.ts    |     100 |      100 |     100 |     100 |                   
  no-color.ts      |     100 |      100 |     100 |     100 |                   
  ...tic-tokens.ts |     100 |      100 |     100 |     100 |                   
  ...-of-purple.ts |     100 |      100 |     100 |     100 |                   
  theme-manager.ts |   91.08 |     77.5 |     100 |   91.08 | ...91,195,220-221 
  theme.ts         |     100 |     41.3 |     100 |     100 | 225-240           
  xcode.ts         |     100 |      100 |     100 |     100 |                   
 src/ui/utils      |    65.1 |    79.25 |   81.96 |    65.1 |                   
  ...Colorizer.tsx |   79.31 |    80.64 |     100 |   79.31 | ...51-154,190-216 
  ...olePatcher.ts |      96 |       75 |     100 |      96 | 59-60             
  ...nRenderer.tsx |   52.85 |    27.27 |     100 |   52.85 | ...26-132,142-144 
  ...wnDisplay.tsx |   85.84 |    87.69 |     100 |   85.84 | ...72-280,313-336 
  ...eRenderer.tsx |   78.09 |    76.19 |     100 |   78.09 | 55-83             
  ...boardUtils.ts |   32.25 |     37.5 |     100 |   32.25 | ...55-114,129-145 
  commandUtils.ts  |   97.36 |     92.3 |     100 |   97.36 | 68,72             
  computeStats.ts  |     100 |      100 |     100 |     100 |                   
  displayUtils.ts  |     100 |      100 |     100 |     100 |                   
  formatters.ts    |   90.47 |    95.83 |     100 |   90.47 | 57-60             
  isNarrowWidth.ts |     100 |      100 |     100 |     100 |                   
  ...olDetector.ts |   13.88 |      100 |      50 |   13.88 | 16-97             
  ...nUtilities.ts |   69.84 |    85.71 |     100 |   69.84 | 75-91,100-101     
  ...mConstants.ts |     100 |      100 |     100 |     100 |                   
  terminalSetup.ts |       4 |      100 |       0 |       4 | 40-342            
  textUtils.ts     |   88.88 |    83.33 |     100 |   88.88 | 14-15             
  updateCheck.ts   |     100 |    80.95 |     100 |     100 | 26-38             
 src/utils         |   44.99 |    90.99 |   84.21 |   44.99 |                   
  checks.ts        |   33.33 |      100 |       0 |   33.33 | 23-28             
  cleanup.ts       |      96 |    85.71 |     100 |      96 | 35                
  ...ScopeUtils.ts |   97.67 |     87.5 |     100 |   97.67 | 62                
  events.ts        |     100 |      100 |     100 |     100 |                   
  gitUtils.ts      |   94.66 |    82.35 |     100 |   94.66 | 75-78             
  ...AutoUpdate.ts |   81.14 |    95.23 |   66.66 |   81.14 | 85-99,125-132     
  ...lationInfo.ts |     100 |      100 |     100 |     100 |                   
  package.ts       |   88.88 |       80 |     100 |   88.88 | 33-34             
  readStdin.ts     |    2.43 |      100 |       0 |    2.43 | 7-51              
  resolvePath.ts   |   66.66 |       25 |     100 |   66.66 | 12-13,16,18-19    
  sandbox.ts       |       0 |        0 |       0 |       0 | 1-947             
  settingsUtils.ts |   80.52 |     92.3 |   93.33 |   80.52 | ...74-416,455-456 
  spawnWrapper.ts  |     100 |      100 |     100 |     100 |                   
  ...upWarnings.ts |   23.07 |      100 |       0 |   23.07 | 14-40             
  ...entEmitter.ts |     100 |      100 |     100 |     100 |                   
  ...upWarnings.ts |     100 |      100 |     100 |     100 |                   
  version.ts       |     100 |       50 |     100 |     100 | 11                
 ...ed-integration |   25.58 |        0 |       0 |   25.58 |                   
  acp.ts           |    2.89 |        0 |       0 |    2.89 | ...52-288,291-338 
  ...temService.ts |   19.35 |      100 |       0 |   19.35 | 15-19,22-34,37-46 
  schema.ts        |     100 |      100 |     100 |     100 |                   
  ...ntegration.ts |    3.34 |        0 |       0 |    3.34 | ...02-805,820-870 
-------------------|---------|----------|---------|---------|-------------------
Core Package - Full Text Report
-------------------|---------|----------|---------|---------|-------------------
File               | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s 
-------------------|---------|----------|---------|---------|-------------------
All files          |   74.95 |    83.23 |   75.47 |   74.95 |                   
 src               |     100 |      100 |     100 |     100 |                   
  index.ts         |     100 |      100 |     100 |     100 |                   
 src/__mocks__/fs  |     100 |      100 |     100 |     100 |                   
  promises.ts      |     100 |      100 |     100 |     100 |                   
 src/code_assist   |   72.71 |    77.27 |    72.5 |   72.71 |                   
  codeAssist.ts    |   18.51 |      100 |       0 |   18.51 | 13-35             
  converter.ts     |   89.31 |    96.15 |   81.81 |   89.31 | 179-183,202-212   
  oauth2.ts        |    76.5 |    65.38 |   83.33 |    76.5 | ...21-427,434-435 
  server.ts        |   50.29 |       80 |   53.84 |   50.29 | ...73-214,217-220 
  setup.ts         |   86.66 |    78.94 |     100 |   86.66 | ...,92-94,118-124 
  types.ts         |     100 |      100 |     100 |     100 |                   
 src/config        |   74.85 |    87.64 |   46.42 |   74.85 |                   
  config.ts        |   74.62 |    87.64 |   46.42 |   74.62 | ...61-768,774-775 
  models.ts        |     100 |      100 |     100 |     100 |                   
 src/core          |   75.63 |    79.48 |   74.41 |   75.63 |                   
  client.ts        |   82.01 |    81.48 |   77.77 |   82.01 | ...00,902-903,906 
  ...tGenerator.ts |   92.63 |    79.16 |     100 |   92.63 | 83-84,135,154-157 
  ...lScheduler.ts |   69.34 |    71.13 |   81.81 |   69.34 | ...58-865,868-878 
  geminiChat.ts    |   59.36 |    70.83 |   53.57 |   59.36 | ...06-607,610-611 
  geminiRequest.ts |     100 |      100 |     100 |     100 |                   
  logger.ts        |   82.84 |    81.81 |     100 |   82.84 | ...41-345,385-396 
  ...tGenerator.ts |   17.02 |      100 |      20 |   17.02 | ...47-175,178-179 
  ...olExecutor.ts |   90.07 |    70.83 |     100 |   90.07 | ...,89-98,116,152 
  prompts.ts       |   95.76 |    96.96 |      50 |   95.76 | 37-38,304-361     
  subagent.ts      |   92.16 |    83.75 |     100 |   92.16 | ...04-612,655-656 
  tokenLimits.ts   |   14.28 |      100 |       0 |   14.28 | 15-32             
  turn.ts          |   83.57 |    83.33 |     100 |   83.57 | ...55-258,271-272 
 src/generated     |     100 |      100 |     100 |     100 |                   
  git-commit.ts    |     100 |      100 |     100 |     100 |                   
 src/ide           |   43.79 |     87.3 |   45.94 |   43.79 |                   
  constants.ts     |     100 |      100 |     100 |     100 |                   
  detect-ide.ts    |   49.35 |      100 |      50 |   49.35 | 23-62             
  ide-client.ts    |      29 |    92.85 |   21.73 |      29 | ...83-407,410-414 
  ide-installer.ts |   55.76 |    53.33 |     100 |   55.76 | ...91,113-125,134 
  ideContext.ts    |   83.65 |      100 |     100 |   83.65 | 74-90             
  process-utils.ts |   14.28 |      100 |       0 |   14.28 | 21-62             
 src/mcp           |   73.99 |    67.08 |   81.57 |   73.99 |                   
  ...h-provider.ts |   86.36 |      100 |   33.33 |   86.36 | ...85,89,93,97-98 
  ...h-provider.ts |   74.19 |    51.64 |     100 |   74.19 | ...04-808,815-817 
  ...en-storage.ts |     100 |      100 |     100 |     100 |                   
  oauth-utils.ts   |   54.72 |    69.23 |      90 |   54.72 | ...16-240,265-314 
 src/mocks         |     100 |      100 |     100 |     100 |                   
  msw.ts           |     100 |      100 |     100 |     100 |                   
 src/prompts       |   26.41 |      100 |      25 |   26.41 |                   
  mcp-prompts.ts   |   18.18 |      100 |       0 |   18.18 | 11-19             
  ...t-registry.ts |   28.57 |      100 |   28.57 |   28.57 | ...42,48-55,68-73 
 src/services      |   89.12 |    86.89 |   91.52 |   89.12 |                   
  ...ingService.ts |   76.15 |     61.9 |     100 |   76.15 | ...03-405,429-431 
  ...eryService.ts |   93.33 |    88.46 |   85.71 |   93.33 | 31,39,84,109-110  
  ...temService.ts |     100 |      100 |     100 |     100 |                   
  gitService.ts    |   77.52 |      100 |      60 |   77.52 | ...08-112,115-119 
  ...ionService.ts |   99.23 |    97.05 |     100 |   99.23 | 287-288           
  ...ionService.ts |   92.19 |    88.15 |     100 |   92.19 | ...67-368,444-458 
 src/telemetry     |   64.97 |     79.6 |   69.01 |   64.97 |                   
  constants.ts     |     100 |      100 |     100 |     100 |                   
  ...-exporters.ts |   26.47 |        0 |       0 |   26.47 | ...80,83-84,87-88 
  index.ts         |     100 |      100 |     100 |     100 |                   
  ...t.circular.ts |       0 |        0 |       0 |       0 | 1-63              
  ...t.circular.ts |       0 |        0 |       0 |       0 | 1-125             
  loggers.ts       |   66.85 |    76.92 |   66.66 |   66.85 | ...67-385,413-428 
  metrics.ts       |   64.36 |    96.66 |   66.66 |   64.36 | ...56-178,181-204 
  sdk.ts           |   78.37 |    44.44 |     100 |   78.37 | ...83,188-189,191 
  ...l-decision.ts |     100 |      100 |     100 |     100 |                   
  types.ts         |    70.6 |       75 |   73.91 |    70.6 | ...63-372,375-386 
  uiTelemetry.ts   |    99.3 |       96 |     100 |    99.3 | 126               
 ...learcut-logger |   75.87 |    78.57 |   67.85 |   75.87 |                   
  ...cut-logger.ts |    73.4 |    78.26 |   67.85 |    73.4 | ...77-778,781-784 
  ...tadata-key.ts |     100 |      100 |     100 |     100 |                   
 src/test-utils    |   88.75 |    95.45 |   80.95 |   88.75 |                   
  config.ts        |     100 |      100 |     100 |     100 |                   
  ...aceContext.ts |     100 |      100 |     100 |     100 |                   
  tools.ts         |   85.12 |    94.44 |   78.94 |   85.12 | ...59,127,131-132 
 src/tools         |   69.11 |     82.2 |    77.1 |   69.11 |                   
  diffOptions.ts   |     100 |      100 |     100 |     100 |                   
  edit.ts          |   81.18 |    84.81 |   85.71 |   81.18 | ...13-414,504-547 
  glob.ts          |   85.77 |    78.26 |    87.5 |   85.77 | ...34-241,312-313 
  grep.ts          |   58.33 |     78.2 |   78.57 |   58.33 | ...87-591,601-602 
  ls.ts            |   97.66 |    91.66 |     100 |   97.66 | 135-139           
  ...nt-manager.ts |   79.74 |    83.33 |      80 |   79.74 | ...98-105,113-114 
  mcp-client.ts    |   30.93 |    77.77 |   48.38 |   30.93 | ...1341,1345-1348 
  mcp-tool.ts      |   93.82 |    92.75 |   88.23 |   93.82 | ...85-195,257-258 
  memoryTool.ts    |    84.3 |    83.67 |   88.88 |    84.3 | ...28-243,381-399 
  ...iable-tool.ts |     100 |    84.61 |     100 |     100 | 94,101            
  read-file.ts     |      97 |       95 |    87.5 |      97 | 69-70,110-112     
  ...many-files.ts |   79.44 |    72.13 |   83.33 |   79.44 | ...14-515,522-523 
  shell.ts         |    84.9 |    76.38 |    90.9 |    84.9 | ...80-381,392-393 
  tool-error.ts    |     100 |      100 |     100 |     100 |                   
  tool-registry.ts |   49.24 |    66.66 |   57.14 |   49.24 | ...01-403,426-434 
  tools.ts         |   85.78 |     87.8 |   73.33 |   85.78 | ...57-358,374-380 
  web-fetch.ts     |   35.79 |    77.77 |   72.72 |   35.79 | ...45-346,351-352 
  web-search.ts    |     100 |    92.59 |     100 |     100 | 108-109           
  write-file.ts    |   82.27 |    79.68 |      75 |   82.27 | ...48-451,463-499 
 src/utils         |   85.41 |    87.43 |    89.5 |   85.41 |                   
  LruCache.ts      |   70.96 |     62.5 |     100 |   70.96 | 20-22,28,30-34    
  bfsFileSearch.ts |   89.02 |    90.47 |     100 |   89.02 | 86-94             
  browser.ts       |    7.69 |      100 |       0 |    7.69 | 17-56             
  editCorrector.ts |    77.3 |    61.11 |   91.66 |    77.3 | ...65-677,711,725 
  editor.ts        |   97.63 |    94.54 |     100 |   97.63 | 154,224,227-228   
  ...entContext.ts |     100 |      100 |     100 |     100 |                   
  errorParsing.ts  |     100 |     92.3 |     100 |     100 | 76,80,86          
  ...rReporting.ts |   83.72 |    84.61 |     100 |   83.72 | 82-86,107-115     
  errors.ts        |   39.02 |       60 |      75 |   39.02 | 21-25,41-57,61-67 
  fetch.ts         |   34.04 |      100 |       0 |   34.04 | 22-27,31-57       
  fileUtils.ts     |   95.27 |       90 |     100 |   95.27 | ...06-111,359-365 
  formatters.ts    |   54.54 |       50 |     100 |   54.54 | 12-16             
  ...eUtilities.ts |   96.03 |    95.83 |     100 |   96.03 | 28-29,57-58       
  ...rStructure.ts |   95.96 |    94.93 |     100 |   95.96 | ...14-117,345-347 
  getPty.ts        |    12.5 |      100 |       0 |    12.5 | 21-34             
  ...noreParser.ts |     100 |    89.47 |     100 |     100 | 27,47             
  gitUtils.ts      |   51.21 |     90.9 |      50 |   51.21 | 40-41,50-73       
  ...yDiscovery.ts |   87.05 |    76.92 |   77.77 |   87.05 | ...35-336,339-340 
  ...tProcessor.ts |   93.63 |    88.75 |   84.61 |   93.63 | ...81-282,385-386 
  ...Inspectors.ts |     100 |      100 |     100 |     100 |                   
  ...kerChecker.ts |   83.33 |    83.33 |     100 |   83.33 | 64-65,75-80,88-94 
  partUtils.ts     |     100 |      100 |     100 |     100 |                   
  paths.ts         |   84.07 |    88.23 |      80 |   84.07 | ...92-193,201-202 
  ...rDetection.ts |    64.4 |    76.19 |     100 |    64.4 | ...4,88-89,99-100 
  retry.ts         |   62.55 |    73.21 |     100 |   62.55 | ...58-278,323-338 
  ...nStringify.ts |     100 |      100 |     100 |     100 |                   
  ...aValidator.ts |      80 |    57.14 |     100 |      80 | 23-24,26-27       
  ...r-launcher.ts |   76.52 |     87.5 |   66.66 |   76.52 | ...33,135,153-191 
  session.ts       |     100 |      100 |     100 |     100 |                   
  shell-utils.ts   |   95.94 |     94.4 |     100 |   95.94 | ...90-191,238-240 
  summarizer.ts    |     100 |    88.88 |     100 |     100 | 91                
  ...emEncoding.ts |      98 |    94.11 |     100 |      98 | 106-107           
  testUtils.ts     |   84.44 |    72.72 |   83.33 |   84.44 | 27-28,34-35,70-72 
  textUtils.ts     |    12.5 |      100 |       0 |    12.5 | 15-34             
  user_account.ts  |   96.87 |       95 |     100 |   96.87 | 36-38             
  user_id.ts       |    75.6 |       60 |      75 |    75.6 | 19-20,28-33,46-48 
  ...aceContext.ts |   96.63 |     97.5 |    92.3 |   96.63 | 88-89,103-104     
 ...ils/filesearch |    96.1 |     91.2 |     100 |    96.1 |                   
  crawlCache.ts    |     100 |      100 |     100 |     100 |                   
  crawler.ts       |   96.22 |     92.3 |     100 |   96.22 | 66-67             
  fileSearch.ts    |   92.94 |    86.56 |     100 |   92.94 | ...17-218,220-221 
  ignore.ts        |     100 |      100 |     100 |     100 |                   
  result-cache.ts  |     100 |     92.3 |     100 |     100 | 46                
-------------------|---------|----------|---------|---------|-------------------

For detailed HTML reports, please see the 'coverage-reports-22.x-ubuntu-latest' artifact from the main CI run.

@jerop jerop force-pushed the feature/setup-github-gitignore branch from 3af7b4e to 4332852 Compare August 19, 2025 23:14
This feature automatically updates the users .gitignore file during the `setup-github` command.

The following changes are included:
- A new `updateGitignore` function is added to `packages/cli/src/ui/commands/setupGithubCommand.ts`. This function ensures that the `.gemini/` directory and `gha-creds-*.json` files are added to the users `.gitignore` file.
- The `setupGithubCommand` now calls `updateGitignore` to perform this update.
@jerop jerop force-pushed the feature/setup-github-gitignore branch from 4332852 to 6646e55 Compare August 19, 2025 23:15
@jerop jerop enabled auto-merge August 19, 2025 23:19
Copy link
Collaborator

@mattKorwel mattKorwel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, i like the added test suite, good cases there!

@jerop jerop added this pull request to the merge queue Aug 20, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Aug 20, 2025
@jerop jerop added this pull request to the merge queue Aug 20, 2025
Merged via the queue into main with commit 1049d38 Aug 20, 2025
18 checks passed
@jerop jerop deleted the feature/setup-github-gitignore branch August 20, 2025 02:04
agarwalravikant pushed a commit to agarwalravikant/gemini-cli that referenced this pull request Aug 20, 2025
JeongJaeSoon pushed a commit to JeongJaeSoon/gemini-cli that referenced this pull request Aug 21, 2025
jerop added a commit that referenced this pull request Aug 25, 2025
involvex pushed a commit to involvex/gemini-cli that referenced this pull request Sep 11, 2025
reconsumeralization pushed a commit to reconsumeralization/gemini-cli that referenced this pull request Sep 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants