Skip to content

feat: add native uninstaller (closes #38)#39

Merged
bigph00t merged 2 commits into
mainfrom
feat/native-uninstaller
Jun 17, 2026
Merged

feat: add native uninstaller (closes #38)#39
bigph00t merged 2 commits into
mainfrom
feat/native-uninstaller

Conversation

@bigph00t

Copy link
Copy Markdown
Contributor

Summary

Closes #38 — adds a built-in uninstaller so users no longer have to read install.sh to figure out how to undo an install.

mobilecli uninstall reverses everything install.sh and the setup wizard put in place:

  • Stops the running daemon
  • Removes daemon autostart (systemd user unit / launchd agent / Windows Task Scheduler) by reusing the existing autostart uninstall logic
  • Strips the shell auto-launch hook from rc files by reusing the existing autolaunch uninstall logic
  • Deletes the config dir (~/.mobilecli, including paired credentials, sessions, logs, uploads)
  • Removes the binary itself (Unix unlinks the running file; Windows is best-effort with a manual fallback note)

Flags

  • -y / --yes — skip the confirmation prompt
  • --keep-config — preserve ~/.mobilecli
  • --keep-binary — leave the binary in place

Standalone script

Adds uninstall.sh for parity with install.sh. It delegates to mobilecli uninstall --yes when the binary is on PATH, and falls back to manual cleanup (daemon, systemd/launchd, shell hooks, config dir, binary) when the binary is missing or broken.

README documents both the native command and the curl one-liner.

Test plan

  • cargo build / cargo clippy clean
  • cargo test — 74 passed
  • Verified mobilecli uninstall --help and the confirmation/cancel path manually
  • bash -n uninstall.sh passes

🤖 Generated with Claude Code

Adds `mobilecli uninstall`, which reverses everything install.sh and the
setup wizard put in place:
- stops the running daemon
- removes daemon autostart (systemd / launchd / Task Scheduler)
- strips the shell auto-launch hook from rc files
- deletes the config dir (~/.mobilecli, incl. paired credentials)
- removes the binary itself (Unix unlink-while-running; Windows best-effort)

Flags: --yes (skip prompt), --keep-config, --keep-binary.

Also adds a standalone uninstall.sh for parity with install.sh: it
delegates to `mobilecli uninstall` when the binary is present and falls
back to manual cleanup otherwise. README documents both paths.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Your free trial has ended. If you'd like to continue receiving code reviews, you can add a payment method here.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Your free trial has ended. If you'd like to continue receiving code reviews, you can add a payment method here.

Mirror the existing install.sh `bash -n` gate so the uninstaller script is
validated in the same release pipeline.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@bigph00t bigph00t force-pushed the feat/native-uninstaller branch from e144aff to 167c790 Compare June 17, 2026 22:40

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Your free trial has ended. If you'd like to continue receiving code reviews, you can add a payment method here.

@bigph00t bigph00t merged commit 7f874f6 into main Jun 17, 2026
7 checks passed
@bigph00t bigph00t deleted the feat/native-uninstaller branch June 17, 2026 22:43
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.

Could you create an uninstaller?

1 participant