# GitHub usage

## GitHub depot configuration

It's possible to define 3 types of depot:

* a GitHub organization:  \
  \&#xNAN;**`github_org`**  + "**`:`** " + ***`organization-name`***
* a GitHub user: \
  \&#xNAN;**`github_user`**  + " **`:`**" + ***`user-name`***
* the GitHub current user (authenticated by the current personal acces token): \
  \&#xNAN;**`github_current_user`**&#x20;

To define your own depots on GitHub see "[Project configuration](/project-configuration.md)".

## GitHub Personal Access Token

Telosys uses the GitHub REST API ( <https://docs.github.com/en/rest> ) to get the models and bundles available for installation.

This API has “**rate limits**” which can be reached quite quickly if several users share the same external IP address (which is usually the case with a corporate proxy).

To get around this limitation, you can use a "**GitHub Personal Access Token**" (PAT).

With a "Personal Acces Token" the **limit** increased from 50 to **5000 requests** for each user with a token.

Since version 4.2.0 you can use the command "**ght**" ("GitHub Token") to define (or remove) a "Personal Acces Token" that Telosys will use to call the GitHub API.

Using a Personal Access Token can also give you access to private repositories (depending on your rights).

**Step 1 - Define your Personal Acces Token in GitHub**&#x20;

See GitHub documentation : "[Managing your personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens)"

Creating a personal access token (classic) is sufficient.

Copy the token so that you can use it with Telosys later.

**Step 2 - Use your Personal Acces Token with Telosys**

Once you have your token, you can use the “**ght**” command to store it on your workstation. \
The token is encrypted and stored locally, so it can be used for all Telosys projects on a workstation.

* Check if the token is defined :  **`ght`**
* Define a token:   **`ght -set`**  ⇒ Copy/Paste your token&#x20;
* Remove the token:   **`ght -none`**


---

# 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://doc.telosys.org/git-with-telosys/github-usage.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.
