# Create Projects and Environments

## Create a project

To create a new project click the **Add a new project** button.

<img src="/files/IT2pxYXHNHnhwKjbZSEc" alt="Add a new project" data-size="line">

This button opens the following dialog:

<figure><img src="/files/jgL2HZ6R34kezoXrCl0b" alt="" width="563"><figcaption></figcaption></figure>

| Property                           | Description                                                                                                                                                                                                | Variables Supported | Mandatory | Default                   |
| ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------- | --------- | ------------------------- |
| Name                               | The project name                                                                                                                                                                                           | Yes                 | No        |                           |
| Home folder                        | The folder where the project is located                                                                                                                                                                    | Yes                 | No        |                           |
| Configuration file (relative path) | The folder where the project’s configuration json is located.                                                                                                                                              | Yes                 | Yes       |                           |
| Parent project to inherit from     | The project to inherit metadata (e.g. connections) from                                                                                                                                                    | Yes                 | No        | default                   |
| Description                        | A description for this environment                                                                                                                                                                         | No                  | No        |                           |
| Company                            | The company this environment belongs to                                                                                                                                                                    | No                  | No        |                           |
| Department                         | The department this environment is created for                                                                                                                                                             | No                  | No        |                           |
| Metadata base folder               | The folder where this environment’s metadata will be stored                                                                                                                                                | Yes                 | Yes       | ${PROJECT\_HOME}/metadata |
| Unit test base path                | The base path to use for unit tests in the project. If your `Unit test base path` is defined as `${PROJECT_HOME}/my_pipelines`, unit tests will refer to a pipeline in this folder as `./my_pipeline.hpl`. | Yes                 | Yes       | ${PROJECT\_HOME}          |
| Data Sets CSV Folder               | The folder where this environment’s data files will be stored                                                                                                                                              | Yes                 | Yes       | ${PROJECT\_HOME}/datasets |
| Enforce execution in project home  | Give an error when trying to execute a pipeline or workflow which is not located in the environment home directory or in a sub-directory                                                                   | Yes                 | Yes       | checked                   |
| Project variables to set           | A list of variable names, values and variable descriptions to use with this project                                                                                                                        | No                  | Yes       |                           |

Table 1. Project Properties

After creating a project the user interface will switch to it and ask if you want to create an environment.

### Create an environment

To create a new environment click the **Add a new environment** button.

<img src="/files/BRR8Dp3Cg7FwOlKVu7Lw" alt="Environment" data-size="line">

This button opens the following dialog:

<figure><img src="/files/SZCenCTk2p0mOhwZFb25" alt="" width="327"><figcaption></figcaption></figure>

| Property            | Description                                                                                                                                                                                                                                                                                                     | Variables Supported | Mandatory | Default                  |
| ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------- | --------- | ------------------------ |
| Name                | The environment name                                                                                                                                                                                                                                                                                            | No                  | No        | The last created project |
| Purpose             | <p>The purpose of this environment. A purpose is an indication of the environment type. You can add your own purposes in addition to the predefined ones:</p><ul><li>Development</li><li>Testing</li><li>Acceptance</li><li>Production</li><li>Continuous integration</li><li>Common build</li><li>…​</li></ul> | No                  | No        |                          |
| Project             | The project to which this environment belongs                                                                                                                                                                                                                                                                   | No                  | No        | The last created project |
| Configuration files | Files to use as configuration for this environment                                                                                                                                                                                                                                                              | No                  | No        |                          |

Each environment will contain one or more environment files where you manage environment-specific variables.

The edit button opens the environment file and lets you add variable key-value pairs.

![Environment Variables](/files/ulFZ05ugRdLO0sXyS1km)

After creating an environment the user interface will switch to it.

### Switch between projects and environments

To switch between projects the projects list can be used from the main Hop Gui toolbar.

<img src="/files/ack7oizrWPP0UH8ZQCSb" alt="Switch project" width="368">

After switching to a project the environments list will be updated to the environments which belong to this project. All open files will be restored, including their zoom level and other UI settings.

<img src="/files/qJwM3PwC2dKrUxGeeVbC" alt="Switch environment" width="328">

### Edit and delete projects

To edit an existing project click the **Edit the selected project** button.

<img src="/files/6GWMzy8ZGULXTX5KrQSg" alt="Edit the selected project" data-size="line">

Clicking this button will re-open the project dialogue where changes can be made as described in the **Create a project** section above.&#x20;

To delete a project click the **Delete the selected project** button.

<img src="/files/GQBwCOKLe292iKk9cIyb" alt="Delete the selected project" data-size="line">

### Editing and deleting environments

To edit an existing environment click the **Edit the selected environment** button.

<img src="/files/S5Ml7LWZULuUxP9VE76t" alt="Edit the selected environment" data-size="line">

Clicking this button will re-open the project dialogue where changes can be made as described in the **Create an environment** section above.&#x20;

To delete an environment click the **Delete the selected environment** button.

<img src="/files/vSPnlmc7XtqQ6s7Biy0a" alt="Delete the selected environment" data-size="line">


---

# 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.primeur.com/data-shaper-1.21/knowing-the-data-shaper-designer/index-1/projects-environments.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.
