> For the complete documentation index, see [llms.txt](https://docs.tessl.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tessl.io/distribute/connect-tessl-to-github.md).

# Connect Tessl to GitHub

To enable Tessl on your repositories, you will first navigate to the [Tessl Registry](https://tessl.io/registry) and login, if required.

## Enabling the Integration

* Select your workspace from the workspace switcher in the sidebar, below the organization dropdown.\
  ![](/files/V9nMMDmUKpXSLQJrnvrE)
* Open **Settings** in the sidebar, then select the **Integrations** section\
  ![](/files/pkYZPOonwKVCpyyOrzeC)

  .

  If the integration belongs to your organization rather than this workspace, the workspace Integrations section only summarizes it. Manage the connection from the organization dropdown at the top of the sidebar → **Settings** → **Integrations** → **Manage**. This route needs the organization integration-management permission.
* Select *Add* next to the GitHub integration.<br>

  <div align="left"><figure><img src="/files/7otdpLDjrD0K2gFGy4Dl" alt="" width="563"><figcaption></figcaption></figure></div>
* Select the GitHub organization or account to add the Tessl App to. Accounts that already have Tessl will not have the option.

  <div align="left"><figure><img src="/files/QAV1fBFR52xtx1GtLVcx" alt="" width="563"><figcaption></figcaption></figure></div>
* Decide if you want to authorize Tessl on specific repositories or provide access to everything. Once selected, click *Install & Authorize*

  <div align="left"><figure><img src="/files/tdW9qTtVMPp9gPViueb9" alt="" width="375"><figcaption></figcaption></figure></div>
* If the required permissions are available the Tessl integrations screen will show Connected.

  <div align="left"><figure><img src="/files/WC3i3wkVEvy0LAxTFKEm" alt="" width="375"><figcaption></figcaption></figure></div>

Connecting the app does not index anything on its own. Two more steps are required to get review and security scores for your own skills: enable private indexing, then approve the skills Tessl discovered.

## Enable private indexing

You turn on indexing per inventory from the inventory's Estate page in the Tessl web app.

* Open the workspace, then open the inventory you want to index. Once the GitHub App is connected and healthy, the Estate page shows a banner titled **Index your private skills**.
* Select **Enable private indexing**.
* A dialog confirms what happens: Tessl will discover your private skills and take you to a screen where you choose which ones to index and publish as private plugins in your registry. It also shows how many of your known repositories the GitHub App can reach. If some are not yet accessible, the dialog links you to the installation on GitHub so you can grant access.
* Select **Enable indexing** to confirm. Tessl then takes you to the **Skills to index** screen. No skill is indexed yet: that happens only after you select and approve skills there.

Enabling private indexing needs the **manager** or **owner** role in the workspace. See [Roles](/administrators/roles.md).

## Approve the skills Tessl discovered

Enabling indexing does not index every skill automatically. Tessl lists the first-party skills it found and waits for you to choose which ones to index. Skills stay pending until you approve them, so installing the app on its own produces no scores.

You land on the **Skills to index** screen right after you enable indexing. You can also reach it later from the **skills are waiting to be indexed** banner on the Estate page by selecting **Review skills**.

On this screen:

* Every skill shown is selected by default. Clear any you want to leave out.
* For each skill, pick the target workspace it publishes into as a private plugin. **Private means private to that workspace**: every role, including consumer, can view and install a workspace's private plugins. Pick a workspace whose members are authorized to see this repository's content. See [Roles](/administrators/roles.md).
* Optionally turn on **Always auto-approve new skills** so later scans index new first-party skills automatically into a default workspace.
* Select **Approve** to index the selected skills.

Indexing and scoring run in the background and can take a few minutes. A skill can finish indexing without a review or security score yet, since scoring is best-effort and can fail independently of indexing. Once scored, a skill carries review and security scores and teammates can find it in search. Scores are not continuously updated: they refresh only on a later scan. Enable automatic scanning on the Estate page to keep them current, or trigger a manual rescan from the inventory's Scans page.

## Add or remove Repositories when *Only Select Repositories* are in use.

If you wish to later add repositories, you will navigate to the Tessl app in GitHub:

* Click *Configure* next to the Tessl App.

  <div align="left"><figure><img src="/files/mdW1HF0JOo1PhAiXwW1R" alt=""><figcaption></figcaption></figure></div>
* Select or remove repositories as needed.

  <div align="left"><figure><img src="/files/SXglBk4RJOUV1plC21I9" alt="" width="375"><figcaption></figcaption></figure></div>
* Click *Save*.<br>

  <div align="left"><figure><img src="/files/fneaTQ8PR6xtyM6Qb0oq" alt="" width="81"><figcaption></figcaption></figure></div>

## Troubleshooting

What if the option to *Add* the integration isn't available? In the following example Tessl is not enabled and the user does not have the correct [Role](/administrators/roles.md) within Tessl (manager or owner) so the interface does not provide the option to integrate GitHub. To address this, ensure you have the correct [Role](/administrators/roles.md) within Tessl or request a user with these permissions to setup the integration.

<div align="left"><figure><img src="/files/c0ybEshXUBijPM753ds1" alt="" width="375"><figcaption></figcaption></figure></div>


---

# 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://docs.tessl.io/distribute/connect-tessl-to-github.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.
