chore: make Enter default to Yes in setup prompts#320
Conversation
Change all (y/n) prompts to [Y/n] format where pressing Enter accepts the default (yes). This improves UX by allowing users to quickly accept recommended options. - Changed 24 prompts in setup.sh - Changed 2 prompts in terminal-title-setup.sh - Changed 1 prompt in dspyground-helper.sh Note: Destructive operations like 'Remove worktree?' intentionally keep [y/N] format (default No) for safety.
|
Warning Rate limit exceeded
⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. WalkthroughThe PR updates interactive shell prompts across three scripts to use "[Y/n]" formatting and modifies acceptance logic to treat empty input as "yes" by replacing strict equality checks with case-insensitive regex patterns. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary of ChangesHello @marcusquinn, 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 enhances the user experience of the project's setup scripts by standardizing interactive prompts. It modifies the majority of Highlights
Changelog
Activity
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
|
🔍 Code Quality Report�[0;35m[MONITOR]�[0m Code Review Monitoring Report �[0;34m[INFO]�[0m Latest Quality Status: �[0;34m[INFO]�[0m Recent monitoring activity: 📈 Current Quality Metrics
Generated on: Thu Feb 5 01:08:36 UTC 2026 Generated by AI DevOps Framework Code Review Monitoring |
There was a problem hiding this comment.
Code Review
This pull request does a great job of improving the user experience by making 'Enter' default to 'Yes' for many prompts. The changes are consistent across multiple files. I've found one critical issue where the logic was not updated to match the new prompt, which would break the intended behavior. I've also pointed out a few places where the conditional logic can be simplified for better readability and consistency. Overall, a good set of changes.
| read -p "Continue anyway? (y/n): " -n 1 -r | ||
| read -p "Continue anyway? [Y/n]: " -n 1 -r | ||
| echo | ||
| if [[ ! $REPLY =~ ^[Yy]$ ]]; then |
There was a problem hiding this comment.
The prompt on line 105 was updated to [Y/n], implying 'Enter' is a valid 'yes' response. However, this conditional was not updated to accept an empty response. This will cause the script to exit when the user presses Enter, which is contrary to the goal of this PR.
| if [[ ! $REPLY =~ ^[Yy]$ ]]; then | |
| if [[ ! $REPLY =~ ^[Yy]?$ ]]; then |
| enable_mt=$(echo "$enable_mt" | tr '[:upper:]' '[:lower:]') | ||
|
|
||
| if [[ "$enable_mt" == "y" || "$enable_mt" == "yes" ]]; then | ||
| if [[ "$enable_mt" =~ ^[Yy]?$ || "$enable_mt" == "yes" ]]; then |
There was a problem hiding this comment.
This condition is a bit complex. Since the input in enable_mt is already lowercased on line 3271, you can simplify this check. The current logic mixes regex matching for single characters with string comparison for "yes". A cleaner and more consistent approach would be to use a single regex that handles all affirmative cases ('y', 'yes', and empty).
| if [[ "$enable_mt" =~ ^[Yy]?$ || "$enable_mt" == "yes" ]]; then | |
| if [[ "$enable_mt" =~ ^(y|yes)?$ ]]; then |
| read -r -p "Update all outdated tools now? [Y/n]: " do_update | ||
|
|
||
| if [[ "$do_update" == "y" || "$do_update" == "Y" ]]; then | ||
| if [[ "$do_update" =~ ^[Yy]?$ || "$do_update" == "Y" ]]; then |
There was a problem hiding this comment.
| read -r -p "Launch OpenCode with /onboarding now? (y/n): " launch_onboarding | ||
| if [[ "$launch_onboarding" == "y" || "$launch_onboarding" == "Y" ]]; then | ||
| read -r -p "Launch OpenCode with /onboarding now? [Y/n]: " launch_onboarding | ||
| if [[ "$launch_onboarding" =~ ^[Yy]?$ || "$launch_onboarding" == "Y" ]]; then |
There was a problem hiding this comment.
The || "$launch_onboarding" == "Y" part of this condition is redundant because the regex ^[Yy]?$ already handles uppercase 'Y'. You can remove it for cleaner code.
| if [[ "$launch_onboarding" =~ ^[Yy]?$ || "$launch_onboarding" == "Y" ]]; then | |
| if [[ "$launch_onboarding" =~ ^[Yy]?$ ]]; then |
There was a problem hiding this comment.
Actionable comments posted: 0
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
.agent/scripts/dspyground-helper.sh (1)
103-109:⚠️ Potential issue | 🟡 MinorAlign the “[Y/n]” prompt with default‑yes handling.
Line 105 advertises Enter as “yes,” but the check at Line 107 rejects empty input, causing an unexpected exit. Accept empty input (or set a default) to match the prompt.
Proposed fix
- read -p "Continue anyway? [Y/n]: " -n 1 -r + local reply + read -r -p "Continue anyway? [Y/n]: " reply + reply=${reply:-Y} echo - if [[ ! $REPLY =~ ^[Yy]$ ]]; then + if [[ ! "$reply" =~ ^[Yy]$ ]]; then exit 1 fi
- Change prompts from (y/n) to [Y/n] format so Enter defaults to Yes - Add run_with_spinner() function with animated spinner for long-running ops - Apply spinners to: Worktrunk, Tabby, Zed, MiniSim, DSPy, DSPyGround, LocalWP MCP, Beads CLI, beads_viewer, beads-ui, bdui, perles - Preserve [y/N] for destructive operations (safety) - Improves UX by showing activity during slow installs
|
🔍 Code Quality Report�[0;35m[MONITOR]�[0m Code Review Monitoring Report �[0;34m[INFO]�[0m Latest Quality Status: �[0;34m[INFO]�[0m Recent monitoring activity: 📈 Current Quality Metrics
Generated on: Thu Feb 5 01:13:16 UTC 2026 Generated by AI DevOps Framework Code Review Monitoring |



Summary
Changes all
(y/n)prompts to[Y/n]format where pressing Enter accepts the default (yes). This improves UX by allowing users to quickly accept recommended options during setup.Changes
Technical Details
(y/n)to[Y/n]== "y"to=~ ^[Yy]?$(matches y, Y, or empty)[[ ! "$var" =~ ^[Yy]?$ ]]Safety
Destructive operations intentionally keep
[y/N]format (default No):These require explicit "y" to proceed.
Summary by CodeRabbit