| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- #!/bin/bash
- # claude-mods installer for Linux/macOS
- # Creates symlinks to Claude Code directories
- set -e
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
- CLAUDE_DIR="$HOME/.claude"
- echo "Installing claude-mods..."
- echo "Source: $SCRIPT_DIR"
- echo "Target: $CLAUDE_DIR"
- echo ""
- # Create Claude directories if they don't exist
- mkdir -p "$CLAUDE_DIR/commands"
- mkdir -p "$CLAUDE_DIR/skills"
- mkdir -p "$CLAUDE_DIR/agents"
- # Install commands
- echo "Installing commands..."
- for cmd_dir in "$SCRIPT_DIR/commands"/*/; do
- if [ -d "$cmd_dir" ]; then
- cmd_name=$(basename "$cmd_dir")
- # Look for the main .md file
- if [ -f "$cmd_dir/$cmd_name.md" ]; then
- target="$CLAUDE_DIR/commands/$cmd_name.md"
- if [ -L "$target" ] || [ -f "$target" ]; then
- echo " Updating: $cmd_name.md"
- rm -f "$target"
- else
- echo " Installing: $cmd_name.md"
- fi
- ln -s "$cmd_dir/$cmd_name.md" "$target"
- fi
- fi
- done
- # Install skills
- echo "Installing skills..."
- for skill_dir in "$SCRIPT_DIR/skills"/*/; do
- if [ -d "$skill_dir" ]; then
- skill_name=$(basename "$skill_dir")
- target="$CLAUDE_DIR/skills/$skill_name"
- if [ -L "$target" ] || [ -d "$target" ]; then
- echo " Updating: $skill_name"
- rm -rf "$target"
- else
- echo " Installing: $skill_name"
- fi
- ln -s "$skill_dir" "$target"
- fi
- done
- # Install agents
- echo "Installing agents..."
- for agent_file in "$SCRIPT_DIR/agents"/*.md; do
- if [ -f "$agent_file" ]; then
- agent_name=$(basename "$agent_file")
- target="$CLAUDE_DIR/agents/$agent_name"
- if [ -L "$target" ] || [ -f "$target" ]; then
- echo " Updating: $agent_name"
- rm -f "$target"
- else
- echo " Installing: $agent_name"
- fi
- ln -s "$agent_file" "$target"
- fi
- done
- echo ""
- echo "Installation complete!"
- echo ""
- echo "Installed to:"
- echo " Commands: $CLAUDE_DIR/commands/"
- echo " Skills: $CLAUDE_DIR/skills/"
- echo " Agents: $CLAUDE_DIR/agents/"
|