Remove CLI agent configs (Codex, Gemini, OpenCode, Antigravity, Aider). */ Uninstall Gemini CLI config + hooks. */
| 10867 | /* Remove CLI agent configs (Codex, Gemini, OpenCode, Antigravity, Aider). */ |
| 10868 | /* Uninstall Gemini CLI config + hooks. */ |
| 10869 | static void uninstall_gemini_config(const char *home, bool dry_run) { |
| 10870 | char installed_binary[CLI_BUF_1K]; |
| 10871 | cbm_agent_installed_binary_path(home, installed_binary, sizeof(installed_binary)); |
| 10872 | char cp[CLI_BUF_1K]; |
| 10873 | char ip[CLI_BUF_1K]; |
| 10874 | char ap[CLI_BUF_1K]; |
| 10875 | snprintf(cp, sizeof(cp), "%s/.gemini/settings.json", home); |
| 10876 | snprintf(ip, sizeof(ip), "%s/.gemini/GEMINI.md", home); |
| 10877 | snprintf(ap, sizeof(ap), "%s/.gemini/agents/codebase-memory.md", home); |
| 10878 | if (!dry_run) { |
| 10879 | if (cbm_remove_editor_mcp_owned(installed_binary, cp) != CLI_OK) { |
| 10880 | record_agent_config_error(true, "Gemini CLI", "mcp_uninstall", cp); |
| 10881 | } |
| 10882 | if (cbm_remove_gemini_hooks(cp) != CLI_OK) { |
| 10883 | record_agent_config_error(true, "Gemini CLI", "before_tool_hook_uninstall", cp); |
| 10884 | } |
| 10885 | #ifndef _WIN32 |
| 10886 | if (cbm_remove_gemini_coverage_hook(cp, installed_binary) != CLI_OK) { |
| 10887 | record_agent_config_error(true, "Gemini CLI", "after_tool_hook_uninstall", cp); |
| 10888 | } |
| 10889 | #endif |
| 10890 | if (cbm_remove_gemini_session_hooks(cp) != CLI_OK) { |
| 10891 | record_agent_config_error(true, "Gemini CLI", "session_hook_uninstall", cp); |
| 10892 | } |
| 10893 | if (cbm_remove_instructions(ip) != CLI_OK) { |
| 10894 | record_agent_config_error(true, "Gemini CLI", "instructions_uninstall", ip); |
| 10895 | } |
| 10896 | } |
| 10897 | uninstall_tiered_agent_profiles( |
| 10898 | (cbm_tiered_profile_set_t){ |
| 10899 | .label = "Gemini CLI", |
| 10900 | .verify_path = ap, |
| 10901 | .binary_path = installed_binary, |
| 10902 | .legacy_verify_content = legacy_gemini_verify_agent_content, |
| 10903 | .dialect = CBM_GRAPH_DIALECT_GEMINI, |
| 10904 | }, |
| 10905 | dry_run); |
| 10906 | printf("Gemini CLI: removed MCP config + hooks + instructions + tiered subagents\n"); |
| 10907 | } |
| 10908 | |
| 10909 | static void uninstall_cli_agents(const cbm_detected_agents_t *agents, const char *home, |
| 10910 | bool dry_run) { |
no test coverage detected