Files
2026-07-13 12:12:04 +08:00

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."