# Develop and Sync Scripts

Developing and testing Groovy Scripts is a pain ... if you don't have [ScriptEase](https://boomi.markusschmidt.pro/boomi-scriptease/).

Here is the description how to connect and synchronize your local Scripts with your Boomi Integration repository.&#x20;

<details>

<summary>Pre-Conditions</summary>

* Boomi Console is [connected ](/boomi-console/installation/setup-a-workspace-and-connect/connect-your-project-1.md)to your Boomi Account.
* You can run `bc code pull`.
* You have set-up [ScriptEase](https://boomi.markusschmidt.pro/boomi-scriptease/).&#x20;

</details>

<details>

<summary>Preparation - One-time setup</summary>

#### Create a new Script Component

You cannot create new scripts from the command-line but you can [pull](/boomi-console/commands/code-sql-and-scripts/code-pull.md) existing scripts to your local workspace. For that reason, you **start creating a new plain script in Boomi Integration**.

<figure><img src="/files/2h1SKmyhPItgRl1bGwI2" alt=""><figcaption><p>Plain / blank Script</p></figcaption></figure>

Once done, run a `bc CODE PULL` to update your local Workspace - to **pull the created script**. You will find it then on your local hard-disk.

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

#### Create a symbolic-link

The next step is to **create a symbolic link: `MKLINK Link Target`**

* *Link*: from the *CODE-File* that is synchronized with Boomi Integration\
  (source - *Boomi Console* Workspace)&#x20;
* *Target*:  to the file in your development space \
  (target - *ScriptEase* Workspace).

{% hint style="info" %}
Using symbolic links (with Windows) allows you to have one physical (target) file (the one in your *ScriptEase* development Workspace) and any number of (symbolic)  links to that file. The file-explorer will clearly state: it is a symbolic link. You can safely *remove* the link without deleting the physical file.
{% endhint %}

But before you can create the link,&#x20;

* copy the name of the downloaded CODE-File, and
* delete the CODE-File you just downloaded because it will be replaced by the link.

```bash
MKLINK 
  ...\BC\Code\...\NumberValidation\psg.GRQueryBuilder.a7448fef-...groovy
  ...\Scripts\src\processScript\dataHub\psgGRQuery.groovy
  
symbolic link created for 
  ...\BC\Code\...\NumberValidation\psg.GRQueryBuilder.a7448fef-...groovy
  <<===>> 
  ...\Scripts\src\processScript\dataHub\psgGRQuery.groovy
  
```

#### Push your local file back to Boomi Integration

Push your new code back to Boomi: `bc CODE PUSH /force`

{% hint style="info" %}
Use the `/force` option to force pushing the local file to Boomi, even if the component in Boomi was created later than the local file itself. Once, forced to push, everything goes normal and you can omit the force option.&#x20;
{% endhint %}

</details>


---

# 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://boomi.markusschmidt.pro/boomi-console/command-collection/develop-and-sync-scripts.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.
