# Getting Started

## Prerequisites

* **SeaLights Account**: Active SeaLights account with access credentials
* **Authentication Token**: Valid SeaLights Agent token
* **Supported C++ Compiler**: GCC/G++ - versions 9.4 through 13.3, Clang - versions 20 through 21
* **Operating System:** Ubuntu 20.04 and newer, Debian 11 and newer or compatible Linux distributions
* **C++ Agent Binary**: Downloaded `SL.Agent.Cpp` binary placed in your project directory
* **Network Access**: Ability to connect to SeaLights servers (check firewall/proxy settings if needed)

## **Downloading the C++ Agent**

The latest SeaLights C++ Agent file can be downloaded from:

* `https://${SL_DOMAIN}/slcpp/latest/sealights-cpp-agent-linux-self-contained.tar.gz`
* `https://${SL_DOMAIN}/slcpp/latest/sealights-cpp-agent-linux-self-contained.zip`

Where `${SL_DOMAIN}` should be replaced with either:

* Your account-specific domain endpoint:\
  `<your_custom_domain>.sealights.co`
* The generic SeaLights agents endpoint:\
  `agents.sealights.co`

For example:

```bash
https://agents.sealights.co/slcpp/latest/sealights-cpp-agent-linux-self-contained.tar.gz
```

### Sample Scripts for Downloading the C++ Agent

#### Downloading and extracting the latest version:

{% code overflow="wrap" lineNumbers="true" %}

```sh
SL_DOMAIN=agents.sealights.co

# Download and extract Sealights C++ Agent (self-contained Linux package)
echo "[Sealights] Downloading Sealights C++ Agent..."

wget -nv -O sealights-cpp-agent-linux-self-contained.tar.gz \
    https://${SL_DOMAIN}/slcpp/latest/sealights-cpp-agent-linux-self-contained.tar.gz \
    && tar -xvf sealights-cpp-agent-linux-self-contained.tar.gz \
    && rm sealights-cpp-agent-linux-self-contained.tar.gz

# Verify installation (prints version)
./sealights-cpp-agent --version 2> /dev/null
```

{% endcode %}

#### Downloading a specific version <a href="#downloading-a-specific-version" id="downloading-a-specific-version"></a>

Replace “latest” with the desired version when downloading a specific version. Please note the format of the specific version URL that includes the `v` prefix.

**Example script:**

{% code overflow="wrap" lineNumbers="true" %}

```bash
# SeaLights domain (replace with your custom domain if needed)
SL_DOMAIN=agents.sealights.co

# Specific version to download (must include the "v" prefix)
SL_CPP_AGENT_VERSION=v0.3.0.1

echo "[Sealights] Downloading Sealights C++ Agent..."

wget -nv -O sealights-cpp-agent-linux-self-contained.tar.gz \
  https://${SL_DOMAIN}/slcpp/${SL_CPP_AGENT_VERSION}/sealights-cpp-agent-linux-self-contained.tar.gz

# Extract the agent and clean up the archive
tar -xvf sealights-cpp-agent-linux-self-contained.tar.gz
rm sealights-cpp-agent-linux-self-contained.tar.gz

# Verify installation (prints version)
./sealights-cpp-agent --version 2> /dev/null
```

{% endcode %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sealights.io/knowledgebase/setup-and-configuration/sealights-agents-and-plugins/c++-agent/getting-started.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
