claude-all-config 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/LICENSE.md +70 -0
- package/README.md +133 -0
- package/VERSION +1 -0
- package/agents/accessibility-reviewer.md +96 -0
- package/agents/ai-prompt-optimizer.md +94 -0
- package/agents/api-tester.md +102 -0
- package/agents/code-generator.md +94 -0
- package/agents/code-reviewer.md +47 -0
- package/agents/component-generator.md +102 -0
- package/agents/doc-generator.md +91 -0
- package/agents/migration-generator.md +94 -0
- package/agents/performance-analyzer.md +90 -0
- package/agents/proactive-mode.md +91 -0
- package/agents/readme-generator.md +101 -0
- package/agents/security-auditor.md +86 -0
- package/agents/terraform-generator.md +94 -0
- package/agents/test-generator.md +76 -0
- package/bin/agentrouter.json +36 -0
- package/bin/ai-chat +20 -0
- package/bin/antigravity.json +76 -0
- package/bin/api-manager +340 -0
- package/bin/claude-launcher +19 -0
- package/bin/claude-master +15 -0
- package/bin/claude_master.py +295 -0
- package/bin/cohere.json +7 -0
- package/bin/deepseek.json +44 -0
- package/bin/gemini.json +56 -0
- package/bin/glm.json +21 -0
- package/bin/groq.json +41 -0
- package/bin/minimax.json +26 -0
- package/bin/mistral.json +7 -0
- package/bin/moonshot.json +7 -0
- package/bin/ollama.json +36 -0
- package/bin/openai.json +46 -0
- package/bin/openrouter.json +38 -0
- package/bin/perplexity.json +12 -0
- package/bin/qwen.json +7 -0
- package/bin/switch-provider +73 -0
- package/bin/test.json +7 -0
- package/bin/xai.json +41 -0
- package/claude-all +2707 -0
- package/claude-config.json +340 -0
- package/claude-suite/REFACTORING_SUMMARY.md +88 -0
- package/claude-suite/auth/.antigravity_proxy.py +78 -0
- package/claude-suite/auth/__pycache__/openai_auth.cpython-312.pyc +0 -0
- package/claude-suite/auth/gemini_auth.py +80 -0
- package/claude-suite/auth/openai_auth.py +138 -0
- package/claude-suite/backups/claude-all-before-refactor +1075 -0
- package/claude-suite/backups/claude-all.backup +840 -0
- package/claude-suite/backups/claude-all.original +840 -0
- package/claude-suite/models/add-model-manual.sh +588 -0
- package/claude-suite/models/add-model.sh +114 -0
- package/claude-suite/models/model-switcher.sh +69 -0
- package/claude-suite/providers/claude-glm +89 -0
- package/claude-suite/providers/claude-glm-wrapper.sh +55 -0
- package/claude-suite/providers/claude-minimax +12 -0
- package/claude-suite/providers/claude-smart +132 -0
- package/claude-suite/providers/xai_chat.sh +56 -0
- package/claude-suite/utils/__pycache__/claude_master.cpython-312.pyc +0 -0
- package/claude-suite/utils/antigravity_proxy_server.py +168 -0
- package/claude-suite/utils/claude-all-help.txt +83 -0
- package/claude-suite/utils/claude_master.py +408 -0
- package/commands/brainstorm.md +5 -0
- package/commands/execute-plan.md +5 -0
- package/commands/write-plan.md +5 -0
- package/docs/ANTIGRAVITY-SETUP.md +176 -0
- package/docs/AUTH_CREDENTIALS.md +54 -0
- package/docs/NPM-INSTALLATION.md +166 -0
- package/hooks/hooks.json +15 -0
- package/hooks/run-hook.cmd +19 -0
- package/hooks/session-start.sh +52 -0
- package/install.sh +155 -0
- package/mcp.json +34 -0
- package/model/perplexity.json +12 -0
- package/package.json +69 -0
- package/plugins/README.md +47 -0
- package/plugins/installed_plugins.json +317 -0
- package/plugins/known_marketplaces.json +10 -0
- package/plugins/marketplace-info/marketplace.json +517 -0
- package/postinstall.js +100 -0
- package/scripts/antigravity_proxy_server.py +168 -0
- package/scripts/get_gemini_api_key.py +96 -0
- package/scripts/setup_antigravity_auth.py +171 -0
- package/skills/api-development/SKILL.md +11 -0
- package/skills/api-development/openapi/api-documentation.yaml +108 -0
- package/skills/brainstorming/SKILL.md +54 -0
- package/skills/code-quality/SKILL.md +196 -0
- package/skills/condition-based-waiting/SKILL.md +120 -0
- package/skills/condition-based-waiting/example.ts +158 -0
- package/skills/database-development/SKILL.md +11 -0
- package/skills/database-development/migrations/migration.template.sql +49 -0
- package/skills/defense-in-depth/SKILL.md +127 -0
- package/skills/deployment/SKILL.md +11 -0
- package/skills/deployment/ci-cd/github-actions.yml +95 -0
- package/skills/deployment/docker/Dockerfile.template +39 -0
- package/skills/dispatching-parallel-agents/SKILL.md +180 -0
- package/skills/documentation-generation/SKILL.md +8 -0
- package/skills/documentation-generation/templates/README.template.md +60 -0
- package/skills/error-handling/SKILL.md +267 -0
- package/skills/executing-plans/SKILL.md +76 -0
- package/skills/finishing-a-development-branch/SKILL.md +200 -0
- package/skills/frontend-design/frontend-design/SKILL.md +42 -0
- package/skills/integration-testing/SKILL.md +13 -0
- package/skills/integration-testing/examples/contract-test.py +317 -0
- package/skills/integration-testing/examples/e2e-test.js +147 -0
- package/skills/integration-testing/examples/test-isolation.md +94 -0
- package/skills/logging-monitoring/SKILL.md +66 -0
- package/skills/mobile-development/SKILL.md +11 -0
- package/skills/mobile-development/responsive/responsive.css +80 -0
- package/skills/performance-optimization/SKILL.md +9 -0
- package/skills/performance-optimization/profiling/profile.template.js +21 -0
- package/skills/receiving-code-review/SKILL.md +209 -0
- package/skills/refactoring/SKILL.md +11 -0
- package/skills/refactoring/code-smells/common-smells.md +115 -0
- package/skills/requesting-code-review/SKILL.md +105 -0
- package/skills/requesting-code-review/code-reviewer.md +146 -0
- package/skills/root-cause-tracing/SKILL.md +174 -0
- package/skills/root-cause-tracing/find-polluter.sh +63 -0
- package/skills/security-review/SKILL.md +11 -0
- package/skills/security-review/checklists/owasp-checklist.md +31 -0
- package/skills/sharing-skills/SKILL.md +194 -0
- package/skills/subagent-driven-development/SKILL.md +240 -0
- package/skills/subagent-driven-development/code-quality-reviewer-prompt.md +20 -0
- package/skills/subagent-driven-development/implementer-prompt.md +78 -0
- package/skills/subagent-driven-development/spec-reviewer-prompt.md +61 -0
- package/skills/systematic-debugging/CREATION-LOG.md +119 -0
- package/skills/systematic-debugging/SKILL.md +295 -0
- package/skills/systematic-debugging/test-academic.md +14 -0
- package/skills/systematic-debugging/test-pressure-1.md +58 -0
- package/skills/systematic-debugging/test-pressure-2.md +68 -0
- package/skills/systematic-debugging/test-pressure-3.md +69 -0
- package/skills/test-driven-development/SKILL.md +364 -0
- package/skills/testing-anti-patterns/SKILL.md +302 -0
- package/skills/testing-skills-with-subagents/SKILL.md +387 -0
- package/skills/testing-skills-with-subagents/examples/CLAUDE_MD_TESTING.md +189 -0
- package/skills/ui-ux-review/SKILL.md +13 -0
- package/skills/ui-ux-review/checklists/ux-heuristics.md +61 -0
- package/skills/using-git-worktrees/SKILL.md +213 -0
- package/skills/using-superpowers/SKILL.md +101 -0
- package/skills/verification-before-completion/SKILL.md +139 -0
- package/skills/writing-plans/SKILL.md +116 -0
- package/skills/writing-skills/SKILL.md +622 -0
- package/skills/writing-skills/anthropic-best-practices.md +1150 -0
- package/skills/writing-skills/graphviz-conventions.dot +172 -0
- package/skills/writing-skills/persuasion-principles.md +187 -0
- package/update.sh +36 -0
- package/utils/check-superpowers.sh +114 -0
- package/utils/claude-branding.md +166 -0
- package/utils/config.js +185 -0
- package/utils/custom-claude-config.sh +89 -0
- package/utils/custom-claude-hooks.md +129 -0
- package/utils/custom-claude-lib.js +222 -0
- package/utils/customize-claude-ui.sh +162 -0
- package/utils/fix-claude-integration.sh +133 -0
- package/utils/help.js +125 -0
- package/utils/install-curl.ps1 +135 -0
- package/utils/install-curl.sh +525 -0
- package/utils/install-superpowers.js +411 -0
- package/utils/install.js +298 -0
- package/utils/install.sh +182 -0
- package/utils/postinstall.js +63 -0
- package/utils/rename-claude.sh +96 -0
- package/utils/uninstall-superpowers.js +273 -0
- package/utils/uninstall.ps1 +136 -0
- package/utils/uninstall.sh +163 -0
- package/utils/update.sh +160 -0
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
# Claude-All-New Uninstaller for Windows PowerShell
|
|
2
|
+
|
|
3
|
+
$GREEN = "Green"
|
|
4
|
+
$BLUE = "Cyan"
|
|
5
|
+
$RED = "Red"
|
|
6
|
+
$YELLOW = "Yellow"
|
|
7
|
+
$WHITE = "White"
|
|
8
|
+
|
|
9
|
+
Write-Host ""
|
|
10
|
+
Write-Host "╔════════════════════════════════════════╗" -ForegroundColor $RED
|
|
11
|
+
Write-Host "║ Claude-All-New Uninstaller ║" -ForegroundColor $RED
|
|
12
|
+
Write-Host "╚════════════════════════════════════════╝" -ForegroundColor $RED
|
|
13
|
+
Write-Host ""
|
|
14
|
+
|
|
15
|
+
$installDir = "$env:USERPROFILE\.local\bin"
|
|
16
|
+
|
|
17
|
+
Write-Host "Platform: Windows" -ForegroundColor $YELLOW
|
|
18
|
+
Write-Host "Install Dir: $installDir" -ForegroundColor $YELLOW
|
|
19
|
+
Write-Host ""
|
|
20
|
+
|
|
21
|
+
# Check if installed
|
|
22
|
+
if (-not (Test-Path "$installDir\claude-all")) {
|
|
23
|
+
Write-Host "Claude-All-New is not installed in $installDir" -ForegroundColor $YELLOW
|
|
24
|
+
$checkOther = Read-Host "Check another location? (y/N)"
|
|
25
|
+
if ($checkOther -eq "y" -or $checkOther -eq "Y") {
|
|
26
|
+
$installDir = Read-Host "Enter install directory"
|
|
27
|
+
if (-not (Test-Path "$installDir\claude-all")) {
|
|
28
|
+
Write-Host "Not found in $installDir" -ForegroundColor $RED
|
|
29
|
+
exit 1
|
|
30
|
+
}
|
|
31
|
+
} else {
|
|
32
|
+
exit 0
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
Write-Host "Found Claude-All-New installation:" -ForegroundColor $BLUE
|
|
37
|
+
Write-Host ""
|
|
38
|
+
|
|
39
|
+
# Files to remove
|
|
40
|
+
$filesToRemove = @(
|
|
41
|
+
"$installDir\claude-all",
|
|
42
|
+
"$installDir\api-manager"
|
|
43
|
+
)
|
|
44
|
+
|
|
45
|
+
if (Test-Path "$installDir\model") {
|
|
46
|
+
$filesToRemove += "$installDir\model"
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
Write-Host "Files to remove:"
|
|
50
|
+
foreach ($file in $filesToRemove) {
|
|
51
|
+
if (Test-Path $file) {
|
|
52
|
+
Write-Host " X $file" -ForegroundColor $RED
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
Write-Host ""
|
|
56
|
+
|
|
57
|
+
# API Keys
|
|
58
|
+
$apiKeyFiles = @(
|
|
59
|
+
"$env:USERPROFILE\.glm_api_key",
|
|
60
|
+
"$env:USERPROFILE\.minimax_api_key",
|
|
61
|
+
"$env:USERPROFILE\.openai_api_key",
|
|
62
|
+
"$env:USERPROFILE\.gemini_api_key",
|
|
63
|
+
"$env:USERPROFILE\.xai_api_key",
|
|
64
|
+
"$env:USERPROFILE\.groq_api_key"
|
|
65
|
+
)
|
|
66
|
+
|
|
67
|
+
$foundKeys = @()
|
|
68
|
+
foreach ($keyfile in $apiKeyFiles) {
|
|
69
|
+
if (Test-Path $keyfile) {
|
|
70
|
+
$foundKeys += $keyfile
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
if ($foundKeys.Count -gt 0) {
|
|
75
|
+
Write-Host "Found API key files:" -ForegroundColor $YELLOW
|
|
76
|
+
foreach ($keyfile in $foundKeys) {
|
|
77
|
+
Write-Host " 🔑 $keyfile" -ForegroundColor $YELLOW
|
|
78
|
+
}
|
|
79
|
+
Write-Host ""
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
# Confirmation
|
|
83
|
+
Write-Host "⚠️ This action cannot be undone!" -ForegroundColor $RED
|
|
84
|
+
Write-Host ""
|
|
85
|
+
$confirm = Read-Host "Remove Claude-All-New? (y/N)"
|
|
86
|
+
|
|
87
|
+
if ($confirm -ne "y" -and $confirm -ne "Y") {
|
|
88
|
+
Write-Host "Cancelled."
|
|
89
|
+
exit 0
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
Write-Host ""
|
|
93
|
+
|
|
94
|
+
# Remove program files
|
|
95
|
+
Write-Host "Removing program files..." -ForegroundColor $BLUE
|
|
96
|
+
foreach ($file in $filesToRemove) {
|
|
97
|
+
if (Test-Path $file) {
|
|
98
|
+
try {
|
|
99
|
+
Remove-Item -Path $file -Recurse -Force
|
|
100
|
+
Write-Host " ✓ Removed: $file" -ForegroundColor $GREEN
|
|
101
|
+
} catch {
|
|
102
|
+
Write-Host " ✗ Failed: $file" -ForegroundColor $RED
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
# Ask about API keys
|
|
108
|
+
if ($foundKeys.Count -gt 0) {
|
|
109
|
+
Write-Host ""
|
|
110
|
+
$removeKeys = Read-Host "Also remove API key files? (y/N)"
|
|
111
|
+
|
|
112
|
+
if ($removeKeys -eq "y" -or $removeKeys -eq "Y") {
|
|
113
|
+
Write-Host "Removing API key files..." -ForegroundColor $BLUE
|
|
114
|
+
foreach ($keyfile in $foundKeys) {
|
|
115
|
+
try {
|
|
116
|
+
Remove-Item -Path $keyfile -Force
|
|
117
|
+
Write-Host " ✓ Removed: $keyfile" -ForegroundColor $GREEN
|
|
118
|
+
} catch {
|
|
119
|
+
Write-Host " ✗ Failed: $keyfile" -ForegroundColor $RED
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
} else {
|
|
123
|
+
Write-Host "✓ API keys preserved" -ForegroundColor $GREEN
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
Write-Host ""
|
|
128
|
+
Write-Host "╔════════════════════════════════════════╗" -ForegroundColor $GREEN
|
|
129
|
+
Write-Host "║ Uninstall Complete! ║" -ForegroundColor $GREEN
|
|
130
|
+
Write-Host "╚════════════════════════════════════════╝" -ForegroundColor $GREEN
|
|
131
|
+
Write-Host ""
|
|
132
|
+
Write-Host "Claude-All-New has been removed from your system."
|
|
133
|
+
Write-Host ""
|
|
134
|
+
Write-Host "To reinstall:" -ForegroundColor $BLUE
|
|
135
|
+
Write-Host " iwr -useb https://raw.githubusercontent.com/zesbe/Claude-All-New/main/install-curl.ps1 | iex"
|
|
136
|
+
Write-Host ""
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
# Claude-All-New Uninstaller
|
|
4
|
+
# Cross-platform: Linux, Termux, macOS, Windows (Git Bash/WSL)
|
|
5
|
+
|
|
6
|
+
# Platform detection
|
|
7
|
+
detect_platform() {
|
|
8
|
+
case "$(uname -s)" in
|
|
9
|
+
Linux*) echo "Linux";;
|
|
10
|
+
Darwin*) echo "macOS";;
|
|
11
|
+
CYGWIN*|MINGW*|MSYS*) echo "Windows";;
|
|
12
|
+
*) echo "Linux";;
|
|
13
|
+
esac
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
PLATFORM=$(detect_platform)
|
|
17
|
+
|
|
18
|
+
# Colors
|
|
19
|
+
if [[ "$PLATFORM" == "Windows" ]]; then
|
|
20
|
+
if command -v tput &> /dev/null; then
|
|
21
|
+
GREEN=$(tput setaf 2 2>/dev/null || echo "")
|
|
22
|
+
BLUE=$(tput setaf 4 2>/dev/null || echo "")
|
|
23
|
+
RED=$(tput setaf 1 2>/dev/null || echo "")
|
|
24
|
+
YELLOW=$(tput setaf 3 2>/dev/null || echo "")
|
|
25
|
+
NC=$(tput sgr0 2>/dev/null || echo "")
|
|
26
|
+
else
|
|
27
|
+
GREEN='' BLUE='' RED='' YELLOW='' NC=''
|
|
28
|
+
fi
|
|
29
|
+
else
|
|
30
|
+
GREEN='\033[0;32m'
|
|
31
|
+
BLUE='\033[0;34m'
|
|
32
|
+
RED='\033[0;31m'
|
|
33
|
+
YELLOW='\033[1;33m'
|
|
34
|
+
NC='\033[0m'
|
|
35
|
+
fi
|
|
36
|
+
|
|
37
|
+
# Portable home directory
|
|
38
|
+
if [[ -n "$HOME" ]]; then
|
|
39
|
+
USER_HOME="$HOME"
|
|
40
|
+
elif [[ -n "$USERPROFILE" ]]; then
|
|
41
|
+
USER_HOME="$USERPROFILE"
|
|
42
|
+
else
|
|
43
|
+
USER_HOME="$HOME"
|
|
44
|
+
fi
|
|
45
|
+
|
|
46
|
+
INSTALL_DIR="$USER_HOME/.local/bin"
|
|
47
|
+
|
|
48
|
+
echo -e "${RED}╔════════════════════════════════════════╗${NC}"
|
|
49
|
+
echo -e "${RED}║ Claude-All-New Uninstaller ║${NC}"
|
|
50
|
+
echo -e "${RED}╚════════════════════════════════════════╝${NC}"
|
|
51
|
+
echo ""
|
|
52
|
+
echo -e "${YELLOW}Platform:${NC} $PLATFORM"
|
|
53
|
+
echo -e "${YELLOW}Install Dir:${NC} $INSTALL_DIR"
|
|
54
|
+
echo ""
|
|
55
|
+
|
|
56
|
+
# Check if installed
|
|
57
|
+
if [[ ! -f "$INSTALL_DIR/claude-all" ]]; then
|
|
58
|
+
echo -e "${YELLOW}Claude-All-New is not installed in $INSTALL_DIR${NC}"
|
|
59
|
+
echo ""
|
|
60
|
+
read -p "Check another location? (y/N): " check_other
|
|
61
|
+
if [[ "$check_other" =~ ^[Yy]$ ]]; then
|
|
62
|
+
read -p "Enter install directory: " INSTALL_DIR
|
|
63
|
+
if [[ ! -f "$INSTALL_DIR/claude-all" ]]; then
|
|
64
|
+
echo -e "${RED}Not found in $INSTALL_DIR${NC}"
|
|
65
|
+
exit 1
|
|
66
|
+
fi
|
|
67
|
+
else
|
|
68
|
+
exit 0
|
|
69
|
+
fi
|
|
70
|
+
fi
|
|
71
|
+
|
|
72
|
+
echo -e "${BLUE}Found Claude-All-New installation:${NC}"
|
|
73
|
+
echo ""
|
|
74
|
+
|
|
75
|
+
# List files to remove
|
|
76
|
+
FILES_TO_REMOVE=(
|
|
77
|
+
"$INSTALL_DIR/claude-all"
|
|
78
|
+
"$INSTALL_DIR/api-manager"
|
|
79
|
+
)
|
|
80
|
+
|
|
81
|
+
# Check for model directory
|
|
82
|
+
if [[ -d "$INSTALL_DIR/model" ]]; then
|
|
83
|
+
FILES_TO_REMOVE+=("$INSTALL_DIR/model")
|
|
84
|
+
fi
|
|
85
|
+
|
|
86
|
+
echo "Files to remove:"
|
|
87
|
+
for file in "${FILES_TO_REMOVE[@]}"; do
|
|
88
|
+
if [[ -e "$file" ]]; then
|
|
89
|
+
echo -e " ${RED}✗${NC} $file"
|
|
90
|
+
fi
|
|
91
|
+
done
|
|
92
|
+
echo ""
|
|
93
|
+
|
|
94
|
+
# API Keys
|
|
95
|
+
API_KEY_FILES=(
|
|
96
|
+
"$USER_HOME/.glm_api_key"
|
|
97
|
+
"$USER_HOME/.minimax_api_key"
|
|
98
|
+
"$USER_HOME/.openai_api_key"
|
|
99
|
+
"$USER_HOME/.gemini_api_key"
|
|
100
|
+
"$USER_HOME/.xai_api_key"
|
|
101
|
+
"$USER_HOME/.groq_api_key"
|
|
102
|
+
)
|
|
103
|
+
|
|
104
|
+
FOUND_KEYS=()
|
|
105
|
+
for keyfile in "${API_KEY_FILES[@]}"; do
|
|
106
|
+
if [[ -f "$keyfile" ]]; then
|
|
107
|
+
FOUND_KEYS+=("$keyfile")
|
|
108
|
+
fi
|
|
109
|
+
done
|
|
110
|
+
|
|
111
|
+
if [[ ${#FOUND_KEYS[@]} -gt 0 ]]; then
|
|
112
|
+
echo -e "${YELLOW}Found API key files:${NC}"
|
|
113
|
+
for keyfile in "${FOUND_KEYS[@]}"; do
|
|
114
|
+
echo -e " ${YELLOW}🔑${NC} $keyfile"
|
|
115
|
+
done
|
|
116
|
+
echo ""
|
|
117
|
+
fi
|
|
118
|
+
|
|
119
|
+
# Confirmation
|
|
120
|
+
echo -e "${RED}⚠️ This action cannot be undone!${NC}"
|
|
121
|
+
echo ""
|
|
122
|
+
read -p "Remove Claude-All-New? (y/N): " confirm
|
|
123
|
+
|
|
124
|
+
if [[ ! "$confirm" =~ ^[Yy]$ ]]; then
|
|
125
|
+
echo "Cancelled."
|
|
126
|
+
exit 0
|
|
127
|
+
fi
|
|
128
|
+
|
|
129
|
+
echo ""
|
|
130
|
+
|
|
131
|
+
# Remove program files
|
|
132
|
+
echo -e "${BLUE}Removing program files...${NC}"
|
|
133
|
+
for file in "${FILES_TO_REMOVE[@]}"; do
|
|
134
|
+
if [[ -e "$file" ]]; then
|
|
135
|
+
rm -rf "$file" 2>/dev/null && echo -e " ${GREEN}✓${NC} Removed: $file" || echo -e " ${RED}✗${NC} Failed: $file"
|
|
136
|
+
fi
|
|
137
|
+
done
|
|
138
|
+
|
|
139
|
+
# Ask about API keys
|
|
140
|
+
if [[ ${#FOUND_KEYS[@]} -gt 0 ]]; then
|
|
141
|
+
echo ""
|
|
142
|
+
read -p "Also remove API key files? (y/N): " remove_keys
|
|
143
|
+
|
|
144
|
+
if [[ "$remove_keys" =~ ^[Yy]$ ]]; then
|
|
145
|
+
echo -e "${BLUE}Removing API key files...${NC}"
|
|
146
|
+
for keyfile in "${FOUND_KEYS[@]}"; do
|
|
147
|
+
rm -f "$keyfile" 2>/dev/null && echo -e " ${GREEN}✓${NC} Removed: $keyfile" || echo -e " ${RED}✗${NC} Failed: $keyfile"
|
|
148
|
+
done
|
|
149
|
+
else
|
|
150
|
+
echo -e "${GREEN}✓${NC} API keys preserved"
|
|
151
|
+
fi
|
|
152
|
+
fi
|
|
153
|
+
|
|
154
|
+
echo ""
|
|
155
|
+
echo -e "${GREEN}╔════════════════════════════════════════╗${NC}"
|
|
156
|
+
echo -e "${GREEN}║ Uninstall Complete! ║${NC}"
|
|
157
|
+
echo -e "${GREEN}╚════════════════════════════════════════╝${NC}"
|
|
158
|
+
echo ""
|
|
159
|
+
echo "Claude-All-New has been removed from your system."
|
|
160
|
+
echo ""
|
|
161
|
+
echo -e "${BLUE}To reinstall:${NC}"
|
|
162
|
+
echo " curl -fsSL https://raw.githubusercontent.com/zesbe/Claude-All-New/main/install-curl.sh | bash"
|
|
163
|
+
echo ""
|
package/utils/update.sh
ADDED
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
# Claude-All-New Updater
|
|
4
|
+
# Safely updates all files while preserving user data
|
|
5
|
+
|
|
6
|
+
set -e
|
|
7
|
+
|
|
8
|
+
GREEN='\033[0;32m'
|
|
9
|
+
BLUE='\033[0;34m'
|
|
10
|
+
YELLOW='\033[1;33m'
|
|
11
|
+
RED='\033[0;31m'
|
|
12
|
+
NC='\033[0m'
|
|
13
|
+
|
|
14
|
+
# Get installation directory
|
|
15
|
+
INSTALL_DIR="$HOME/.local/bin"
|
|
16
|
+
if [[ ! -f "$INSTALL_DIR/claude-all" ]]; then
|
|
17
|
+
INSTALL_DIR="/usr/local/bin"
|
|
18
|
+
if [[ ! -f "$INSTALL_DIR/claude-all" ]]; then
|
|
19
|
+
echo -e "${RED}Error: Claude-All-New not found. Please install first.${NC}"
|
|
20
|
+
exit 1
|
|
21
|
+
fi
|
|
22
|
+
fi
|
|
23
|
+
|
|
24
|
+
echo -e "${BLUE}🔄 Claude-All-New Updater${NC}"
|
|
25
|
+
echo "=================================="
|
|
26
|
+
echo -e "${BLUE}Installation directory: $INSTALL_DIR${NC}"
|
|
27
|
+
echo
|
|
28
|
+
|
|
29
|
+
# Get current version
|
|
30
|
+
CURRENT_VERSION=""
|
|
31
|
+
if [[ -f "$INSTALL_DIR/VERSION" ]]; then
|
|
32
|
+
CURRENT_VERSION=$(cat "$INSTALL_DIR/VERSION" | grep VERSION | cut -d'"' -f2)
|
|
33
|
+
echo -e "${YELLOW}Current version: $CURRENT_VERSION${NC}"
|
|
34
|
+
else
|
|
35
|
+
echo -e "${YELLOW}Current version: Unknown${NC}"
|
|
36
|
+
fi
|
|
37
|
+
|
|
38
|
+
# Download latest version
|
|
39
|
+
echo -e "${BLUE}Downloading latest version...${NC}"
|
|
40
|
+
TEMP_DIR=$(mktemp -d)
|
|
41
|
+
cd "$TEMP_DIR"
|
|
42
|
+
|
|
43
|
+
# Download files
|
|
44
|
+
if command -v wget &> /dev/null; then
|
|
45
|
+
DOWNLOAD_CMD="wget -q"
|
|
46
|
+
elif command -v curl &> /dev/null; then
|
|
47
|
+
DOWNLOAD_CMD="curl -fsSL"
|
|
48
|
+
else
|
|
49
|
+
echo -e "${RED}Error: wget or curl required${NC}"
|
|
50
|
+
exit 1
|
|
51
|
+
fi
|
|
52
|
+
|
|
53
|
+
# Get repository files
|
|
54
|
+
REPO_URL="https://raw.githubusercontent.com/zesbe/Claude-All-New/main"
|
|
55
|
+
|
|
56
|
+
# Download main script
|
|
57
|
+
echo -e "${BLUE}Downloading main script...${NC}"
|
|
58
|
+
$DOWNLOAD_CMD "$REPO_URL/claude-all" -O claude-new || {
|
|
59
|
+
echo -e "${RED}Failed to download claude-all${NC}"
|
|
60
|
+
exit 1
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
# Download version file
|
|
64
|
+
$DOWNLOAD_CMD "$REPO_URL/VERSION" -O VERSION || {
|
|
65
|
+
echo -e "${RED}Failed to download VERSION${NC}"
|
|
66
|
+
exit 1
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
# Get latest version
|
|
70
|
+
LATEST_VERSION=$(cat VERSION | grep VERSION | cut -d'"' -f2)
|
|
71
|
+
echo -e "${GREEN}Latest version: $LATEST_VERSION${NC}"
|
|
72
|
+
|
|
73
|
+
# Check if update needed
|
|
74
|
+
if [[ "$CURRENT_VERSION" == "$LATEST_VERSION" ]]; then
|
|
75
|
+
echo -e "${GREEN}✓ Already up to date!${NC}"
|
|
76
|
+
cd /
|
|
77
|
+
rm -rf "$TEMP_DIR"
|
|
78
|
+
exit 0
|
|
79
|
+
fi
|
|
80
|
+
|
|
81
|
+
# Backup user data before update
|
|
82
|
+
echo -e "${BLUE}Creating backup...${NC}"
|
|
83
|
+
BACKUP_DIR="$HOME/.claude-all-backup-$(date +%Y%m%d_%H%M%S)"
|
|
84
|
+
mkdir -p "$BACKUP_DIR"
|
|
85
|
+
|
|
86
|
+
# Backup API keys and sensitive configs
|
|
87
|
+
if [[ -f "$HOME/.config/claude-all/api_keys.json" ]]; then
|
|
88
|
+
cp "$HOME/.config/claude-all/api_keys.json" "$BACKUP_DIR/" 2>/dev/null || true
|
|
89
|
+
fi
|
|
90
|
+
|
|
91
|
+
# Backup model configs with user modifications
|
|
92
|
+
if [[ -d "$INSTALL_DIR/model" ]]; then
|
|
93
|
+
mkdir -p "$BACKUP_DIR/model"
|
|
94
|
+
cp -r "$INSTALL_DIR/model/"* "$BACKUP_DIR/model/" 2>/dev/null || true
|
|
95
|
+
fi
|
|
96
|
+
|
|
97
|
+
# Download updated files
|
|
98
|
+
echo -e "${BLUE}Downloading updated files...${NC}"
|
|
99
|
+
|
|
100
|
+
# Download all JSON model configs
|
|
101
|
+
mkdir -p bin
|
|
102
|
+
for file in antigravity.json gemini.json openai.json glm.json minimax.json groq.json xai.json openrouter.json ollama.json cohere.json deepseek.json mistral.json moonshot.json perplexity.json qwen.json agentrouter.json test.json; do
|
|
103
|
+
echo -e "${YELLOW} Downloading $file...${NC}"
|
|
104
|
+
$DOWNLOAD_CMD "$REPO_URL/bin/$file" -O "bin/$file" || {
|
|
105
|
+
echo -e "${RED}Failed to download $file${NC}"
|
|
106
|
+
}
|
|
107
|
+
done
|
|
108
|
+
|
|
109
|
+
# Download utility scripts
|
|
110
|
+
$DOWNLOAD_CMD "$REPO_URL/bin/api-manager" -O bin/api-manager || {
|
|
111
|
+
echo -e "${RED}Failed to download api-manager${NC}"
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
# Install updated files
|
|
115
|
+
echo -e "${BLUE}Installing updates...${NC}"
|
|
116
|
+
|
|
117
|
+
# Backup current executable
|
|
118
|
+
if [[ -f "$INSTALL_DIR/claude-all" ]]; then
|
|
119
|
+
cp "$INSTALL_DIR/claude-all" "$INSTALL_DIR/claude-all.backup"
|
|
120
|
+
fi
|
|
121
|
+
|
|
122
|
+
# Install new files
|
|
123
|
+
chmod +x claude-new
|
|
124
|
+
mv claude-new "$INSTALL_DIR/claude-all"
|
|
125
|
+
chmod +x bin/api-manager
|
|
126
|
+
cp -r bin/* "$INSTALL_DIR/"
|
|
127
|
+
cp VERSION "$INSTALL_DIR/"
|
|
128
|
+
|
|
129
|
+
# Restore user customizations if they exist
|
|
130
|
+
echo -e "${BLUE}Restoring customizations...${NC}"
|
|
131
|
+
|
|
132
|
+
# Check if user had custom model files and merge them
|
|
133
|
+
if [[ -d "$BACKUP_DIR/model" ]]; then
|
|
134
|
+
for backup_file in "$BACKUP_DIR/model"/*.json; do
|
|
135
|
+
if [[ -f "$backup_file" ]]; then
|
|
136
|
+
filename=$(basename "$backup_file")
|
|
137
|
+
if [[ -f "$INSTALL_DIR/model/$filename" ]]; then
|
|
138
|
+
# Compare and ask user if they want to keep their version
|
|
139
|
+
echo -e "${YELLOW}Found customized model config: $filename${NC}"
|
|
140
|
+
echo -e "${YELLOW}Keeping your customized version${NC}"
|
|
141
|
+
# Could add more sophisticated merge logic here
|
|
142
|
+
fi
|
|
143
|
+
fi
|
|
144
|
+
done
|
|
145
|
+
fi
|
|
146
|
+
|
|
147
|
+
# Set permissions
|
|
148
|
+
chmod +x "$INSTALL_DIR"/* 2>/dev/null || true
|
|
149
|
+
|
|
150
|
+
# Cleanup
|
|
151
|
+
echo -e "${BLUE}Cleaning up...${NC}"
|
|
152
|
+
cd /
|
|
153
|
+
rm -rf "$TEMP_DIR"
|
|
154
|
+
|
|
155
|
+
echo
|
|
156
|
+
echo -e "${GREEN}✓ Update completed successfully!${NC}"
|
|
157
|
+
echo -e "${GREEN} Updated from $CURRENT_VERSION to $LATEST_VERSION${NC}"
|
|
158
|
+
echo -e "${YELLOW} Backup saved at: $BACKUP_DIR${NC}"
|
|
159
|
+
echo
|
|
160
|
+
echo -e "${BLUE}Run 'claude-all' to use the updated version${NC}"
|