# Installing the Project

Just like any open-source software, we are open to contributors and would love to have some extra helping hands! This section will go over how to correctly install the Lua++ project so that you can become a contributor.

<details>

<summary><mark style="color:blue;">Step 1:</mark>  Forking the Repository</summary>

The first and most important part of this process is forking your desired repository. There are a few steps to this process:

1. On GitHub.com, navigate to the [luapp-org/luapp](https://github.com/luapp-org/luapp) repository.

2. In the top right corner of the page, click **Fork.**<br>

   <figure><img src="/files/J4WZnFasbHUCsMxus5Fg" alt=""><figcaption><p>The <strong>Fork</strong> button at the top right of the page</p></figcaption></figure>

3. Once you have forked the repository, you need to clone the repo to your local machine so that you can add your changes. You can find the link to the repo after clicking the **Code** dropdown.<br>

   <figure><img src="/files/f8nWkTNXFMnBpi7aZ49U" alt=""><figcaption><p>The <strong>Clone</strong> menu for the repo.</p></figcaption></figure>

   Then run the clone command in your local environment:\
   `git clone <link>`

&#x20;

</details>

Before you can get to contributing you need to install Lua++'s few dependencies. Instructions are listed below in the order of your operating system.

{% tabs %}
{% tab title="Linux" %}
You need to install `make`, `flex`, and `bison`. To install them on a Linux machine run the following commands:

```
sudo apt update
sudo apt install flex
sudo apt install bison
sudo apt install make
```

Then you need to enter the main source folder and build the desired project (e.g. `make interpreter`). The binaries are stored in `src/bin` with `luappc` being the compiler, `luappvm` the VM, and `luapp` the interpreter.
{% endtab %}
{% endtabs %}

<details>

<summary><mark style="color:blue;">Step 2:</mark>  Creating a Pull Request</summary>

1. To begin committing new changes to your fork, you need to first create a new branch. This can be done with the following command:\
   `git checkout -b new-user-contribution`
2. Once you have committed your changes to your new branch, you need to **create a pull request**.<br>

   <figure><img src="/files/JYrF3vnAKvelH27qpD4y" alt=""><figcaption><p>How to create a new pull request.</p></figcaption></figure>

</details>

Thank you for showing interest Lua++, we hope that we can get as much assistance from the community as possible. Happy coding!&#x20;


---

# 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://docs.luaplusplus.org/contributing/installing-the-project.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.
