<p align="center">
  <img src="https://weforge.xyz/Spitfire/Branding/raw/branch/main/active/luncher/icon.svg" alt="Logo" width="64" height="64">
</p>

<p align="center" style="font-size: 32px;">
  <strong>Spitfire Launcher</strong>
</p>

<p align="center">
A lightweight updater and launcher for the Spitfire browser, primarily designed for Windows systems. It checks for updates, downloads, decompresses, installs new versions, and launches the browser once updates are complete.
</p>

# How to Run

This launcher is **not meant to be run manually**. It is intended to be downloaded from [spitfirerowser.xyz](https://spitfirebrowser.xyz) and used as part of the Spitfire Browser installation.

However, if you want to test it locally, you can do so with the following commands:

## Build Requirements

- **Go 1.20+**
- **Operating Systems:**
  - Windows (requires `robocopy` for efficient file copying)
  - Linux
- **Dependencies:**  
  The project depends on the `spitfire-luncher/spm` package which provides update installation, progress reporting, and browser launching functions (spm package is currently integrated into this repositary).

## Foreground Mode

To run the launcher in foreground mode (launches the browser if no update is in progress):

```bash
go run .
```

### Background Update Service
To run the launcher as a background update service (continuously checks for and installs updates when the browser is not running):

```bash
go run . --update-service
```