session-start.sh 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #!/usr/bin/env bash
  2. # ============================================================
  3. # Claude Code — Session start plugin status
  4. # Runs once per session. Zero API calls. Filesystem only.
  5. # ============================================================
  6. TOGGLE_ACTIVE=()
  7. TOGGLE_INACTIVE=()
  8. # --- GStack ---
  9. if [ -d "$HOME/.claude/skills/gstack" ]; then
  10. TOGGLE_ACTIVE+=("gstack")
  11. else
  12. TOGGLE_INACTIVE+=("gstack")
  13. fi
  14. # --- GSD ---
  15. if ls "$HOME/.claude/skills/" 2>/dev/null | grep -qi "gsd"; then
  16. TOGGLE_ACTIVE+=("gsd")
  17. else
  18. TOGGLE_INACTIVE+=("gsd")
  19. fi
  20. # --- UI/UX Pro Max ---
  21. if ls "$HOME/.claude/plugins/cache/" 2>/dev/null | grep -qi "ui-ux-pro-max"; then
  22. TOGGLE_ACTIVE+=("ui-ux-pro-max")
  23. else
  24. TOGGLE_INACTIVE+=("ui-ux-pro-max")
  25. fi
  26. # --- frontend-design ---
  27. if ls "$HOME/.claude/plugins/cache/" 2>/dev/null | grep -qi "frontend-design"; then
  28. TOGGLE_ACTIVE+=("frontend-design")
  29. else
  30. TOGGLE_INACTIVE+=("frontend-design")
  31. fi
  32. # --- Context7 MCP ---
  33. if claude mcp list 2>/dev/null | grep -q "context7"; then
  34. TOGGLE_ACTIVE+=("context7")
  35. else
  36. TOGGLE_INACTIVE+=("context7")
  37. fi
  38. # --- Format output ---
  39. ACTIVE_STR="${TOGGLE_ACTIVE[*]:-none}"
  40. INACTIVE_STR="${TOGGLE_INACTIVE[*]:-none}"
  41. echo ""
  42. echo "┌─ Toggle plugins ──────────────────────────────────┐"
  43. printf "│ 🟢 ON : %-40s│\n" "$ACTIVE_STR"
  44. printf "│ ⚫ OFF : %-40s│\n" "$INACTIVE_STR"
  45. echo "│ 💡 /plugin-check before starting a new project │"
  46. echo "└───────────────────────────────────────────────────┘"
  47. echo ""