149 lines
4.8 KiB
Bash
149 lines
4.8 KiB
Bash
#!/bin/bash
|
|
# HeroUI Skill Installer
|
|
# Usage: curl -sSL https://heroui.com/install | bash -s [skill-name]
|
|
# Default: heroui-react
|
|
# Available skills: heroui-react, heroui-native, heroui-migration
|
|
# https://heroui.com
|
|
|
|
set -e
|
|
|
|
# Skill selection (default: heroui-react)
|
|
SKILL_NAME="${1:-heroui-react}"
|
|
|
|
# URLs
|
|
BASE_URL="${BASE_URL:-{{BASE_URL}}}"
|
|
SKILL_URL="${BASE_URL}/skills/${SKILL_NAME}.tar.gz"
|
|
|
|
# Codex CLI config home (override with CODEX_HOME)
|
|
CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
|
|
|
|
INSTALLED=0
|
|
|
|
echo "Installing HeroUI skill: ${SKILL_NAME}..."
|
|
echo ""
|
|
|
|
# Claude Code - Skill only (skills are auto-discovered, no command needed)
|
|
if [ -d "$HOME/.claude" ]; then
|
|
mkdir -p "$HOME/.claude/skills/${SKILL_NAME}"
|
|
curl -sL "$SKILL_URL" | tar xz -C "$HOME/.claude/skills/${SKILL_NAME}"
|
|
echo "✓ Installed ${SKILL_NAME} skill for Claude Code"
|
|
INSTALLED=$((INSTALLED + 1))
|
|
|
|
# Cleanup old heroui skill (only when installing heroui-react)
|
|
if [ "$SKILL_NAME" = "heroui-react" ] && [ -d "$HOME/.claude/skills/heroui" ]; then
|
|
rm -rf "$HOME/.claude/skills/heroui"
|
|
echo "✓ Removed old heroui skill"
|
|
fi
|
|
fi
|
|
|
|
# Cursor - Install skill
|
|
if [ -d "$HOME/.cursor" ]; then
|
|
mkdir -p "$HOME/.cursor/skills/${SKILL_NAME}"
|
|
curl -sL "$SKILL_URL" | tar xz -C "$HOME/.cursor/skills/${SKILL_NAME}"
|
|
echo "✓ Installed ${SKILL_NAME} skill for Cursor"
|
|
INSTALLED=$((INSTALLED + 1))
|
|
|
|
# Cleanup old heroui skill and command (only when installing heroui-react)
|
|
if [ "$SKILL_NAME" = "heroui-react" ]; then
|
|
OLD_SKILL_FOUND=0
|
|
if [ -d "$HOME/.cursor/skills/heroui" ]; then
|
|
rm -rf "$HOME/.cursor/skills/heroui"
|
|
echo "✓ Removed old heroui skill"
|
|
OLD_SKILL_FOUND=1
|
|
fi
|
|
|
|
if [ $OLD_SKILL_FOUND -eq 1 ] && [ -f "$HOME/.cursor/commands/heroui.md" ]; then
|
|
rm -f "$HOME/.cursor/commands/heroui.md"
|
|
echo "✓ Removed old /heroui command"
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
# OpenCode - Install skill
|
|
if command -v opencode &> /dev/null || [ -d "$HOME/.config/opencode" ]; then
|
|
mkdir -p "$HOME/.config/opencode/skill/${SKILL_NAME}"
|
|
curl -sL "$SKILL_URL" | tar xz -C "$HOME/.config/opencode/skill/${SKILL_NAME}"
|
|
echo "✓ Installed ${SKILL_NAME} skill for OpenCode"
|
|
INSTALLED=$((INSTALLED + 1))
|
|
|
|
# Cleanup old heroui skill and command (only when installing heroui-react)
|
|
if [ "$SKILL_NAME" = "heroui-react" ]; then
|
|
OLD_SKILL_FOUND=0
|
|
if [ -d "$HOME/.config/opencode/skill/heroui" ]; then
|
|
rm -rf "$HOME/.config/opencode/skill/heroui"
|
|
echo "✓ Removed old heroui skill"
|
|
OLD_SKILL_FOUND=1
|
|
fi
|
|
|
|
if [ $OLD_SKILL_FOUND -eq 1 ] && [ -f "$HOME/.config/opencode/command/heroui.md" ]; then
|
|
rm -f "$HOME/.config/opencode/command/heroui.md"
|
|
echo "✓ Removed old /heroui command"
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
# Codex CLI - Install skill
|
|
if command -v codex &> /dev/null || [ -d "$CODEX_HOME" ]; then
|
|
mkdir -p "$CODEX_HOME/skills/${SKILL_NAME}"
|
|
curl -sL "$SKILL_URL" | tar xz -C "$CODEX_HOME/skills/${SKILL_NAME}"
|
|
echo "✓ Installed ${SKILL_NAME} skill for Codex"
|
|
INSTALLED=$((INSTALLED + 1))
|
|
|
|
# Cleanup old heroui skill and command (only when installing heroui-react)
|
|
if [ "$SKILL_NAME" = "heroui-react" ]; then
|
|
OLD_SKILL_FOUND=0
|
|
if [ -d "$CODEX_HOME/skills/heroui" ]; then
|
|
rm -rf "$CODEX_HOME/skills/heroui"
|
|
echo "✓ Removed old heroui skill"
|
|
OLD_SKILL_FOUND=1
|
|
fi
|
|
|
|
if [ $OLD_SKILL_FOUND -eq 1 ] && [ -f "$CODEX_HOME/prompts/heroui.md" ]; then
|
|
rm -f "$CODEX_HOME/prompts/heroui.md"
|
|
echo "✓ Removed old /heroui command"
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
# Antigravity (Gemini CLI) - Install skill
|
|
if [ -d "$HOME/.gemini" ]; then
|
|
mkdir -p "$HOME/.gemini/antigravity/skills/${SKILL_NAME}"
|
|
curl -sL "$SKILL_URL" | tar xz -C "$HOME/.gemini/antigravity/skills/${SKILL_NAME}"
|
|
echo "✓ Installed ${SKILL_NAME} skill for Antigravity"
|
|
INSTALLED=$((INSTALLED + 1))
|
|
|
|
# Cleanup old heroui skill and command (only when installing heroui-react)
|
|
if [ "$SKILL_NAME" = "heroui-react" ]; then
|
|
OLD_SKILL_FOUND=0
|
|
if [ -d "$HOME/.gemini/antigravity/skills/heroui" ]; then
|
|
rm -rf "$HOME/.gemini/antigravity/skills/heroui"
|
|
echo "✓ Removed old heroui skill"
|
|
OLD_SKILL_FOUND=1
|
|
fi
|
|
|
|
if [ $OLD_SKILL_FOUND -eq 1 ] && [ -f "$HOME/.gemini/antigravity/global_workflows/heroui.md" ]; then
|
|
rm -f "$HOME/.gemini/antigravity/global_workflows/heroui.md"
|
|
echo "✓ Removed old /heroui command"
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
echo ""
|
|
|
|
if [ $INSTALLED -eq 0 ]; then
|
|
echo "No supported tools detected."
|
|
echo ""
|
|
echo "Install one of these first:"
|
|
echo " • Claude Code: https://claude.ai/code"
|
|
echo " • Cursor: https://cursor.com"
|
|
echo " • OpenCode: https://opencode.ai"
|
|
echo " • Codex: https://openai.com/codex"
|
|
echo " • Antigravity: https://antigravity.google"
|
|
exit 1
|
|
fi
|
|
|
|
echo ""
|
|
echo "Done! The ${SKILL_NAME} skill is now available."
|
|
echo ""
|
|
echo "Your AI agent will use it automatically when relevant."
|