# Task templates

## Introduction

Task templates act as a named reference to both a specific project folder and predetermined obfuscation settings.\
This feature helps avoid the redundancy of entering detailed folder paths and obfuscation settings for each obfuscation iteration.&#x20;

Instead, you can create a task template, assign it a unique name, and subsequently refer to this name when running obfuscation tasks.

## Creating a task template

To create a new task template, use the following command:

{% code title="Command Line input" %}

```markdown
cyphor obfuscator task create <TEMPLATE_NAME> <FOLDER_TARGET>
```

{% endcode %}

**Parameters Explained:**

* **`<TEMPLATE_NAME>`:** Assign a unique name to your task template. This name will be used to identify and execute the template in future operations.
* **`<FOLDER_TARGET>`:** Specify the directory or folder path where the obfuscation process will be applied. Ensure the path is correct to avoid any processing errors.

**1. Selecting Dependencies to Merge:**\
Dependency merging links multiple assemblies into a single file. This step enhances the compactness and can sometimes improve the performance of the obfuscation process.

{% code title="Command Line output" %}

```markdown
Select the dependencies you want to merge

> [X] Dependency1.dll
  [ ] Dependency2.dll
  [X] Dependency3.dll
  [ ] Dependency4.dll
  [ ] MainFile.dll

(Move up and down to reveal more files)
(Press <space> to mark a file for merging, <enter> to continue)
```

{% endcode %}

**2. Choosing Files for Obfuscation:**\
In this step, you'll specify which files require obfuscation.

{% code title="Command Line output" %}

```markdown
Select the files you want to obfuscate

> [X] Dependency1.dll
  [ ] Dependency2.dll
  [X] Dependency3.dll
  [ ] Dependency4.dll
  [ ] MainFile.dll

(Move up and down to reveal more files)
(Press <space> to mark a file for obfuscation, <enter> to continue)
```

{% endcode %}

After making your selection, you'll be prompted to determine the obfuscation techniques for each file.

**3. Specifying Obfuscation Techniques:**\
You have two option:

* **Individual Settings:** Manually specify the obfuscation settings for a file.
* **Use an Obfuscation Scheme:** Apply a pre-defined [obfuscation scheme](https://docs.cyphor.net/cli-tool/obfuscator/obfuscation-schemes) to the file. If you choose this option, you'll be asked which scheme to apply.

**4. Storing the Task Template:**\
Once all configurations are set, the task template will be saved to your system. This ensures you can quickly apply the same configurations in future obfuscation jobs.
