# local

This configuration section contains settings for the local repository (file system) containing the feature files.

The following example shows the available options within this section.

```javascript
{
  ...
  "local": {
    "projectType": "projectFile",
    "projectFilePath": "MyProject.Specs\\MyProject.Specs.csproj",

    "condition": "@done and not (@ignored or @planned)",

    "sourceFiles": [
      "Folder1/",
      "Folder3/**/alpha*.feature"
    ],
    
    "defaultDocumentLanguage": "en-US"
  },
  ...
}
```

## Settings

| Setting                   | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | Default                                              |
| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- |
| `projectType`             | <p>The type of the source configuration. Available options: <code>projectFile</code>, <code>folder</code>.</p><ul><li><code>projectFile</code> — Loads source file list from a .NET C# project file (<code>.csproj</code>). SpecSync detects the project file by extension in the folder of the configuration file by default, but the project file path can also be specified in the <code>local/projectFilePath</code> setting.</li><li><code>folder</code> — Loads the source files from a particular folder and its sub-folders. The folder can be specified in the <code>local/folder</code> setting.</li></ul> | `projectFile`                                        |
| `projectFilePath`         | The path of the project file. Can contain an absolute or a relative path to the config file folder. It may contain environment variables in `...%MYENV%...` form.                                                                                                                                                                                                                                                                                                                                                                                                                                                    | mandatory for type `projectFile`                     |
| `folder`                  | The folder to search the source files in when `projectType` was set to `folder`. Can contain an absolute or a relative path to the config file folder. It may contain environment variables in `...%MYENV%...` form.                                                                                                                                                                                                                                                                                                                                                                                                 | load source files from the folder of the config file |
| `condition`               | A [local test case condition](/specsync/jira/features/general-features/local-test-case-conditions.md) of scenarios that should be included in synchronization (e.g. `not @ignore` or `@done and not (@ignored or @planned)`). See [Excluding scenarios from synchronization](/specsync/jira/features/common-synchronization-features/excluding-scenarios-from-synchronization.md) for details.                                                                                                                                                                                                                       | all scenarios included                               |
| `sourceFiles`             | An array of [local test case conditions](/specsync/jira/features/general-features/local-test-case-conditions.md) with source file predicates (glob patterns) of files that should be included in synchronization (e.g. `Folder1/` or `Folder3/**/alpha*.feature`). See [Excluding scenarios from synchronization](/specsync/jira/features/common-synchronization-features/excluding-scenarios-from-synchronization.md) for details.                                                                                                                                                                                  | all scenarios included                               |
| `defaultDocumentLanguage` | The default document (feature file) language, e.g. `de-AT`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | get from SpecFlow config or use `en-US`              |

## Example: Synchronize feature files of a SpecFlow project

The SpecFlow project can be detected in the folder of the configuration file usually, in this case **no additional configuration is required**. (SpecSync tries to find a `.csproj` file in the folder.) In case there are multiple .NET project in the folder or the configuration file is not stored in the project root, you should configure SpecSync as below:

```javascript
{
  ...
  "local": {
    "projectType": "projectFile",
    "projectFilePath": "MyProject\\MyProjectFile.csproj"
  },
  ...
}
```

## Example: Synchronize feature files from the `features` folder

For Cucumber-based projects, it is common to store the feature files in a folder called `features`. In order to synchronize the feature files with this setup, the project type has to be configured to `folder` and the required folder path has to be specified in the `folder` setting:

```javascript
{
  ...
  "local": {
    "projectType": "folder",
    "folder": "features"
  },
  ...
}
```

You can invoke the synchronization as usual:

```
path-to-specsync-package/tools/SpecSync4AzureDevOps.exe push
```

## Example: Synchronize specific feature files

The following example synchronizes a specific set of feature files.

Let's imagine a folder structure as the following:

```
features/
features/feature_a.feature
features/group_a/feature_b.feature
features/group_a/feature_c.feature
features/group_a/area_1/feature_d.feature
features/group_b/feature_e.feature
```

In this example SpecSync is configured to synchronize all feature files that are:

* within `features/group_b` (so currently `feature_e.feature`)
* have a name that starts with `feature_d` (so currently `features/group_a/area_1/feature_d.feature`)

```javascript
{
  ...
  "local": {
    "projectType": "folder",
    "sourceFiles": [
      "features/group_b/",
      "features/**/feature_d*.feature"
    ]
  },
  ...
}
```

You can invoke the synchronization as usual:

```
path-to-specsync-package/tools/SpecSync4AzureDevOps.exe push
```

{% content-ref url="/pages/As0iwTwtwwMJKOfZACmA" %}
[Configuration reference](/specsync/jira/reference/configuration.md)
{% endcontent-ref %}


---

# 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.specsolutions.eu/specsync/jira/reference/configuration/configuration-local.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.
