Petbot/setup-github.sh
megaproxy db144da24f Add complete item collection system (v0.2.0)
🎒 Item Collection System:
- 16 unique items across 5 categories (healing, battle, rare, location, special)
- Rarity tiers: Common, Uncommon, Rare, Epic, Legendary with symbols
- 30% chance to find items during exploration
- Location-specific items (shells, mushrooms, crystals, runes)
- Inventory management with \!inventory and \!use commands
- Web interface integration showing player inventories
- Consumable items: healing potions, battle boosters, lucky charms

🔧 Technical Updates:
- Added items and player_inventory database tables
- New Inventory module for item management
- Updated game engine with item discovery system
- Enhanced web interface with inventory display
- Item initialization from config/items.json

🆕 New Commands:
- \!inventory / \!inv / \!items - View collected items by category
- \!use <item name> - Use consumable items on active pets

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-14 00:19:57 +01:00

138 lines
No EOL
4.5 KiB
Bash
Executable file

#!/bin/bash
# GitHub Setup Script for PetBot
# Run this script after creating your GitHub repository and setting up authentication
echo "🚀 PetBot GitHub Setup"
echo "======================"
# Check if we're in a git repository
if [ ! -d ".git" ]; then
echo "❌ Error: Not in a git repository"
exit 1
fi
echo "🔐 GitHub Authentication Setup Required"
echo "======================================="
echo ""
echo "GitHub requires secure authentication. Choose one option:"
echo ""
echo "Option 1: SSH Key (Recommended)"
echo " • More secure and convenient"
echo " • No password prompts after setup"
echo " • Repository URL format: git@github.com:username/repo.git"
echo ""
echo "Option 2: Personal Access Token"
echo " • Use HTTPS with token instead of password"
echo " • Repository URL format: https://github.com/username/repo.git"
echo ""
echo "📖 Setup guides:"
echo " SSH Keys: https://docs.github.com/en/authentication/connecting-to-github-with-ssh"
echo " Access Tokens: https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
echo ""
# Ask user which method they want to use
echo "Which authentication method did you set up?"
echo "1) SSH Key"
echo "2) Personal Access Token (HTTPS)"
read -p "Enter choice (1 or 2): " AUTH_CHOICE
case $AUTH_CHOICE in
1)
echo ""
echo "📝 Enter your SSH repository URL:"
echo " Format: git@github.com:yourusername/petbot-irc-game.git"
read -p "SSH URL: " REPO_URL
if [[ ! "$REPO_URL" =~ ^git@github\.com: ]]; then
echo "❌ Error: Please use SSH URL format (git@github.com:username/repo.git)"
exit 1
fi
;;
2)
echo ""
echo "📝 Enter your HTTPS repository URL:"
echo " Format: https://github.com/yourusername/petbot-irc-game.git"
read -p "HTTPS URL: " REPO_URL
if [[ ! "$REPO_URL" =~ ^https://github\.com/ ]]; then
echo "❌ Error: Please use HTTPS URL format (https://github.com/username/repo.git)"
exit 1
fi
echo ""
echo "⚠️ Important: When prompted for password, use your Personal Access Token"
echo " Do NOT use your GitHub account password"
;;
*)
echo "❌ Invalid choice"
exit 1
;;
esac
if [ -z "$REPO_URL" ]; then
echo "❌ Error: No URL provided"
exit 1
fi
# Test GitHub connection
echo ""
echo "🔍 Testing GitHub connection..."
if [ "$AUTH_CHOICE" = "1" ]; then
ssh -T git@github.com 2>/dev/null
if [ $? -ne 1 ]; then
echo "❌ SSH connection test failed. Please check your SSH key setup."
echo " Guide: https://docs.github.com/en/authentication/connecting-to-github-with-ssh"
exit 1
fi
echo "✅ SSH connection successful"
else
echo "⚠️ HTTPS connection will be tested during push"
fi
# Add remote origin
echo ""
echo "🔗 Adding GitHub remote..."
git remote add origin "$REPO_URL" 2>/dev/null || {
echo "🔄 Remote already exists, updating..."
git remote set-url origin "$REPO_URL"
}
# Push to GitHub
echo "⬆️ Pushing to GitHub..."
if ! git push -u origin main; then
echo ""
echo "❌ Push failed. Common solutions:"
if [ "$AUTH_CHOICE" = "1" ]; then
echo " • Check SSH key is added to GitHub: https://github.com/settings/keys"
echo " • Verify SSH agent is running: ssh-add -l"
else
echo " • Use Personal Access Token as password (not account password)"
echo " • Create token at: https://github.com/settings/tokens"
echo " • Token needs 'repo' scope for private repos"
fi
echo " • Verify repository exists and you have write access"
exit 1
fi
# Push tags
echo "🏷️ Pushing tags..."
git push --tags
echo ""
echo "✅ Setup complete!"
echo ""
echo "🎯 Your repository is now on GitHub:"
echo " Repository: $REPO_URL"
echo " Current version: v0.1.0"
echo " Authentication: $([ "$AUTH_CHOICE" = "1" ] && echo "SSH Key" || echo "Personal Access Token")"
echo ""
echo "🔄 Future updates will be automatic:"
echo " - Claude will commit changes with descriptive messages"
echo " - Changelog will be updated automatically"
echo " - Version tags will be created for releases"
echo " - All changes will be pushed to GitHub"
echo ""
echo "📚 Useful commands:"
echo " git status - Check repository status"
echo " git log --oneline - View commit history"
echo " git tag -l - List all version tags"