diff --git a/README.md b/README.md index 874b973..290d84d 100644 --- a/README.md +++ b/README.md @@ -33,17 +33,11 @@ Skills activate automatically when Claude detects relevant context (language, fr git clone https://github.com/asepharyana/asepharyana-hub-hub-guide.git cd asepharyana-hub-hub-guide -# Copy all 26 skills (recommended) +# Install as one unit (recommended) ./install.sh # Or symlink (edits in this repo are live) ./install.sh --link - -# Install only specific skills -./install.sh clean-code testing docker - -# Configure hooks (auto-detect project type on session start) -./setup-hooks.sh ``` ## Usage diff --git a/install.sh b/install.sh index a09bcd8..8d77f2c 100755 --- a/install.sh +++ b/install.sh @@ -1,14 +1,12 @@ #!/bin/bash -# install.sh — hub-guide skill installer for Claude Code +# install.sh — hub-guide installer for Claude Code # -# Skills go to ~/.claude/skills// where Claude Code auto-discovers them. -# Hooks can be configured manually (see README). +# Installs the entire hub-guide directory as one unit into ~/.claude/skills/. +# Claude Code auto-discovers skills from ~/.claude/skills//skills//SKILL.md # # Usage: -# ./install.sh # Copy all 26 skills to ~/.claude/skills/ -# ./install.sh --link # Symlink (edits in this repo are live) -# ./install.sh clean-code testing # Install specific skills only -# ./install.sh --link clean-code # Symlink specific skills +# ./install.sh # Copy hub-guide to ~/.claude/skills/ +# ./install.sh --link # Symlink (edits live) # # Requires: Claude Code @@ -17,70 +15,34 @@ set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" SKILLS_DIR="${HOME}/.claude/skills" LINK_MODE=false -FILTER_SKILLS=() -# Parse args for arg in "$@"; do case "$arg" in --link) LINK_MODE=true ;; - --*) echo "Unknown option: $arg"; exit 1 ;; - *) FILTER_SKILLS+=("$arg") ;; + --*) echo "Unknown: $arg"; exit 1 ;; esac done echo "📐 hub-guide installer" -echo " Target: ${SKILLS_DIR}/" +echo " Target: ${SKILLS_DIR}/hub-guide/" echo " Mode: $([ "$LINK_MODE" = true ] && echo 'symlink' || echo 'copy')" echo "" -# Ensure target dir exists mkdir -p "$SKILLS_DIR" +DST="${SKILLS_DIR}/hub-guide" -if [ ${#FILTER_SKILLS[@]} -gt 0 ]; then - INSTALL_LIST=() - for skill in "${FILTER_SKILLS[@]}"; do - skill_name=$(basename "$skill") - src="${SCRIPT_DIR}/skills/${skill_name}" - if [ -d "$src" ]; then - INSTALL_LIST+=("$skill_name") - else - echo " ⚠️ Skill '${skill_name}' not found" - fi - done +if [ "$LINK_MODE" = true ]; then + rm -rf "$DST" + ln -sf "$SCRIPT_DIR" "$DST" else - # Gather all skills from source - INSTALL_LIST=() - for d in "${SCRIPT_DIR}/skills/"*/; do - INSTALL_LIST+=("$(basename "$d")") - done + rm -rf "$DST" + cp -r "$SCRIPT_DIR" "$DST" fi -installed=0 -for skill_name in "${INSTALL_LIST[@]}"; do - src="${SCRIPT_DIR}/skills/${skill_name}" - dst="${SKILLS_DIR}/${skill_name}" - - if [ "$LINK_MODE" = true ]; then - rm -rf "$dst" - ln -sf "$src" "$dst" - else - rm -rf "$dst" - mkdir -p "$(dirname "$dst")" - cp -r "$src" "$dst" - fi - echo " ✅ ${skill_name}" - installed=$((installed + 1)) -done - -echo "" -echo "✅ ${installed} skill(s) installed to ${SKILLS_DIR}/" +echo "✅ hub-guide installed to ${DST}/" if [ "$LINK_MODE" = true ]; then echo " (symlink — edits in this repo are live)" fi echo "" echo " Restart Claude Code or run /reload." echo " Skills auto-trigger when you work — no commands needed." -echo "" -echo "📌 Hooks (auto-detect project):" -echo " For hooks support, add to ~/.claude/settings.local.json or" -echo " run: ./setup-hooks.sh" diff --git a/skills/hub-guide/hub-guide b/skills/hub-guide/hub-guide new file mode 120000 index 0000000..fbcd7cf --- /dev/null +++ b/skills/hub-guide/hub-guide @@ -0,0 +1 @@ +/mnt/code/asepharyana-hub/plugins/hub-guide \ No newline at end of file