Add Windows setup guide
This commit is contained in:
519
WINDOWS-SETUP.md
Normal file
519
WINDOWS-SETUP.md
Normal file
@@ -0,0 +1,519 @@
|
||||
# Windows Cross-Device Sync Guide
|
||||
|
||||
Complete guide for syncing Claude Code agents and skills on Windows machines.
|
||||
|
||||
---
|
||||
|
||||
## 📋 Prerequisites
|
||||
|
||||
### Required Software
|
||||
|
||||
1. **Git for Windows**
|
||||
- Download: https://git-scm.com/download/win
|
||||
- Install with "Git Bash" option enabled
|
||||
- Use default settings during installation
|
||||
|
||||
2. **Claude Code** (if using skills)
|
||||
- Should already be installed
|
||||
- Skills directory: `%USERPROFILE%\.claude\skills`
|
||||
- Agents directory: `%USERPROFILE%\.claude\agents`
|
||||
|
||||
3. **PowerShell or Git Bash**
|
||||
- PowerShell: Built into Windows
|
||||
- Git Bash: Comes with Git for Windows (recommended for commands below)
|
||||
|
||||
---
|
||||
|
||||
## 🤖 Agent Sync on Windows
|
||||
|
||||
### Initial Setup
|
||||
|
||||
Open **Git Bash** (or PowerShell with git installed):
|
||||
|
||||
```bash
|
||||
# Configure git (one-time)
|
||||
git config --global user.name "admin"
|
||||
git config --global user.email "admin@server-ai.local"
|
||||
git config --global init.defaultBranch main
|
||||
|
||||
# Clone agents repository
|
||||
git clone https://admin:MyN3wP%40ssword%21@gitea.pressmess.duckdns.org/admin/claude-agents.git %USERPROFILE%\.claude\agents
|
||||
|
||||
# Or in Git Bash (Unix-style paths)
|
||||
git clone https://admin:MyN3wP%40ssword%21@gitea.pressmess.duckdns.org/admin/claude-agents.git ~/.claude/agents
|
||||
```
|
||||
|
||||
### If You Have Existing Agents
|
||||
|
||||
```bash
|
||||
# Backup first
|
||||
cp -r ~/.claude/agents ~/.claude/agents.backup
|
||||
|
||||
# Initialize git
|
||||
cd ~/.claude/agents
|
||||
git init
|
||||
git checkout -b main
|
||||
|
||||
# Commit existing agents
|
||||
git add .
|
||||
git commit -m "Add existing agents from Windows PC"
|
||||
|
||||
# Connect to Gitea
|
||||
git remote add origin https://admin:MyN3wP%40ssword%21@gitea.pressmess.duckdns.org/admin/claude-agents.git
|
||||
|
||||
# Merge with remote
|
||||
git pull origin main --allow-unrelated-histories
|
||||
|
||||
# Push your agents
|
||||
git push origin main
|
||||
```
|
||||
|
||||
### Daily Sync (Git Bash)
|
||||
|
||||
```bash
|
||||
# Pull updates
|
||||
cd ~/.claude/agents
|
||||
git pull origin main
|
||||
|
||||
# Push changes
|
||||
cd ~/.claude/agents
|
||||
git add .
|
||||
git commit -m "Update agents from Windows"
|
||||
git push origin main
|
||||
```
|
||||
|
||||
### Daily Sync (PowerShell)
|
||||
|
||||
```powershell
|
||||
# Pull updates
|
||||
cd $env:USERPROFILE\.claude\agents
|
||||
git pull origin main
|
||||
|
||||
# Push changes
|
||||
cd $env:USERPROFILE\.claude\agents
|
||||
git add .
|
||||
git commit -m "Update agents from Windows"
|
||||
git push origin main
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Skills Sync on Windows
|
||||
|
||||
### Skillshare Installation on Windows
|
||||
|
||||
**Method 1: Manual Installation (Recommended)**
|
||||
|
||||
1. Download latest release from GitHub:
|
||||
- Go to: https://github.com/runkids/skillshare/releases
|
||||
- Download: `skillshare_<version>_windows_amd64.zip`
|
||||
|
||||
2. Extract and install:
|
||||
```powershell
|
||||
# In PowerShell (as Administrator)
|
||||
Expand-Archive skillshare_<version>_windows_amd64.zip -DestinationPath C:\Program Files\skillshare
|
||||
|
||||
# Add to PATH
|
||||
$env:Path += ";C:\Program Files\skillshare"
|
||||
[Environment]::SetEnvironmentVariable("Path", $env:Path, [EnvironmentVariableTarget]::Machine)
|
||||
```
|
||||
|
||||
3. Verify installation:
|
||||
```powershell
|
||||
skillshare version
|
||||
```
|
||||
|
||||
**Method 2: Using Scoop (if you have Scoop installed)**
|
||||
|
||||
```powershell
|
||||
# Install via Scoop
|
||||
scoop bucket add extras
|
||||
scoop install skillshare
|
||||
```
|
||||
|
||||
**Method 3: Using Chocolatey (if available)**
|
||||
|
||||
```powershell
|
||||
# Check if available
|
||||
choco search skillshare
|
||||
|
||||
# If available
|
||||
choco install skillshare
|
||||
```
|
||||
|
||||
### Initialize Skillshare on Windows
|
||||
|
||||
**In Git Bash:**
|
||||
|
||||
```bash
|
||||
# Initialize without prompts (AI-friendly)
|
||||
skillshare init --no-copy --all-targets --git
|
||||
|
||||
# Add git remote
|
||||
cd ~/.config/skillshare/skills
|
||||
git remote add origin https://admin:MyN3wP%40ssword%21@gitea.pressmess.duckdns.org/admin/claude-skills.git
|
||||
|
||||
# Pull skills and sync to Claude Code
|
||||
skillshare pull --remote
|
||||
```
|
||||
|
||||
**In PowerShell:**
|
||||
|
||||
```powershell
|
||||
# Initialize
|
||||
skillshare init --no-copy --all-targets --git
|
||||
|
||||
# Add git remote
|
||||
cd $env:USERPROFILE\.config\skillshare\skills
|
||||
git remote add origin https://admin:MyN3wP%40ssword%21@gitea.pressmess.duckdns.org/admin/claude-skills.git
|
||||
|
||||
# Pull skills
|
||||
skillshare pull --remote
|
||||
```
|
||||
|
||||
### Daily Skills Sync (Windows)
|
||||
|
||||
**Git Bash:**
|
||||
```bash
|
||||
# Pull from Gitea (auto-syncs to Claude Code)
|
||||
skillshare pull --remote
|
||||
|
||||
# Push changes
|
||||
skillshare new my-skill
|
||||
skillshare sync
|
||||
skillshare push -m "Add my-skill from Windows"
|
||||
```
|
||||
|
||||
**PowerShell:**
|
||||
```powershell
|
||||
# Same commands work in PowerShell
|
||||
skillshare pull --remote
|
||||
skillshare push -m "Update from Windows"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Windows-Specific Paths
|
||||
|
||||
### Claude Code Directories
|
||||
|
||||
| Linux/Mac | Windows (Git Bash) | Windows (PowerShell) |
|
||||
|-----------|-------------------|---------------------|
|
||||
| `~/.claude/agents` | `~/.claude/agents` | `$env:USERPROFILE\.claude\agents` |
|
||||
| `~/.claude/skills` | `~/.claude/skills` | `$env:USERPROFILE\.claude\skills` |
|
||||
| `~/.config/skillshare/skills` | `~/.config/skillshare/skills` | `$env:USERPROFILE\.config\skillshare\skills` |
|
||||
|
||||
### Typical Windows Paths
|
||||
|
||||
- **Agents**: `C:\Users\YourName\.claude\agents`
|
||||
- **Skills (Claude)**: `C:\Users\YourName\.claude\skills`
|
||||
- **Skills (Source)**: `C:\Users\YourName\.config\skillshare\skills`
|
||||
|
||||
---
|
||||
|
||||
## 🖥️ Windows Batch Scripts
|
||||
|
||||
### sync-agents.bat
|
||||
|
||||
Create `sync-agents.bat` in `%USERPROFILE%\scripts\`:
|
||||
|
||||
```batch
|
||||
@echo off
|
||||
echo Syncing Claude agents...
|
||||
cd %USERPROFILE%\.claude\agents
|
||||
git pull origin main
|
||||
if %ERRORLEVEL% EQU 0 (
|
||||
echo.
|
||||
echo ✓ Agents synced successfully!
|
||||
echo.
|
||||
echo Current agents:
|
||||
dir /b *.md
|
||||
) else (
|
||||
echo.
|
||||
echo ✗ Sync failed!
|
||||
)
|
||||
pause
|
||||
```
|
||||
|
||||
### sync-skills.bat
|
||||
|
||||
Create `sync-skills.bat` in `%USERPROFILE%\scripts\`:
|
||||
|
||||
```batch
|
||||
@echo off
|
||||
echo Syncing Claude skills...
|
||||
skillshare pull --remote
|
||||
if %ERRORLEVEL% EQU 0 (
|
||||
echo.
|
||||
echo ✓ Skills synced successfully!
|
||||
skillshare status
|
||||
) else (
|
||||
echo.
|
||||
echo ✗ Sync failed!
|
||||
)
|
||||
pause
|
||||
```
|
||||
|
||||
### Usage
|
||||
|
||||
Double-click the `.bat` files or run from Command Prompt:
|
||||
```cmd
|
||||
%USERPROFILE%\scripts\sync-agents.bat
|
||||
%USERPROFILE%\scripts\sync-skills.bat
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🚀 PowerShell Scripts (Better Alternative)
|
||||
|
||||
### sync-agents.ps1
|
||||
|
||||
Create `sync-agents.ps1` in `%USERPROFILE%\Documents\WindowsPowerShell\Scripts\`:
|
||||
|
||||
```powershell
|
||||
# Sync Claude agents from Gitea
|
||||
$agentsPath = "$env:USERPROFILE\.claude\agents"
|
||||
|
||||
Write-Host "🔄 Syncing Claude agents..." -ForegroundColor Cyan
|
||||
Set-Location $agentsPath
|
||||
|
||||
try {
|
||||
git pull origin main
|
||||
Write-Host "`n✅ Agents synced successfully!`n" -ForegroundColor Green
|
||||
|
||||
Write-Host "📊 Current agents:" -ForegroundColor Cyan
|
||||
Get-ChildItem -Filter *.md | ForEach-Object {
|
||||
Write-Host " - $($_.BaseName)" -ForegroundColor White
|
||||
}
|
||||
} catch {
|
||||
Write-Host "`n❌ Sync failed: $_`n" -ForegroundColor Red
|
||||
}
|
||||
|
||||
Read-Host "`nPress Enter to continue"
|
||||
```
|
||||
|
||||
### sync-skills.ps1
|
||||
|
||||
Create `sync-skills.ps1`:
|
||||
|
||||
```powershell
|
||||
# Sync Claude skills via Skillshare
|
||||
Write-Host "🔄 Syncing Claude skills..." -ForegroundColor Cyan
|
||||
|
||||
try {
|
||||
skillshare pull --remote
|
||||
Write-Host "`n✅ Skills synced successfully!`n" -ForegroundColor Green
|
||||
skillshare status
|
||||
} catch {
|
||||
Write-Host "`n❌ Sync failed: $_`n" -ForegroundColor Red
|
||||
}
|
||||
|
||||
Read-Host "`nPress Enter to continue"
|
||||
```
|
||||
|
||||
### Enable PowerShell Scripts (One-Time)
|
||||
|
||||
```powershell
|
||||
# Run PowerShell as Administrator
|
||||
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
|
||||
```
|
||||
|
||||
### Create PowerShell Aliases
|
||||
|
||||
Add to your PowerShell profile:
|
||||
|
||||
```powershell
|
||||
# Edit profile
|
||||
notepad $PROFILE
|
||||
|
||||
# Add these lines:
|
||||
function Sync-Agents {
|
||||
Set-Location "$env:USERPROFILE\.claude\agents"
|
||||
git pull origin main
|
||||
}
|
||||
|
||||
function Sync-Skills {
|
||||
skillshare pull --remote
|
||||
}
|
||||
|
||||
function Push-Agents {
|
||||
param([string]$message = "Update agents from Windows")
|
||||
Set-Location "$env:USERPROFILE\.claude\agents"
|
||||
git add .
|
||||
git commit -m $message
|
||||
git push origin main
|
||||
}
|
||||
|
||||
function Push-Skills {
|
||||
param([string]$message = "Update skills from Windows")
|
||||
skillshare sync
|
||||
skillshare push -m $message
|
||||
}
|
||||
|
||||
# Usage:
|
||||
# Sync-Agents
|
||||
# Sync-Skills
|
||||
# Push-Agents -message "Add new agent"
|
||||
# Push-Skills -message "Update helper skill"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔐 Credential Management on Windows
|
||||
|
||||
### Option 1: Git Credential Manager (Recommended)
|
||||
|
||||
Git for Windows includes Credential Manager:
|
||||
|
||||
```bash
|
||||
# Configure credential helper (one-time)
|
||||
git config --global credential.helper manager-core
|
||||
|
||||
# First push/pull will prompt for credentials
|
||||
# Credentials are then stored securely in Windows Credential Manager
|
||||
```
|
||||
|
||||
### Option 2: Store Credentials in URL (Less Secure)
|
||||
|
||||
Already configured in the remote URLs:
|
||||
```bash
|
||||
https://admin:MyN3wP%40ssword%21@gitea.pressmess.duckdns.org/admin/claude-agents.git
|
||||
```
|
||||
|
||||
### Option 3: SSH Keys (Most Secure)
|
||||
|
||||
```bash
|
||||
# Generate SSH key
|
||||
ssh-keygen -t ed25519 -C "admin@windows-pc"
|
||||
|
||||
# Copy public key
|
||||
cat ~/.ssh/id_ed25519.pub
|
||||
|
||||
# Add to Gitea:
|
||||
# 1. Login to Gitea
|
||||
# 2. Settings → SSH Keys → Add Key
|
||||
# 3. Paste public key
|
||||
|
||||
# Update remote to use SSH
|
||||
cd ~/.claude/agents
|
||||
git remote set-url origin git@omv800:admin/claude-agents.git
|
||||
|
||||
cd ~/.config/skillshare/skills
|
||||
git remote set-url origin git@omv800:admin/claude-skills.git
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📱 Windows Task Scheduler (Auto-Sync)
|
||||
|
||||
### Create Scheduled Task for Auto-Pull
|
||||
|
||||
1. Open **Task Scheduler**
|
||||
2. Create Basic Task:
|
||||
- **Name**: Sync Claude Agents
|
||||
- **Trigger**: Daily at startup or login
|
||||
- **Action**: Start a program
|
||||
- **Program**: `C:\Program Files\Git\bin\bash.exe`
|
||||
- **Arguments**: `-c "cd ~/.claude/agents && git pull origin main"`
|
||||
|
||||
3. Repeat for skills:
|
||||
- **Name**: Sync Claude Skills
|
||||
- **Program**: `skillshare.exe`
|
||||
- **Arguments**: `pull --remote`
|
||||
|
||||
---
|
||||
|
||||
## 🐛 Troubleshooting Windows
|
||||
|
||||
### Skillshare Not Found
|
||||
|
||||
```powershell
|
||||
# Check if in PATH
|
||||
$env:Path -split ';' | Select-String skillshare
|
||||
|
||||
# If not found, add manually
|
||||
$env:Path += ";C:\Program Files\skillshare"
|
||||
```
|
||||
|
||||
### Line Ending Issues
|
||||
|
||||
```bash
|
||||
# Configure git to handle line endings
|
||||
git config --global core.autocrlf true
|
||||
```
|
||||
|
||||
### Permission Denied
|
||||
|
||||
```powershell
|
||||
# Run PowerShell as Administrator
|
||||
Start-Process powershell -Verb RunAs
|
||||
```
|
||||
|
||||
### Git Command Not Found in PowerShell
|
||||
|
||||
```powershell
|
||||
# Add Git to PATH
|
||||
$env:Path += ";C:\Program Files\Git\bin"
|
||||
[Environment]::SetEnvironmentVariable("Path", $env:Path, [EnvironmentVariableTarget]::User)
|
||||
```
|
||||
|
||||
### Skillshare Init Hangs
|
||||
|
||||
```bash
|
||||
# Use non-interactive flags
|
||||
skillshare init --no-copy --all-targets --git
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Quick Setup Checklist
|
||||
|
||||
### For Agents:
|
||||
- [ ] Install Git for Windows
|
||||
- [ ] Configure git username/email
|
||||
- [ ] Clone or initialize agents repo
|
||||
- [ ] Test pull/push
|
||||
- [ ] Create sync script (optional)
|
||||
|
||||
### For Skills:
|
||||
- [ ] Install Git for Windows
|
||||
- [ ] Download and install Skillshare binary
|
||||
- [ ] Initialize Skillshare with `--all-targets --git`
|
||||
- [ ] Add git remote
|
||||
- [ ] Test `skillshare pull --remote`
|
||||
- [ ] Create sync script (optional)
|
||||
|
||||
---
|
||||
|
||||
## 📚 Windows Resources
|
||||
|
||||
- **Git for Windows**: https://git-scm.com/download/win
|
||||
- **Skillshare Releases**: https://github.com/runkids/skillshare/releases
|
||||
- **PowerShell Docs**: https://docs.microsoft.com/powershell
|
||||
- **Windows Terminal**: https://aka.ms/terminal (better than CMD)
|
||||
|
||||
---
|
||||
|
||||
## 💡 Best Practices for Windows
|
||||
|
||||
1. **Use Git Bash** for Linux-like commands
|
||||
2. **Use PowerShell** for Windows-native scripting
|
||||
3. **Windows Terminal** for better experience
|
||||
4. **VSCode** as git GUI (optional)
|
||||
5. **Store scripts** in `%USERPROFILE%\scripts\`
|
||||
6. **Add to PATH** for easy access
|
||||
|
||||
---
|
||||
|
||||
## 🔗 Related Documentation
|
||||
|
||||
- **Linux/Mac Guide**: `/home/jon/AGENT-SYNC-GUIDE.md`
|
||||
- **Skills Guide**: `/home/jon/SKILLS-SYNC-GUIDE.md`
|
||||
- **Server Docs**: `/home/jon/SERVER-DOCUMENTATION.md`
|
||||
|
||||
---
|
||||
|
||||
**Last Updated**: 2026-01-29
|
||||
**Version**: 1.0
|
||||
**Platform**: Windows 10/11
|
||||
**Tested With**: Git for Windows 2.43+, Skillshare 0.6.20
|
||||
Reference in New Issue
Block a user