# 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
This site has an agentic ask interface you may use to query the documentation dynamically by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.instl.sh/index.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

---

# Welcome

Instl - A zero setup installer for your GitHub projects

Instl is an installation script generator for GitHub projects. It does not need any setup, and can be used to install most GitHub projects on Linux, macOS and Windows.

You can easily add installation commands to your project README - they just work!.

<figure><img src="https://raw.githubusercontent.com/installer/instl/main/demo.gif" alt=""><figcaption><p>Instl demo</p></figcaption></figure>

## Key Features

* 💻 Cross-Platform: Works on Windows, macOS and Linux out of the box
* 🧸 One-Click Installs: Install any GitHub project with just a single command
* 🪶 Web-Based: No need to install Instl - scripts are generated server-side
* ⚙️ Intelligent Configuration: Instl adapts to the project's structure
* 🕊️ On the fly: Installer scripts are created in real-time for each project
* 📊 [Track Your Installs](https://instl.sh/stats): Installation metrics for your projects at your fingertips


# Getting Started

Getting started with the GitHub project installer - INSTL

Instl generates installation scripts for your GitHub projects via a public accessible API.

```
                     ┌ The GitHub username of the project
                     |        ┌ The GitHub repository name of the project
                     |        |       ┌ The platform, see "Valid Platforms"
                     |        |       |
https://instl.sh/username/reponame/platform
```

The generated scripts, can be used by your users very easily.


# Supported Project Structure


# Verbose Output

Useful for debugging, or if you just like to see what is going on

## Get Verbose Output

Instl makes it super easy to get verbose output.

Instead of:

<pre class="language-url"><code class="lang-url"><strong>instl.sh/username/reponame/platform
</strong></code></pre>

You can use:

```url
instl.sh/username/reponame/platform/verbose
```

So if you're on Linux, and you want to see verbose output for our `instl-demo` repo, you can use:

```bash
curl -sSL instl.sh/installer/instl-demp/linux/verbose | bash
```


# Installation Count

Installation count badge

<div align="left"><figure><img src="https://img.shields.io/endpoint?url=https://instl.sh/api/v1/badge/shields.io/stats/installer/instl-demo" alt=""><figcaption></figcaption></figure></div>

{% hint style="info" %}
You can customize the badge by [passing options to shields.io](https://shields.io/badges/endpoint-badge)
{% endhint %}

## Markdown

```markdown
![Installation count](https://img.shields.io/endpoint?url=https://instl.sh/api/v1/badge/shields.io/stats/OWNER/REPO)
```

## HTML

```html
<img alt="Installation count" src="https://img.shields.io/endpoint?url=https://instl.sh/api/v1/badge/shields.io/stats/OWNER/REPO" />
```

## API Specification

You can look up the full badge API specification here:

{% content-ref url="/pages/CzFocrUnTkncO6w77gxk" %}
[Shields.io Badge](/api/shields.io-badge)
{% endcontent-ref %}


# Installation Statistics

Get installation statistics about your projects

## Installation statistics for specific project

You can view the installation count of your project by visiting this URL:

```
https://instl.sh/OWNER/REPO
```

You can also create a badge of your project's total installation count:

<pre><code>Base URL: https://img.shields.io/endpoint?url=https://instl.sh/stats/OWNER/REPO/badge/shields.io

<strong>Markdown: 
</strong>![Downloads](https://img.shields.io/endpoint?url=https://instl.sh/stats/OWNER/REPO/badge/shields.io)

HTML:
&#x3C;img src="https://img.shields.io/endpoint?url=https://instl.sh/stats/OWNER/REPO/badge/shields.io" />
</code></pre>

You can customize the badge by passing options to shields.\
Documentation: <https://shields.io/>

### Example

<div align="left"><img src="https://img.shields.io/endpoint?url=https://instl.sh/stats/owner/repo/badge/shields.io" alt=""></div>


# Installation Statistics

Statistics API of instl

## Installation count of all projects that use instl.sh

<mark style="color:blue;">`GET`</mark> `https://instl.sh/api/v1/stats`

{% tabs %}
{% tab title="200: OK Installation count of all projects that use instl.sh" %}

```javascript
{
    "installer/instl-demo/windows": 1337,
    "installer/instl-demo/linux": 420, 
    "installer/instl-demo/macos": 1234
}
```

{% endtab %}
{% endtabs %}

## Installation count of specific project

<mark style="color:blue;">`GET`</mark> `https://instl.sh/api/v1/stats/user/repo`

#### Path Parameters

| Name                                   | Type   | Description                    |
| -------------------------------------- | ------ | ------------------------------ |
| user<mark style="color:red;">\*</mark> | String | Owner of the GitHub repository |
| repo<mark style="color:red;">\*</mark> | String | GitHub repository name         |

{% tabs %}
{% tab title="200: OK Installation count per platform" %}

```javascript
{
    "linux": 3,
    "macos": 10,
    "windows": 15,
    "total": 28
}
```

{% endtab %}
{% endtabs %}

## Total count of installations handled by instl

<mark style="color:blue;">`GET`</mark> `https://instl.sh/api/v1/stats/total`

{% tabs %}
{% tab title="200: OK Total installations" %}

```
1337
```

{% endtab %}
{% endtabs %}


# Shields.io Badge

Badge API for shields.io support

{% hint style="info" %}
This API can be used with the [Endpoint Badge](https://shields.io/badges/endpoint-badge) of shields.io to create badges for your `README.md`
{% endhint %}

## Installation count of specific repository

## Installation count badge

<mark style="color:blue;">`GET`</mark> `https://instl.sh/api/v1/badge/shields.io/stats/user/repo`

#### Path Parameters

| Name                                   | Type   | Description                    |
| -------------------------------------- | ------ | ------------------------------ |
| user<mark style="color:red;">\*</mark> | String | Owner of the GitHub repository |
| repo<mark style="color:red;">\*</mark> | String | Name of the GitHub repository  |

{% tabs %}
{% tab title="200: OK Shields.io badge schema response" %}

```javascript
{
    "color":"orange",
    "label":"installations",
    "message":"4",
    "schemaVersion":1
}
```

{% endtab %}
{% endtabs %}

## Total installations handled by instl&#x20;

## Total installations handled by instl badge

<mark style="color:blue;">`GET`</mark> `https://instl.sh/api/v1/badge/shields.io/stats/total`

{% tabs %}
{% tab title="200: OK Shields.io badge schema response" %}

```javascript
{
    "color":"orange",
    "label":"handled installations",
    "message":"1337",
    "schemaVersion":1
}
```

{% endtab %}
{% endtabs %}


# Writing Code


