refactor(cli): settings reorganization, renaming, and logic inversion#16912
refactor(cli): settings reorganization, renaming, and logic inversion#16912keithguerin wants to merge 20 commits intogoogle-gemini:mainfrom
Conversation
Summary of ChangesHello @keithguerin, 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 significantly refines the user settings experience by standardizing the presentation of boolean options and streamlining configuration key names. The changes aim to make settings more intuitive and easier to understand for users, while also providing a robust migration path for existing configurations to ensure a smooth transition to the new, cleaner data model. Highlights
Using Gemini Code AssistThe 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 by creating a comment using either
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 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
|
There was a problem hiding this comment.
Code Review
This is a great pull request that significantly improves the consistency and clarity of the settings. The transition to natural language statuses ("Enabled"/"Disabled") and the simplification of setting labels by removing redundant prefixes are excellent changes for user experience. The automatic migration path for legacy settings is well-implemented and will ensure a smooth transition for users. The code changes are thorough and consistent across the codebase, including documentation and tests. The critical comment regarding a renamed test file remains valid and should be addressed.
…ogic - Renamed visibility settings to noun-first, positive keys (e.g., 'hideTips' -> 'usageTips'). - Inverted logic polarity across schema, config, and UI components to match positive keys. - Standardized boolean display values to 'Enabled'/'Disabled' in settings UI. - Updated migration logic to automatically invert and map legacy 'hide*' and 'disable*' keys. - Updated documentation, schemas, and tests to reflect these changes.
🔄 Major Revision UpdateI have pushed a significant update to this PR to finalize the UX consistency. Changes in this revision:
Please review the updated PR description and the latest commits. |
|
I have fully implemented the Settings UX Specification.
Ready for review. |
…first labels and visuals
Update: Recent ChangesI have pushed additional updates to this branch to refine the settings refactor based on recent feedback. Key Changes
Next Steps
|
|
This PR introduces a new tabbed interface to improve UX. The implementation uses a flexible component-based approach, allowing for easy addition and management of multiple content views within a single display area. This enhances navigation and organization of information for the user. Tabs are introduced as a new, reusable UI component as part of this change. |
a2de1c8 to
b2d9e56
Compare
|
Hi there! Thank you for your contribution to Gemini CLI. To improve our contribution process and better track changes, we now require all pull requests to be associated with an existing issue, as announced in our recent discussion and as detailed in our CONTRIBUTING.md. This pull request is being closed because it is not currently linked to an issue. You can easily reopen this PR once you have linked it to an issue. How to link an issue: Thank you for your understanding and for being a part of our community! |
|
This PR was reimplemented/abandoned in favor of #20099. |
Summary
This PR reorganizes the Gemini CLI settings into logical groups (Core & Intelligence, Appearance & UI, Editor & Input, File System & Context, System & Maintenance) to improve UX consistency. It also renames settings to use Noun-First labeling and inverts the logic for the
Next Speaker Checksetting (formerlySkip Next Speaker Check).Details
skipNextSpeakerCheck(legacy) is nownextSpeakerCheckin the UI. Enabling it means the check is performed (skip=false). The legacy config property is derived as!nextSpeakerCheck.settingsSchema.tshas been extensively refactored.SettingsDialog.test.tsxandsettings-validation.test.tsupdated.Related Issues
Related to #14035
How to Validate
npm start.Pre-Merge Checklist