ralph-claude-code icon indicating copy to clipboard operation
ralph-claude-code copied to clipboard

feat: add dedicated uninstall.sh script

Open zcwessels opened this issue 3 months ago • 1 comments

Summary

  • Add standalone uninstall.sh script for easier Ralph removal
  • Include safety confirmation prompt before removal (skip with -y/--yes)
  • Display removal plan showing exactly what will be removed
  • Match styling with install.sh (colors, logging format)

Changes

  • New uninstall.sh script (159 lines) that:
    • Verifies Ralph is installed before attempting removal
    • Shows what will be removed (commands and ~/.ralph directory)
    • Prompts for confirmation (can be bypassed with -y flag)
    • Preserves project directories created with ralph-setup
    • Provides -h/--help option for usage information

Test plan

  • [ ] Run ./uninstall.sh --help to verify help output
  • [ ] Run ./uninstall.sh and cancel to verify confirmation works
  • [ ] Run ./uninstall.sh -y after installing to verify clean removal
  • [ ] Verify project directories are preserved after uninstall

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Adds a full uninstallation tool for Ralph that previews removable items, offers confirmation (with an optional auto-confirm flag), and cleans up installed components and the app home directory.
    • Includes help text, colored timestamped status messages, and clear progress reporting.
  • Bug Fixes / UX

    • Gracefully handles cases where no installation is found and exits with informative messages.

✏️ Tip: You can customize this high-level summary in your review settings.

zcwessels avatar Jan 07 '26 17:01 zcwessels

Walkthrough

Adds a new Bash uninstallation script uninstall.sh that detects an existing Ralph installation, displays a removal plan, optionally prompts for confirmation (-y/--yes), removes installed command files and the Ralph home directory, and prints colored, timestamped status messages; project directories created by setup are not removed.

Changes

Cohort / File(s) Summary
Uninstall Script
uninstall.sh
New standalone Bash script implementing: log() (colorized, timestamped logging), check_installation() (detects INSTALL_DIR/RALPH_HOME), show_removal_plan() (lists removable items), confirm_uninstall() (-y/--yes, -h/--help), remove_commands() (delete commands from INSTALL_DIR), remove_ralph_home() (remove RALPH_HOME), and main() (orchestrates flow). Explicitly does not remove project directories created by setup.

Sequence Diagram(s)

(omitted — change is a single-file uninstall script without multi-component sequential interactions)

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Poem

🐰 I hop through scripts at break of dawn,

I list the files and wipe the lawn,
With timestamped hues and one kind nudge,
Commands depart; home gets a judge,
Projects kept safe — I skip the grudge.

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the primary change: adding a dedicated uninstall.sh script to the Ralph project.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • [ ] 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • [ ] Create PR with unit tests
  • [ ] Post copyable unit tests in a comment

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

coderabbitai[bot] avatar Jan 07 '26 17:01 coderabbitai[bot]