|
3 | 3 |
|
4 | 4 | SETTINGS_FILE="${HOME}/.claude/settings.json" |
5 | 5 |
|
| 6 | + |
6 | 7 | # Create settings file if it doesn't exist |
7 | 8 | if [[ ! -f "$SETTINGS_FILE" ]]; then |
8 | 9 | mkdir -p "$(dirname "$SETTINGS_FILE")" |
9 | 10 | echo '{}' > "$SETTINGS_FILE" |
10 | 11 | fi |
11 | 12 |
|
| 13 | +echo "[SETTINGS] Applying default settings to $SETTINGS_FILE..." |
| 14 | + |
12 | 15 | # Apply default settings |
13 | 16 | jq ' |
14 | 17 | .includeCoAuthoredBy = false | |
15 | 18 | .env.SLASH_COMMAND_TOOL_CHAR_BUDGET = "50000" |
16 | 19 | ' "$SETTINGS_FILE" > "${SETTINGS_FILE}.tmp" && mv "${SETTINGS_FILE}.tmp" "$SETTINGS_FILE" |
17 | 20 |
|
18 | | -echo "Claude Code defaults applied to $SETTINGS_FILE" |
| 21 | +echo "[SETTINGS] ✔ Default settings applied" |
| 22 | + |
| 23 | +echo "[PLUGINS] Installing and enabling plugins..." |
| 24 | + |
| 25 | +CLAUDE_PLUGINS=( |
| 26 | + "superpowers@superpowers-dev" |
| 27 | + "payload@payload-marketplace" |
| 28 | + "typescript-lsp@claude-plugins-official" |
| 29 | +) |
| 30 | + |
| 31 | +# Loop through plugins and install/enable/update each |
| 32 | +for PLUGIN in "${CLAUDE_PLUGINS[@]}"; do |
| 33 | + NAME="${PLUGIN%%@*}" |
| 34 | + MARKETPLACE="${PLUGIN##*@}" |
| 35 | + FULL_NAME="$NAME@$MARKETPLACE" |
19 | 36 |
|
20 | | -# Superpowers plugin |
21 | | -claude plugin marketplace add obra/superpowers 2>/dev/null || true |
22 | | -claude plugin install superpowers@superpowers-dev |
23 | | -claude plugin enable superpowers@superpowers-dev 2>/dev/null || true |
| 37 | + # Add marketplace if not already added |
| 38 | + claude plugin marketplace add "$MARKETPLACE" 2>/dev/null || echo "✔ $MARKETPLACE marketplace already added" |
24 | 39 |
|
25 | | -# TypeScript LSP plugin |
26 | | -claude plugin install typescript-lsp |
27 | | -claude plugin enable typescript-lsp 2>/dev/null || true |
| 40 | + # Install, enable, update plugin |
| 41 | + claude plugin install "$FULL_NAME" 2>/dev/null || echo "✔ $NAME plugin already installed" |
| 42 | + claude plugin enable "$FULL_NAME" 2>/dev/null || echo "✔ $NAME plugin already enabled" |
| 43 | + claude plugin update "$FULL_NAME" |
| 44 | +done |
28 | 45 |
|
| 46 | +echo "[PLUGINS] ✔ All plugins installed and enabled" |
0 commit comments