this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Add setup script for symlinking skills to ~/.claude

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

alice 8b1dd049

+58
+58
setup.sh
··· 1 + #!/usr/bin/env bash 2 + # Symlinks skills and commands from this monorepo to ~/.claude/ 3 + 4 + set -euo pipefail 5 + 6 + MONOREPO="$(cd "$(dirname "$0")" && pwd)" 7 + CLAUDE_DIR="$HOME/.claude" 8 + 9 + mkdir -p "$CLAUDE_DIR/skills" "$CLAUDE_DIR/commands" "$CLAUDE_DIR/scripts" 10 + 11 + # Link skills (each skill is a directory) 12 + for skill in "$MONOREPO/skills"/*/; do 13 + name=$(basename "$skill") 14 + target="$CLAUDE_DIR/skills/$name" 15 + if [ -L "$target" ]; then 16 + echo "Updating: $name" 17 + rm "$target" 18 + elif [ -e "$target" ]; then 19 + echo "Skipping $name (exists and is not a symlink)" 20 + continue 21 + fi 22 + ln -s "$skill" "$target" 23 + echo "Linked: skills/$name" 24 + done 25 + 26 + # Link commands (each command is a .md file) 27 + for cmd in "$MONOREPO/commands"/*.md; do 28 + [ -e "$cmd" ] || continue 29 + name=$(basename "$cmd") 30 + target="$CLAUDE_DIR/commands/$name" 31 + if [ -L "$target" ]; then 32 + echo "Updating: $name" 33 + rm "$target" 34 + elif [ -e "$target" ]; then 35 + echo "Skipping $name (exists and is not a symlink)" 36 + continue 37 + fi 38 + ln -s "$cmd" "$target" 39 + echo "Linked: commands/$name" 40 + done 41 + 42 + # Link scripts (.sh and .py files) 43 + for script in "$MONOREPO/scripts"/*.sh "$MONOREPO/scripts"/*.py; do 44 + [ -e "$script" ] || continue 45 + name=$(basename "$script") 46 + target="$CLAUDE_DIR/scripts/$name" 47 + if [ -L "$target" ]; then 48 + echo "Updating: $name" 49 + rm "$target" 50 + elif [ -e "$target" ]; then 51 + echo "Skipping $name (exists and is not a symlink)" 52 + continue 53 + fi 54 + ln -s "$script" "$target" 55 + echo "Linked: scripts/$name" 56 + done 57 + 58 + echo "Done."