Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .claude/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,10 @@
"type": "command",
"command": "bash \"$CLAUDE_PROJECT_DIR/scripts/path-bootstrap.sh\"",
"timeout": 10
},
{
"type": "command",
"command": "bash \"$CLAUDE_PROJECT_DIR/scripts/install_pkgs.sh\""
}
]
}
Expand Down
58 changes: 58 additions & 0 deletions scripts/install_pkgs.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
#!/usr/bin/env bash
# SessionStart hook: install development tools when running in Claude Code on the web.
# Idempotent: each tool is skipped if already on PATH.
# Generated by /configure-plugin:configure-web-session.
set -euo pipefail

if [ "${CLAUDE_CODE_REMOTE:-}" != "true" ]; then
echo "[install_pkgs] Not a remote environment, skipping."
exit 0
fi

INSTALL_DIR="/usr/local/bin"

has() { command -v "$1" >/dev/null 2>&1; }

# --- pre-commit (via pip) ---
if ! has pre-commit; then
echo "[install_pkgs] Installing pre-commit..."
pip install --quiet pre-commit
else
echo "[install_pkgs] pre-commit already installed, skipping."
fi

# --- gitleaks 8.24.0 (pinned to .pre-commit-config.yaml) ---
GITLEAKS_VERSION="8.24.0"
if ! has gitleaks; then
echo "[install_pkgs] Installing gitleaks ${GITLEAKS_VERSION}..."
tmpdir=$(mktemp -d)
curl -fsSL "https://github.com/gitleaks/gitleaks/releases/download/v${GITLEAKS_VERSION}/gitleaks_${GITLEAKS_VERSION}_linux_x64.tar.gz" | tar xz -C "${tmpdir}" gitleaks
mv "${tmpdir}/gitleaks" "${INSTALL_DIR}/gitleaks"
chmod +x "${INSTALL_DIR}/gitleaks"
rm -rf "${tmpdir}"
else
echo "[install_pkgs] gitleaks already installed, skipping."
fi

# --- just 1.40.0 ---
JUST_VERSION="1.40.0"
if ! has just; then
echo "[install_pkgs] Installing just ${JUST_VERSION}..."
tmpdir=$(mktemp -d)
curl -fsSL "https://github.com/casey/just/releases/download/${JUST_VERSION}/just-${JUST_VERSION}-x86_64-unknown-linux-musl.tar.gz" | tar xz -C "${tmpdir}" just
mv "${tmpdir}/just" "${INSTALL_DIR}/just"
chmod +x "${INSTALL_DIR}/just"
rm -rf "${tmpdir}"
else
echo "[install_pkgs] just already installed, skipping."
fi

# --- Summary ---
echo "[install_pkgs] Done. Available tools:"
for cmd in pre-commit gitleaks just ; do
if has "$cmd"; then
echo " $cmd: $(command -v "$cmd")"
else
echo " $cmd: NOT FOUND (install failed)"
fi
done