# Salesforce DX Metadata Format

Modern DevOps workflows rely on **Salesforce DX (SFDX)** to treat org configuration like code.\
Instead of a monolithic ZIP, your metadata lives in a **source-tracked directory structure** that maps cleanly to Git and CI/CD pipelines. AutoRABIT embraces this model and adds automation on top—but it needs to know which folder(s) contain your DX-formatted source.

***

### Overview <a href="#overview" id="overview"></a>

AutoRABIT identifies an SFDX repository by locating an **`sfdx-project.json`** file in the root:

<figure><img src="/files/1qo8sAHAanWJRDNPd153" alt="Root containing sfdx-project.json"><figcaption></figcaption></figure>

This file includes a **`packageDirectories`** array. Each entry defines a **Package Directory**—the root of your metadata for pushes to and pulls from scratch orgs.

<figure><img src="/files/1JGsGwuBwmZhtdbyeORX" alt="packageDirectories inside sfdx-project.json"><figcaption></figcaption></figure>

If you register an existing DX repo with AutoRABIT, ensure every source folder is listed under **`packageDirectories`**. Click **Refresh** in the UI if the directories don’t appear immediately.

> **Supported layout**\
> AutoRABIT currently supports the **standard** DX structure only:\
> `<package-directory>/main/default/*`\
> (Created automatically by `sfdx force:project:create`.)

<figure><img src="/files/IO8tsaZQKeIo77ZXkQSE" alt="Standard SFDX directory tree"><figcaption></figcaption></figure>

You may declare multiple package directories, but **each** must follow the same `/main/default` sub-tree.

***

### Places to Select the Source SFDX Folder <a href="#places-to-find-the-source-sfdx-folder-path" id="places-to-find-the-source-sfdx-folder-path"></a>

#### EZ-Commit Screen <a href="#ezcommit-screen" id="ezcommit-screen"></a>

Choose **Package Directory** when committing metadata from a Salesforce org to an SFDX branch.

<figure><img src="/files/bvswsJ7Qw8ozN6jl68o8" alt="Package Directory dropdown in EZ-Commit"><figcaption></figcaption></figure>

#### During a CI Job <a href="#during-ci-job" id="during-ci-job"></a>

Select the folder while deploying SFDX source from Version Control to a Salesforce org.

<figure><img src="/files/GtvWA6GuiOFabeVCpn9f" alt="Package Directory dropdown in CI Job"><figcaption></figcaption></figure>

<figure><img src="/files/nFsCrW2wZriD7hQYYFNL" alt="CI Job configuration with Package Directory"><figcaption></figcaption></figure>

#### Branching Baseline Operation <a href="#during-branching-baseline-operation" id="during-branching-baseline-operation"></a>

When committing all metadata from a Salesforce org into an SFDX branch, pick the directory here.

<figure><img src="/files/KQHoL3Ez0cWWw1IPaS4u" alt="Package Directory during Branching Baseline"><figcaption></figcaption></figure>

#### Creating Unlocked/Managed Packages <a href="#while-creating-unlockedmanaged-packages" id="while-creating-unlockedmanaged-packages"></a>

Specify **Package Directory** while defining an unlocked or managed package.

<figure><img src="/files/v5CLwHiU7nrS1jvVcAGY" alt="Package Directory dropdown in package creation"><figcaption></figcaption></figure>

#### New Commit Labels <a href="#while-creating-a-new-commit-label" id="while-creating-a-new-commit-label"></a>

Commit labels for DX repos also require the source folder.

<figure><img src="/files/Yuo3N8bRjw3A4xyl7HSh" alt="Package Directory selection for Commit Label"><figcaption></figcaption></figure>

#### Release Label Creation <a href="#during-release-label-creation" id="during-release-label-creation"></a>

Choose the directory again when generating a release label.

<figure><img src="/files/x6Ena7RMjFNhbkGSAEcb" alt="Package Directory selection for Release Label"><figcaption></figcaption></figure>


---

# 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://knowledgebase.autorabit.com/product-guides/arm/arm-features/salesforce-dx/salesforce-dx-metadata-format.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.
