> For the complete documentation index, see [llms.txt](https://yagsl.yassrobotics.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://yagsl.yassrobotics.com/reference/vendordep-installation.md).

# Vendordep Installation

## Install YAGSL

YAGSL is listed directly in the **WPILib Vendor Dependencies** panel's catalog (VS Code sidebar) — open it and click **Install** next to YAGSL, no URL required.

<figure><img src="/files/RzptwWT6YJakdPiLCOoG" alt=""><figcaption><p>YAGSL listed directly in the WPILib Vendor Dependencies panel.</p></figcaption></figure>

If your WPILib version predates YAGSL being in that catalog, install manually instead: use **Manage Vendor Libraries → Install new library (online)** and paste:

```
https://yet-another-software-suite.github.io/YAGSL/yagsl/yagsl.json
```

See the [WPILib guide to installing 3rd-party libraries](https://docs.wpilib.org/en/stable/docs/software/vscode-overview/3rd-party-libraries.html#installing-libraries) for the general workflow.

## Required vendor libraries

YAGSL's own vendordep manifest currently declares these as hard requirements — Gradle will fail to build without them, even if your robot doesn't use every one of them, because YAGSL is generic across all supported hardware. Install each one from the same WPILib Vendor Dependencies panel as YAGSL:

| Vendor         | Required by YAGSL's manifest | Needed for                                                 |
| -------------- | ---------------------------- | ---------------------------------------------------------- |
| REVLib         | Yes                          | SparkMAX / SparkFlex                                       |
| CTRE Phoenix 6 | Yes                          | TalonFX / TalonFXS / Pigeon 2 / CANcoder                   |
| CTRE Phoenix 5 | Yes                          | (legacy CTRE device support in the wider WPILib ecosystem) |
| StudicaLib     | Yes                          | NavX3-CAN                                                  |
| ThriftyLib     | Yes                          | Nova motor controllers, Thrifty absolute encoders          |

{% hint style="warning" %}
If your robot uses a **Canandgyro**, **Canandmag**, or other Redux Robotics device, add **ReduxLib** yourself from the same panel — it is not currently in YAGSL's auto-required list, even though the parser supports Redux devices.
{% endhint %}

{% hint style="info" %}
If a vendor isn't in the panel's catalog on your WPILib version, fall back to **Manage Vendor Libraries → Install new library (online)** with a URL from the vendor's own install page — see the [WPILib guide to installing 3rd-party libraries](https://docs.wpilib.org/en/stable/docs/software/vscode-overview/3rd-party-libraries.html#installing-libraries).
{% endhint %}

You'll also want the vendor's own tuning/firmware tools installed on your development machine (not a robot-code dependency, but needed to configure/calibrate hardware):

* [REV Hardware Client 2](https://docs.revrobotics.com/rev-hardware-client-2)
* [CTRE Tuner X](https://v6.docs.ctr-electronics.com/en/latest/docs/installation/installation-frc.html)
* Studica Hardware Manager (NavX3-CAN)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://yagsl.yassrobotics.com/reference/vendordep-installation.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
