Skip to content

Add one-command installer scripts for Windows and Linux#305

Merged
kovtcharov-amd merged 5 commits intomainfrom
kalin/installer
Feb 10, 2026
Merged

Add one-command installer scripts for Windows and Linux#305
kovtcharov-amd merged 5 commits intomainfrom
kalin/installer

Conversation

@kovtcharov
Copy link
Collaborator

Summary

Implements Phase 1 of the installer plan: one-command installation scripts for Windows and Linux.

What's Included

Windows PowerShell Installer (scripts/install.ps1)

  • ✅ Auto-installs uv if not present
  • ✅ Creates ~/.gaia/venv with Python 3.12 (uv downloads if needed)
  • ✅ Installs amd-gaia package
  • ✅ Adds to PATH automatically
  • ✅ UTF-8 with BOM encoding for PowerShell compatibility
  • ✅ Colored output with Unicode symbols (✓/✗)

Linux Bash Installer (scripts/install.sh)

  • ✅ Auto-installs uv if not present
  • ✅ Creates ~/.gaia/venv with Python 3.12 (uv downloads if needed)
  • ✅ Installs amd-gaia with CPU-only PyTorch (--extra-index-url)
  • ✅ Adds to PATH (~/.bashrc, ~/.zshrc)
  • ✅ Cross-distro support (Ubuntu, Fedora, Arch)
  • ✅ Colored output with Unicode symbols

Usage

Windows:

irm https://amd-gaia.ai/install.ps1 | iex

Linux:

curl -fsSL https://amd-gaia.ai/install.sh | sh

Zero Dependencies

Following the pattern from docs/quickstart.mdx, the installers:

  • ✅ No longer check for Python (uv handles it)
  • ✅ Use uv venv --python 3.12 to auto-download Python
  • ✅ Truly zero-dependency installation

Hosting

Scripts can be hosted via:

  1. GitHub Raw (immediate): https://raw.githubusercontent.com/amd/gaia/main/scripts/install.ps1
  2. Cloudflare redirect (recommended): Add redirects from amd-gaia.ai/install.ps1 → GitHub raw URL

Testing

✅ Tested on Windows 11 with PowerShell

  • Successfully installed GAIA 0.15.3.1
  • uv auto-downloaded Python 3.12.12
  • All 59 packages installed correctly

Related

  • Plan document: docs/plans/installer.mdx
  • Next phase: gaia update command (Phase 2)
  • Future: winget package, Debian package (Phase 3-4)

Checklist

  • Windows installer script created
  • Linux installer script created
  • Follows quickstart.mdx pattern
  • Tested on Windows
  • Tested on Linux (requires Linux environment)
  • Documentation update (can be separate PR)

Implements Phase 1 of the installer plan (docs/plans/installer.mdx):
- Windows PowerShell installer (install.ps1)
- Linux bash installer (install.sh)

Key features:
- Zero-dependency: Only requires uv (auto-installs Python 3.12 if needed)
- Follows quickstart.mdx pattern (uv venv --python 3.12)
- Creates ~/.gaia/venv virtual environment
- Installs amd-gaia package
- Automatically adds to PATH
- Linux uses CPU-only PyTorch (--extra-index-url)
- UTF-8 with BOM encoding for PowerShell compatibility
- Colored output with Unicode check marks (✓/✗)

Usage:
  Windows: irm https://amd-gaia.ai/install.ps1 | iex
  Linux:   curl -fsSL https://amd-gaia.ai/install.sh | sh

Tested on Windows 11 with Python 3.12.12 (auto-installed by uv)

Co-Authored-By: Claude Sonnet 4.5 (1M context) <[email protected]>
@kovtcharov kovtcharov self-assigned this Feb 5, 2026
@kovtcharov kovtcharov added the installer Installer changes label Feb 5, 2026
@kovtcharov kovtcharov added this to the v0.15.4 milestone Feb 5, 2026
Changes:
- Add "Quick Install" section at the top with one-command installers
- Clarify use cases:
  * Quick Install: Recommended for users trying GAIA CLI
  * Manual Install (PyPI): Recommended for developers integrating GAIA
  * Clone: For contributors
- Update tab titles: "Windows (PyPI)", "Linux (PyPI)", "Windows (Clone)", "Linux (Clone)"
- Use amd-gaia.ai URLs (Cloudflare redirects configured)

Makes it clear which installation method to use:
- Users → Quick Install (one command)
- Developers → Manual Install (project-specific venv)
- Contributors → Clone (editable install)

Co-Authored-By: Claude Sonnet 4.5 (1M context) <[email protected]>
@github-actions github-actions bot added the documentation Documentation changes label Feb 5, 2026
kovtcharov and others added 3 commits February 4, 2026 18:21
Critical fixes:
- Fix path references to be platform-specific (Windows: %USERPROFILE%, Linux: ~)
- Change "globally" to "accessible globally via PATH" (more accurate)
- Update setup.mdx to mention Quick Install option
- Add idempotency checks to both installers (safe to re-run)
- Clarify CPU-only PyTorch mention for Linux

Changes:
1. docs/quickstart.mdx:
   - Windows shows %USERPROFILE%\.gaia\venv
   - Linux shows ~/.gaia/venv
   - Clarify PyTorch mention ("CPU-only PyTorch (smaller, faster)")

2. docs/setup.mdx:
   - Add Info box linking to Quick Install
   - Clarifies manual install is for development

3. scripts/install.ps1:
   - Check if gaia.exe exists before installing
   - Show helpful message if already installed

4. scripts/install.sh:
   - Check if gaia binary exists before installing
   - Show helpful message if already installed

Co-Authored-By: Claude Sonnet 4.5 (1M context) <[email protected]>
Co-Authored-By: Claude Sonnet 4.5 (1M context) <[email protected]>
Changes installer behavior to be truly idempotent:
- First run: Install GAIA
- Subsequent runs: Check for updates and auto-upgrade if available
- If up to date: Show "already up to date" message

Benefits:
- Users can re-run installer to get latest version
- No need to manually uninstall/reinstall
- Safer than deleting ~/.gaia directory
- Matches behavior of other modern installers (rustup, uv, etc.)

Implementation:
- Windows: Use python.exe from venv to run pip upgrade
- Linux: Use uv pip with --extra-index-url for CPU-only PyTorch
- Both: Run quietly, show success/already-up-to-date message

Co-Authored-By: Claude Sonnet 4.5 (1M context) <[email protected]>
@kovtcharov-amd kovtcharov-amd added this pull request to the merge queue Feb 9, 2026
Merged via the queue into main with commit 514ba5e Feb 10, 2026
48 of 49 checks passed
@kovtcharov-amd kovtcharov-amd deleted the kalin/installer branch February 10, 2026 00:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Documentation changes installer Installer changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants