# Installation

{% hint style="danger" %}
In version `v1.0.5` the project structure has been drastically changed breaking tools like the Knight CLI, Git installation, etc.

You **must now use Wally** to install until we fix our tools. Add `knight = "vq9o/knight@1.0.5"` to `wally.toml` then run `wally install`.
{% endhint %}

Knight is a lightweight framework for organizing your Roblox game code using services and clean architecture.

There are **three ways** to install Knight in your project:

***

## Option 1: Clone via Git

If you're comfortable with Git, clone the Knight repository directly:

```bash
git clone https://github.com/RAMPAGELLC/knight.git
```

***

## Option 2: Use Knight CLI

If you have the **Knight CLI** installed globally via npm:

```bash
npm install -g @rampage/knight
```

### You can scaffold a new project with:

```bash
knight init
```

This creates a pre-structured Knight project with client, server, and shared folders ready to go. You can also use it to generate new services and controllers.

> ✅ Tip: Run `knight --help` to explore all CLI options.

***

## Option 3: Download RBXL Binary

Prefer a plug-and-play Studio file? Download the `.rbxl` place file from the GitHub Releases:

👉 [Knight GitHub Releases](https://github.com/RAMPAGELLC/knight/releases)

Choose the latest version and open it directly in Roblox Studio to explore or build on top of it.

***

### Next Steps

Once Knight is installed, you can:

* [Create Your First Service](/documentation/what-are-services.md)
* [Understand the Lifecycle](/execution-model.md)
* [Explore Client vs Server Organization](/services-vs-controllers.md)

For help or to report issues, visit the [Knight GitHub Repository](https://github.com/RAMPAGELLC/knight).


---

# 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://knight.metatable.dev/documentation/installation.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.
