# Terraform

Terraform is a tool for building, changing, and versioning infrastructure safely and efficiently.&#x20;

The `terraform init` and `terraform apply` commands are two of the most commonly used commands in Terraform.

## Installation

{% hint style="info" %}
The following samples are intended for use in **production** **environments,** such as having complete control over operations, integrating the CodeMash stack within a company structure, tools and policy, developing internal tools, etc. Installing CodeMash in any cloud system requires **Enterprise Licence**. Please refer to our [pricing page](https://codemash.io/pricing/) for more details.
{% endhint %}

To install and use CodeMash, follow these steps:

1. Download the CodeMash repository from GitHub by cloning the repository or downloading a zip file.
2. Open a terminal or command prompt, navigate to the folder where you downloaded the CodeMash repository, and run the `terraform init` command to initialize the working directory. This will download and install any required plugins and verify the configuration files.
3. Run the `terraform apply` command to create and manage the infrastructure for your CodeMash projects. This will apply the changes specified in the configuration files, creating or modifying resources as needed.

Once these steps are complete, you can use CodeMash to create and manage the backend for your app. For more information on how to use CodeMash, see the documentation on GitHub.

<br>


---

# 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.codemash.io/installation/terraform.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.
