Skip to content

feat(cli): add --all flag to uninstall and config unset commands#87

Merged
appcypher merged 1 commit intomainfrom
appcypher/add-all-flag-uninstall-config-unset
Feb 4, 2026
Merged

feat(cli): add --all flag to uninstall and config unset commands#87
appcypher merged 1 commit intomainfrom
appcypher/add-all-flag-uninstall-config-unset

Conversation

@appcypher
Copy link
Copy Markdown
Member

Summary

  • Add bulk operation support for tool uninstall and tool config unset commands via --all flag
  • Enable removing all installed tools or all configuration in a single command
  • Add confirmation prompts for destructive bulk operations to prevent accidental data loss
  • Remove redundant config reset command in favor of unified config unset --all syntax

Changes

  • lib/commands.rs: Add --all and -y/--yes flags to Uninstall and ConfigCommand::Unset variants; remove ConfigCommand::Reset; update help examples
  • lib/handlers/tool/config_cmd.rs: Rewrite config_unset to handle multiple keys and --all modes; add unset_tool_keys, unset_tool_all_keys, and unset_all_tools functions; add load_config_from_path helper; add confirmation prompts using Continue? [y/N] pattern
  • lib/handlers/tool/registry.rs: Update remove_tools to accept all and yes parameters; add logic to fetch all installed tools when --all is used; add confirmation prompt
  • bin/tool.rs: Update dispatch to pass new all and yes parameters

Test Plan

  • Run cargo build to verify compilation
  • Test tool uninstall --help shows new --all and -y flags
  • Test tool config unset --help shows updated syntax
  • Verify tool config reset is no longer recognized (should suggest unset)
  • Test tool uninstall without args shows error asking for --all
  • Test tool config unset without args shows appropriate error
  • Test tool config unset bash without keys shows error about --all

Add bulk operations with confirmation prompts for destructive actions:

- `tool uninstall --all` to remove all installed tools
- `tool config unset <tool> --all` to remove all keys for a tool
- `tool config unset --all` to remove config for all tools
- `tool config unset --all <keys>` to remove specific keys from all tools
- `tool config unset <tool> <keys...>` now supports multiple keys

All --all operations prompt for confirmation with `Continue? [y/N]`
unless -y/--yes is provided.

Removes redundant `config reset` command, replaced by `config unset --all`.
@appcypher appcypher merged commit 1cf71cb into main Feb 4, 2026
6 checks passed
@appcypher appcypher deleted the appcypher/add-all-flag-uninstall-config-unset branch February 4, 2026 07:09
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.

1 participant