# VideoTools Installation Guide for Linux, macOS, & WSL

This guide provides detailed instructions for installing VideoTools on Linux, macOS, and Windows Subsystem for Linux (WSL) using the automated script.

---

## One-Command Installation

The recommended method for all Unix-like systems is the `install.sh` script.

```bash
bash scripts/install.sh
```

This single command automates the entire setup process.

### What the Installer Does

1.  **Go Verification:** Checks if Go (version 1.21 or later) is installed and available in your `PATH`.
2.  **Build from Source:** Cleans any previous builds, downloads all necessary Go dependencies, and compiles the `VideoTools` binary.
3.  **Path Selection:** Prompts you to choose an installation location:
    *   **System-wide:** `/usr/local/bin` (Requires `sudo` privileges). Recommended for multi-user systems.
    *   **User-local:** `~/.local/bin` (Default). Recommended for most users as it does not require `sudo`.
4.  **Install Binary:** Copies the compiled binary to the selected location and makes it executable.
5.  **Configure Shell:** Detects your shell (`bash` or `zsh`) and updates the corresponding resource file (`~/.bashrc` or `~/.zshrc`) to:
    *   Add the installation directory to your `PATH`.
    *   Source the `alias.sh` script for convenience commands.

### After Installation

You must reload your shell for the changes to take effect:

```bash
# For bash users:
source ~/.bashrc

# For zsh users:
source ~/.zshrc
```

You can now run the application from anywhere by simply typing `VideoTools`.

---

## Convenience Commands

The installation script sets up a few helpful aliases:

-   `VideoTools`: Runs the main application.
-   `VideoToolsRebuild`: Forces a full rebuild of the application from source.
-   `VideoToolsClean`: Cleans all build artifacts and clears the Go cache for the project.

---

## Manual Installation

If you prefer to perform the steps manually:

1.  **Build the Binary:**
    ```bash
    CGO_ENABLED=1 go build -o VideoTools .
    ```

2.  **Install the Binary:**
    *   **User-local:**
        ```bash
        mkdir -p ~/.local/bin
        cp VideoTools ~/.local/bin/
        ```
    *   **System-wide:**
        ```bash
        sudo cp VideoTools /usr/local/bin/
        ```

3.  **Update Shell Configuration:**
    Add the following lines to your `~/.bashrc` or `~/.zshrc` file, replacing `/path/to/VideoTools` with the actual absolute path to the project directory.

    ```bash
    # Add VideoTools to PATH
    export PATH="$HOME/.local/bin:$PATH"

    # Source VideoTools aliases
    source /path/to/VideoTools/scripts/alias.sh
    ```

4.  **Reload Your Shell:**
    ```bash
    source ~/.bashrc  # Or source ~/.zshrc
    ```

---

## Uninstallation

1.  **Remove the Binary:**
    *   If installed user-locally: `rm ~/.local/bin/VideoTools`
    *   If installed system-wide: `sudo rm /usr/local/bin/VideoTools`

2.  **Remove Shell Configuration:**
    Open your `~/.bashrc` or `~/.zshrc` file and remove the lines that were added for `VideoTools`.

---

## Platform-Specific Notes

-   **macOS:** You may need to install Xcode Command Line Tools first by running `xcode-select --install`.
-   **WSL:** The Linux instructions work without modification inside a WSL environment.
