| 1 |
#!/bin/bash |
| 2 |
|
| 3 |
# LooseCannon Setup Script |
| 4 |
# This script helps set up the development environment |
| 5 |
|
| 6 |
echo "╔══════════════════════════════════════╗" |
| 7 |
echo "║ LooseCannon Setup Script ║" |
| 8 |
echo "╚══════════════════════════════════════╝" |
| 9 |
echo "" |
| 10 |
|
| 11 |
# Check for Node.js |
| 12 |
echo "Checking for Node.js..." |
| 13 |
if ! command -v node &> /dev/null; then |
| 14 |
echo "❌ Node.js is not installed!" |
| 15 |
echo "Please install Node.js from https://nodejs.org/" |
| 16 |
exit 1 |
| 17 |
else |
| 18 |
NODE_VERSION=$(node -v) |
| 19 |
echo "✅ Node.js found: $NODE_VERSION" |
| 20 |
fi |
| 21 |
|
| 22 |
# Check for npm |
| 23 |
echo "Checking for npm..." |
| 24 |
if ! command -v npm &> /dev/null; then |
| 25 |
echo "❌ npm is not installed!" |
| 26 |
exit 1 |
| 27 |
else |
| 28 |
NPM_VERSION=$(npm -v) |
| 29 |
echo "✅ npm found: $NPM_VERSION" |
| 30 |
fi |
| 31 |
|
| 32 |
# Check for Ollama |
| 33 |
echo "" |
| 34 |
echo "Checking for Ollama..." |
| 35 |
if ! command -v ollama &> /dev/null; then |
| 36 |
echo "⚠️ Ollama is not installed!" |
| 37 |
echo "Install from: https://ollama.ai" |
| 38 |
echo "After installing, run: ollama pull llama2" |
| 39 |
OLLAMA_MISSING=true |
| 40 |
else |
| 41 |
echo "✅ Ollama found" |
| 42 |
echo "Available models:" |
| 43 |
ollama list 2>/dev/null || echo " (Ollama service not running)" |
| 44 |
fi |
| 45 |
|
| 46 |
# Install npm dependencies |
| 47 |
echo "" |
| 48 |
echo "Installing npm dependencies..." |
| 49 |
npm install |
| 50 |
|
| 51 |
# Create .env file if it doesn't exist |
| 52 |
if [ ! -f .env ]; then |
| 53 |
echo "" |
| 54 |
echo "Creating .env file from template..." |
| 55 |
cp .env.example .env |
| 56 |
echo "✅ Created .env file (edit this to configure)" |
| 57 |
fi |
| 58 |
|
| 59 |
# Check Firefox |
| 60 |
echo "" |
| 61 |
echo "Checking for Firefox..." |
| 62 |
if command -v firefox &> /dev/null; then |
| 63 |
echo "✅ Firefox found" |
| 64 |
else |
| 65 |
echo "⚠️ Firefox not found - you'll need it to test the extension" |
| 66 |
fi |
| 67 |
|
| 68 |
# Instructions |
| 69 |
echo "" |
| 70 |
echo "╔══════════════════════════════════════╗" |
| 71 |
echo "║ Setup Complete! ║" |
| 72 |
echo "╚══════════════════════════════════════╝" |
| 73 |
echo "" |
| 74 |
echo "Next steps:" |
| 75 |
echo "" |
| 76 |
|
| 77 |
if [ "$OLLAMA_MISSING" = true ]; then |
| 78 |
echo "1. Install Ollama from https://ollama.ai" |
| 79 |
echo "2. Run: ollama pull llama2" |
| 80 |
echo "3. Run: ollama serve" |
| 81 |
echo "" |
| 82 |
fi |
| 83 |
|
| 84 |
echo "To start development:" |
| 85 |
echo " 1. Terminal 1: npm run dev:server (starts local server)" |
| 86 |
echo " 2. Terminal 2: npm run dev:extension (loads Firefox with extension)" |
| 87 |
echo "" |
| 88 |
echo "Or manually load the extension:" |
| 89 |
echo " 1. Open Firefox" |
| 90 |
echo " 2. Navigate to about:debugging" |
| 91 |
echo " 3. Click 'This Firefox'" |
| 92 |
echo " 4. Click 'Load Temporary Add-on'" |
| 93 |
echo " 5. Select extension/manifest.json" |
| 94 |
echo "" |
| 95 |
echo "⚠️ Remember: This tool may violate platform ToS. Use responsibly!" |
| 96 |
echo "" |