# Installation

{% hint style="warning" %}
Framework is still below 1.0.0 version. Be careful updating the package, as breaking changes are common. Also the documentation might not represent the actual state.
{% endhint %}

Just run the following command:

```bash
go get -u github.com/indigo-web/indigo@latest
```

{% hint style="warning" %}
For installation, go1.23.8 or higher is required
{% endhint %}

{% hint style="info" %}
The documentation's current state implies the version v0.17.3
{% endhint %}

## Hello, world!

Create a new package:

```bash
mkdir helloworld
cd helloworld
go mod init helloworld
go get -u github.com/indigo-web/indigo@latest
```

Create `main.go` with the following code:

```go
package main

import (
  "log"
  
  "github.com/indigo-web/indigo"
  "github.com/indigo-web/indigo/http"
  "github.com/indigo-web/indigo/router/inbuilt"
)

func Hello(request *http.Request) *http.Response {
  return http.String(request, "Hello, world!")
}

func main() {
  r := inbuilt.New()
  r.Get("/", Hello)

  err := indigo.New(":8080").Serve(r)
  if err != nil {
    log.Fatal(err)
  }
}
```

Run the code:

```bash
go run main.go
```

If everything works just fine, you'll see the text `Hello, world!` on the <http://localhost:8080> page.
