Files
claude-workflow/bootstrap.sh
T
martinandClaude Sonnet 4.6 3a0233253c bootstrap: Voraussetzungen automatisch prüfen und installieren
jq, ruff und secret-tool werden bei Bedarf via apt/pipx installiert.
Fehlender Gitea-Token wird interaktiv abgefragt und im Keyring gespeichert.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 13:39:02 +02:00

86 lines
2.2 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
set -euo pipefail
REPO="/mnt/projekte/claude-workflow"
echo "=== Claude-Workflow Bootstrap ==="
# Skills (als Verzeichnis-Symlinks: ~/.claude/skills/<name> → repo/skills/<name>/)
mkdir -p ~/.claude/skills
for d in "$REPO/skills/"/*/; do
name=$(basename "$d")
ln -sf "$d" ~/.claude/skills/"$name"
done
echo "✓ Skills verlinkt"
# Agents
mkdir -p ~/.claude/agents
for f in "$REPO/agents/"*.md; do
ln -sf "$f" ~/.claude/agents/
done
echo "✓ Agents verlinkt"
# Dotfiles
ln -sf "$REPO/dotfiles/CLAUDE.md" ~/.claude/CLAUDE.md
ln -sf "$REPO/dotfiles/settings.json" ~/.claude/settings.json
ln -sf "$REPO/dotfiles/statusline-command.sh" ~/.claude/statusline-command.sh
echo "✓ Dotfiles verlinkt"
# Hooks ausführbar machen
chmod +x "$REPO/hooks/"*.sh
echo "✓ Hooks ausführbar"
echo ""
echo "=== Voraussetzungen prüfen ==="
# --- jq ---
if command -v jq &>/dev/null; then
echo "✓ jq $(jq --version)"
else
echo " jq fehlt installiere via apt..."
sudo apt-get install -y jq
echo "✓ jq installiert"
fi
# --- ruff ---
if command -v ruff &>/dev/null; then
echo "✓ ruff $(ruff --version)"
else
echo " ruff fehlt installiere via pipx..."
if ! command -v pipx &>/dev/null; then
sudo apt-get install -y pipx
pipx ensurepath
fi
pipx install ruff
echo "✓ ruff installiert"
fi
# --- secret-tool + Gitea-Token ---
if ! command -v secret-tool &>/dev/null; then
echo " secret-tool fehlt installiere libsecret-tools..."
sudo apt-get install -y libsecret-tools
echo "✓ secret-tool installiert"
else
echo "✓ secret-tool vorhanden"
fi
echo " Gitea-Token prüfen..."
if secret-tool lookup user claude-code token gitea &>/dev/null; then
echo "✓ Gitea-Token vorhanden"
else
echo ""
echo " Gitea-Token für claude-code nicht gefunden."
read -r -p " Gitea-Token eingeben (https://gitea.troeger-net.org): " GITEA_TOKEN
if [[ -n "${GITEA_TOKEN// /}" ]]; then
echo -n "$GITEA_TOKEN" | secret-tool store \
--label="Gitea claude-code token" \
user claude-code token gitea
echo "✓ Gitea-Token gespeichert"
else
echo "⚠ Kein Token eingegeben übersprungen"
fi
fi
echo ""
echo "✓ Bootstrap abgeschlossen"