Petbot/GITHUB_AUTH_SETUP.md
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

116 lines
No EOL
3.6 KiB
Markdown

# GitHub Authentication Setup Guide
GitHub requires secure authentication for pushing code. Choose one of these methods:
## 🔑 Option 1: SSH Keys (Recommended)
SSH keys are more secure and convenient - no password prompts after setup.
### Setup Steps:
1. **Generate SSH key** (if you don't have one):
```bash
ssh-keygen -t ed25519 -C "your_email@example.com"
# Press Enter to accept default file location
# Enter a secure passphrase (optional but recommended)
```
2. **Add SSH key to ssh-agent**:
```bash
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
```
3. **Copy public key to clipboard**:
```bash
cat ~/.ssh/id_ed25519.pub
# Copy the entire output
```
4. **Add key to GitHub**:
- Go to: https://github.com/settings/keys
- Click "New SSH key"
- Paste your public key
- Give it a descriptive title
- Click "Add SSH key"
5. **Test connection**:
```bash
ssh -T git@github.com
# Should say: "Hi username! You've successfully authenticated"
```
6. **Use SSH repository URL**:
- Format: `git@github.com:username/repository.git`
- Example: `git@github.com:megaproxy/petbot-irc-game.git`
---
## 🎫 Option 2: Personal Access Token
Use HTTPS with a token instead of your password.
### Setup Steps:
1. **Create Personal Access Token**:
- Go to: https://github.com/settings/tokens
- Click "Generate new token" → "Generate new token (classic)"
- Give it a descriptive name: "PetBot Development"
- Select scopes:
- ✅ `repo` (for private repositories)
- ✅ `public_repo` (for public repositories)
- Click "Generate token"
- **Copy the token immediately** (you won't see it again!)
2. **Use HTTPS repository URL**:
- Format: `https://github.com/username/repository.git`
- Example: `https://github.com/megaproxy/petbot-irc-game.git`
3. **When prompted for password**:
- Username: Your GitHub username
- Password: **Use your Personal Access Token** (NOT your account password)
4. **Optional: Store credentials** (so you don't have to enter token every time):
```bash
git config --global credential.helper store
# After first successful push, credentials will be saved
```
---
## 🚀 After Authentication Setup
Once you've set up authentication, you can proceed with the GitHub setup:
1. **Create GitHub repository** at https://github.com/new
2. **Run our setup script**:
```bash
./setup-github.sh
```
3. **Choose your authentication method** (SSH or Token)
4. **Enter your repository URL**
5. **Done!** Future pushes will be automatic
---
## 🔧 Troubleshooting
### SSH Issues:
- **"Permission denied"**: Check if SSH key is added to GitHub
- **"Could not open a connection"**: Check SSH agent with `ssh-add -l`
- **"Bad owner or permissions"**: Fix with `chmod 600 ~/.ssh/id_ed25519`
### Token Issues:
- **"Authentication failed"**: Make sure you're using the token, not your password
- **"Remote access denied"**: Check token has correct scopes (repo/public_repo)
- **"Token expired"**: Create a new token at https://github.com/settings/tokens
### General Issues:
- **"Repository not found"**: Check repository URL and access permissions
- **"Updates were rejected"**: Repository might not be empty - contact support
---
## 📚 Official Documentation
- **SSH Keys**: https://docs.github.com/en/authentication/connecting-to-github-with-ssh
- **Personal Access Tokens**: https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token
- **Git Authentication**: https://docs.github.com/get-started/getting-started-with-git/about-remote-repositories