# Development Environment Setup Guide This guide covers setting up your development environment for EVE using the automated setup scripts. ## Quick Start ### Linux/macOS ```bash # Make script executable (if not already) chmod +x setup.sh # Run setup script ./setup.sh ``` ### Windows ```powershell # Run in PowerShell .\setup.ps1 ``` ## What the Setup Script Does The automated setup script will: 1. **Detect your operating system** - Linux (Debian/Ubuntu, Fedora/RHEL, Arch) - macOS - Windows 2. **Check for required dependencies** - Node.js (v18+) - Rust (latest stable) - npm or pnpm - Platform-specific system libraries 3. **Install missing dependencies** (with your permission) - Guides you through installing Node.js and Rust - Installs system dependencies for Tauri - Sets up build tools 4. **Configure your environment** - Creates `.env` file from template - Installs npm dependencies - Verifies installation 5. **Provide next steps** - Instructions for adding API keys - Commands to start development ## Prerequisites ### All Platforms Before running the setup script, ensure you have: - **Internet connection** (for downloading dependencies) - **Administrator/sudo access** (for installing system packages) - **~500MB free disk space** (for dependencies) ### Platform-Specific #### Linux - `curl` or `wget` (usually pre-installed) - `sudo` access for installing system packages #### macOS - Xcode Command Line Tools (script will prompt if needed) - Homebrew (optional, but recommended) #### Windows - PowerShell 5.1+ (included in Windows 10+) - Internet Explorer or Edge (for WebView2) ## Manual Installation If you prefer manual setup or the automated script encounters issues, follow these steps: ### 1. Install Node.js **Linux/macOS:** - Download from: https://nodejs.org/ - Or use nvm: https://github.com/nvm-sh/nvm **Windows:** - Download from: https://nodejs.org/ - Run the installer and follow prompts Verify installation: ```bash node -v # Should show v18.0.0 or higher npm -v # Should show npm version ``` ### 2. Install Rust **All platforms:** ```bash # Linux/macOS curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh # Windows (PowerShell) # Download and run: https://win.rustup.rs/x86_64 ``` Verify installation: ```bash rustc --version cargo --version ``` ### 3. Install System Dependencies #### Debian/Ubuntu ```bash sudo apt update sudo apt install libwebkit2gtk-4.0-dev \ build-essential \ curl \ wget \ file \ libssl-dev \ libgtk-3-dev \ libayatana-appindicator3-dev \ librsvg2-dev ``` #### Fedora/RHEL ```bash sudo dnf install webkit2gtk4.0-devel \ openssl-devel \ curl \ wget \ file \ libappindicator-gtk3-devel \ librsvg2-devel ``` #### Arch Linux ```bash sudo pacman -S webkit2gtk \ base-devel \ curl \ wget \ file \ openssl \ gtk3 \ libappindicator-gtk3 \ librsvg ``` #### macOS ```bash xcode-select --install ``` #### Windows - Install [Visual Studio Build Tools](https://visualstudio.microsoft.com/visual-cpp-build-tools/) - Select "Desktop development with C++" - Select "Windows 10/11 SDK" - Install [WebView2 Runtime](https://developer.microsoft.com/en-us/microsoft-edge/webview2/) ### 4. Install Project Dependencies ```bash # Clone the repository (if you haven't already) cd eve-alpha # Install npm dependencies npm install # Setup environment file cp .env.example .env ``` ### 5. Configure API Keys Edit `.env` and add your API keys: ```env VITE_OPENROUTER_API_KEY=sk-or-v1-your-key-here VITE_ELEVENLABS_API_KEY=your-key-here # Optional ``` Get your API keys: - **OpenRouter**: https://openrouter.ai/keys (required) - **ElevenLabs**: https://elevenlabs.io (optional, for TTS) ## Troubleshooting ### Script Fails to Detect Dependencies If the script doesn't detect installed tools: 1. **Restart your terminal** after installing Node.js or Rust 2. **Source the cargo environment** (Linux/macOS): ```bash source $HOME/.cargo/env ``` 3. **Add to PATH** (Windows): Ensure Node.js and Rust are in your system PATH ### Permission Denied Errors (Linux/macOS) ```bash # Make script executable chmod +x setup.sh # If system package installation fails sudo ./setup.sh # Not recommended, use sudo only for package installs ``` ### npm Install Fails ```bash # Clear cache and reinstall rm -rf node_modules package-lock.json npm cache clean --force npm install ``` ### Rust Compilation Errors (Linux) Ensure all system dependencies are installed: ```bash # Check webkit2gtk version pkg-config --modversion webkit2gtk-4.0 # Should be 2.8.0 or higher ``` ### Windows: "Script Cannot Be Loaded" Error PowerShell execution policy may block the script: ```powershell # Run as Administrator Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser # Then run setup script again .\setup.ps1 ``` ### WebView2 Not Detected (Windows) Download and install manually: https://developer.microsoft.com/en-us/microsoft-edge/webview2/#download-section ## Verifying Your Setup After running the setup script, verify everything works: ```bash # 1. Check all tools are installed node -v npm -v rustc --version cargo --version # 2. Start development server npm run tauri:dev # 3. If the app window opens and you see the chat interface, you're all set! ``` ## Development Workflow Once setup is complete: ```bash # Start development with hot-reload npm run tauri:dev # Run frontend only (browser) npm run dev # Build for production npm run tauri:build # Lint code npm run lint # Format code npm run format ``` ## Getting Help If you encounter issues not covered here: 1. Check the [main README](../../README.md) 2. Review [SETUP_COMPLETE.md](./SETUP_COMPLETE.md) for detailed troubleshooting 3. Check [GitHub Issues](https://github.com/your-repo/eve-alpha/issues) ## Next Steps After successful setup: 1. ✅ Edit `.env` with your API keys 2. ✅ Run `npm run tauri:dev` to start developing 3. ✅ Read the [Development Guide](../CONTRIBUTING.md) (if available) 4. ✅ Check out the [Roadmap](../planning/ROADMAP.md) for planned features --- **Last Updated**: October 6, 2025 **Supported Platforms**: Linux (Debian/Ubuntu, Fedora, Arch), macOS, Windows 10/11