# Simulation Naming and Versioning

Hoverfly Cloud does not currently provide built-in version control, but by following these naming practices, you can manage simulations like code simply and effectively.

Simulations are stored in the Simulation Library from where they can be downloaded and because simulations are just JSON files, you can easily use a versioning tool like git to manage them outside the platform if required.

### Naming Convention

\
Use the following format for your simulation names: `{service-name}--{version}`

Examples:

| Simulation   | Version | Simulation Name            |
| ------------ | ------- | -------------------------- |
| user-service | v1      | user-service--v1           |
| user-service | v1.1    | user-service--v1.1         |
| payment-api  | testA   | payment-api--feature-testA |
| inventory    | dev     | inventory--dev-2025-07-24  |

You can use any of the following in the version part:

* v1, v2, v1.0.1 (semantic versioning)
* dev, staging, prod
* Feature identifiers: feature-X, bugfix-Y
* Dates: 2025-07-24

Recommended Practices

**DO:**

* Use consistent separators like -- to make parsing easier.
* Include version or context in every name.
* Use semantic versioning if you treat simulations like API contracts.
* Delete obsolete simulations to reduce clutter.
* Agree on naming rules up front
* Document your team’s naming rules in a README or internal wiki.

**DON’T:**

* Overwrite simulations without renaming, you’ll lose history.
* Use ambiguous names like temp1, test2, or new-sim.
* Rely on memory write down what each version is for.

### Example workflow: Creating a new version from an existing simulation

Download the Simulation that you want to clone and create a new version of:

<figure><img src="/files/3ahQG9MfgLGvS53irdv8" alt=""><figcaption></figcaption></figure>

Re-Upload the Simulation and give it a new version in the name

<figure><img src="/files/g1RlLxvOLD1ldnDlNfDA" alt=""><figcaption></figcaption></figure>

The simulation will now be cloned with a new version number in the Simulation Library:

<figure><img src="/files/DtvO1bO7tQ6ekNJSONzD" alt=""><figcaption></figcaption></figure>

### Example workflow: Creating a new version from a running simulation

Alternatively, if you have a simulation on a running service that you want to copy into the library you can do so by exporting the simulation to the library with a new name and version:

Click on the name of the running simulation from the dashboard

<figure><img src="/files/fiFrYfZxmxZCMMsGoCJr" alt=""><figcaption></figcaption></figure>

Then click Export simulation as new

<figure><img src="/files/9lncjo1Tbr2nhLL4rDp4" alt=""><figcaption></figcaption></figure>

And provide a new name and a version number

<figure><img src="/files/5IZOVRNHQ6livPwZveg4" alt=""><figcaption></figcaption></figure>

Lastly, once you have created a new version and applied whatever changes you need to, you will want to update your services to use the new version of the simulation:

Click on the service name from the dashboard and pick the version of the service that you wish to run.

<figure><img src="/files/bYP0jG32Cd2LUWXvBbMl" alt=""><figcaption></figcaption></figure>

Then select the new simulation from the drop down and it will immediately be applied to the service.

<figure><img src="/files/Ci5XIArSDsvEbhS67Clo" alt=""><figcaption></figcaption></figure>

Optionally delete or archive the older version if no longer needed.

###


---

# 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.cloud.hoverfly.io/create-simulations/simulation-naming-and-versioning.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.
