sfdx-hardis configuration
Configuration file for sfdx-hardis Salesforce DX plugin
| Type | object |
|---|---|
| File match |
.sfdx-hardis.yml
.sfdx-hardis.yaml
.sfdx-hardis.*.yml
.sfdx-hardis.*.yaml
|
| Schema URL | https://catalog.lintel.tools/schemas/schemastore/sfdx-hardis-configuration/latest.json |
| Source | https://raw.githubusercontent.com/hardisgroupcom/sfdx-hardis/main/config/sfdx-hardis.jsonschema.json |
Validate with Lintel
npx @lintel/lintel check
Configuration file definition for sfdx-hardis Salesforce DX plugin
Properties
Language used for AI-generated prompts. If not set, the default language is English (en). Supported languages are defined in the code but not limited to: English (en), French (fr), Spanish (es), German (de), Italian (it), Portuguese (pt). If multiple languages, separate them with comma (ex: "en,fr,de") and the first one will be used as default language for prompts. (mirrors PROMPTS_LANGUAGE environment variable)
Number of parallel AI prompt calls when generating project documentation. Higher values speed up documentation generation but may hit API rate limits. (mirrors PROMPTS_PARALLEL_CALL_NUMBER environment variable)
Set to true to enable LangChain integration (mirrors the USE_LANGCHAIN_LLM environment variable).
LLM provider identifier used with LangChain (ex: openai, anthropic, google-genai, ollama). Equivalent to LANGCHAIN_LLM_PROVIDER env var.
Model identifier to use with the configured LangChain provider. Latest models: OpenAI (gpt-5.2, gpt-5.2-mini, gpt-5, gpt-4.1, gpt-4o, gpt-4o-mini...), Anthropic (claude-opus-4-6, claude-3-5-sonnet, claude-3-5-haiku, claude-3-haiku...), Google Gemini (gemini-3-pro, gemini-3-pro-deep-think, gemini-3-flash, gemini-2.5-flash-lite...). Equivalent to LANGCHAIN_LLM_MODEL env var.
Sampling temperature override for LangChain requests (maps to LANGCHAIN_LLM_TEMPERATURE env var).
Maximum number of tokens generated per LangChain response (maps to LANGCHAIN_LLM_MAX_TOKENS env var).
Maximum number of retries for failed LangChain requests (maps to LANGCHAIN_LLM_MAX_RETRIES env var).
Timeout in milliseconds applied to LangChain calls (maps to LANGCHAIN_LLM_TIMEOUT env var).
Custom base URL for LangChain HTTP-based providers (for example a local Ollama endpoint). Equivalent to LANGCHAIN_LLM_BASE_URL env var.
Set to true to enable the direct Codex connector (mirrors USE_CODEX_DIRECT env var).
Name of the Codex model to use by default (ex: gpt-5.1-codex). Equivalent to CODEX_MODEL env var.
Reasoning effort used for direct Codex prompts. Equivalent to CODEX_REASONING_EFFORT env var. Note: Not all values are supported by all models
Set to true to enable the direct OpenAI connector (mirrors USE_OPENAI_DIRECT env var).
Name of the OpenAI model to use by default (ex: gpt-4o, gpt-4o-mini). Equivalent to OPENAI_MODEL env var.
Service tier used for direct OpenAI prompts. Equivalent to OPENAI_SERVICE_TIER env var.
Reasoning effort used for direct OpenAI prompts on supported models. Equivalent to OPENAI_REASONING_EFFORT env var.
Set to true to enable Agentforce integration (mirrors USE_AGENTFORCE env var).
Prompt template API name to use by default (ex: SfdxHardisGenericPrompt). Equivalent to GENERIC_AGENTFORCE_PROMPT_TEMPLATE env var.
Custom Agentforce template URL supporting placeholders {{API_VERSION}} and {{GENERIC_AGENTFORCE_PROMPT_TEMPLATE}} (mirrors GENERIC_AGENTFORCE_PROMPT_URL env var).
Types of Salesforce Orgs allowed for config & development. If not set, Sandbox Orgs and Scratch Orgs are allowed by default
When saving/publishing a User Story, sfdx-hardis can automatically clean the sources before submitting a Pull Request. Select the cleanings that will be automatically applied on your project.
When your dev sandbox is using the next SF Platform version, sometimes some permissions on Profiles exist on the next version but not the current one. To avoid issues, you can force the removal of such permissions when Saving/Publishing a User Story Example:
- EnableCommunityAppLauncher
- OmnichannelInventorySync
Sometimes, SF Cli forgets to pull some metadata updates, like Custom Application for example. sfdx-hardis can automatically retrieve named metadatas to avoid issues. Example:
- CustomApplication:MyApp1
- CustomApplication:MyApp2 Works also with full metadata types (ex: CustomApplication)
Minimum percentage of apex code coverage accepted. 75.0% by default, but if you are on a clean project, it's better to define 80.0, 95.0 or 90.0 😎
List of business projects that are managed in the same repository. If defined, when creating a new User Story, it will be prompted to the contributor then used to create the git branch name. If a value contains a comma, the left part will be used for key and the right part as label for the users.
List of git branches that can be used as target for Pull Requests. Contributors will be prompt to select one of these target branch when creating a new User Story A classic example on a project with BUILD & RUN in parallel is to have preprod and integration as available target branches. If defined, makes obsolete the parameter Default Pull Request target branch.
When calling hardis:work:new, you can override the default branch prefixes. Input title, value and description for each of them
[
{
"title": "Feature",
"value": "feature",
"description": "New feature, evolution of an existing feature... If you don't know, just select Feature"
},
{
"title": "Fix",
"value": "fix",
"description": "A bug has been identified and you are the right person to solve it !"
}
]
List of patterns to automatically clean XML files
List of actions to run before a deployment
List of actions to run after a deployment
List of custom menus and commands for the VsCode SFDX-Hardis extension Welcome page and Commands panel
Position of custom commands in the menu (first or last)
Custom colors set by VsCode SFDX Hardis
Overrides Flow Mermaid colors for generated Flow documentation and Flow diffs. Any value not provided keeps the default from the built-in Flow Mermaid renderConfig.
List of additional plugins that will be displayed in VsCode SFDX-Hardis Dependencies panel
List of data packages
When generating a new package version protected with password, use this value as default package installation key
List of Apex Test Classes that will be run during deployments. Requires enableDeploymentApexTestClasses and enableDeltaDeploymentBetweenMajorBranches to be set to true (Not recommended, use only if you have specific needs)
When creating a new sfdx-hardis User Story, this git branch is used as base to create the feature/debug sub branch. The merge request will later have this branch as target.
(DEPRECATED) Deployment plan that will be performed during deployments. Can be based on packageXmlFile for sources or on dataPath for sfdmu data deployments
1 nested properties
During deployment, main package.xml will be split into these packages. Can also contain data packages
Dev Hub alias, usually DevHub_ProjectName
Dev Hub instance URL used for authenticating to DevHub from CI jobs
Dev Hub username, used to authenticate to DevHub from CI jobs
Automatically deploy MkDocs HTML documentation from sfdx-hardis Monitoring Workflow (BackUp step) to Cloudflare, as a static web site
Automatically publish MkDocs documentation from sfdx-hardis Monitoring Workflow (BackUp step) to Atlassian Confluence. Requires CONFLUENCE_SPACE_KEY and authentication variables to be set.
Automatically deploy MkDocs HTML documentation from sfdx-hardis Monitoring Workflow (BackUp step) to Salesforce org, as static resource
Enable delta deployments between major branches (ex: integration -> uat). Not recommended, as real DevOps best practice is to deploy full source: use only if you have specific needs.
Enable the use of custom Apex Test Classes list during deployments. Requires enableDeltaDeploymentBetweenMajorBranches to be set to true. Not recommended, as real DevOps best practice is to run all local tests: use only if you have specific needs.
If true, allows the use of the deprecated 'deploymentPlan' configuration for deployments. It's better to use deployment actions at branch or PR level
You can base your local sfdx-hardis configuration on a remote config file. That allows you to have the same config base for all your projects
Regular expression to identify ticket IDs from your ticketing system. Example: ([R|I][0-9]+-[0-9]+) for EasyVista.
URL pattern to build ticket URLs from ticket IDs. Use {ticketId} as placeholder for the ticket ID. Example: https://tickets.mycompany.com/ticket/{ticketId}
When creating a scratch org, Admin user will be automatically assigned to those permission sets. Example: PS_Admin
Defines the list of packages installed on the project. Use
If your configuration contains an installedPackages property, activating this option allows you to make sfdx-hardis automatically install packages during the Deployments Check workflow, and not to wait after the merge of the Pull Request.
Salesforce instance URL used by CI for deployment or backups
Jira host URL (without https://). Example: mycompany.atlassian.net
Regular expression to identify Jira ticket IDs. Example: (CLOUDITY-[0-9]+)
List of ListView items to set to Mine after a delivery (that does not accept value 'Everything')
[]
List of metadata to retrieve for retrofit job
URL of the XLS file that contains manual actions to perform before or after a deployment
In branch-scoped config file, declares the list of branches that the current one can have as merge target. For example, integration will have mergeTargets [uat]
List of monitoring commands to run with command hardis:org:monitor:all
Override list of Setup Audit Trail elements that won't be considered as suspect by monitoring tools
List of commands to skip during monitoring jobs
List of usernames to exclude while running monitoring commands
List of Connected App names to ignore while running Unsecure Connected Apps monitoring command
Url of the Ms Teams channel Web Hook that can be used to send ALL notifications
Url of the Ms Teams channel Web Hook that can be used to send CRITICAL notifications
Url of the Ms Teams channel Web Hook that can be used to send SEVERE notifications
Url of the Ms Teams channel Web Hook that can be used to send WARNING notifications
Url of the Ms Teams channel Web Hook that can be used to send INFO notifications
If you define a regular expression, it will be used to validate the name of new User Stories. For example, you can enforce a Jira number in the name with regex '^MYPROJECT-[0-9]+ .*'
If you activated User Story name validation via RegEx, define an example value that will be displayed to users. Example: 'MYPROJECT-168 Update account status validation rule'
List of notifications types to skip sending
By default, manifest/package-no-overwrite.xml is used, but you could decide to use a different file for specific major branches. In that case, set the path to a custom package-no-overwrite XML file in a branch-scoped sfdx-hardis configuration file.
Configuration allowing to generate and fetch scratch orgs from scratch org pool
4 nested properties
When pool scratch org is less than this number, it is deleted and another one is created
Maximum number of active scratch orgs in the scratch org pool
Maximum number of scratch orgs to create in one CI job
Remote service allowing to store scratch org pool details
Name of the git branch corresponding to production environment
Identifier for the project (can be the client and project)
Configuration for sandbox refresh. Will be used by command hardis:org:refresh:before-refresh and hardis:org:refresh:after-refresh
3 nested properties
List of connected apps to download before refresh and to upload after refresh
List of Custom Settings to download before refresh and to upload after refresh
List of data workspaces to download before refresh and to upload after refresh
Name of the git branch where retrofit merge requests targets to
When calling hardis:org:retrieve:sources:retrofit, list of files to ignore (discard just after retrieve)
WARNING: Use with caution, only in branch scoped config ! Can be a list of test classes if testLevel=RunSpecifiedTests, or a regex if testLevel=RunRepositoryTests
Apex scripts to call after scratch org initialization. Example: scripts/apex/init-scratch.apex
Defines the lifespan of the scratch org in number of days, from 1 to 30
Instance host name to allow SFDMU to deploy data in a production org
WARNING: Use with caution, only in branch scoped config ! Do not check code coverage for a deployment
These profiles will not be reformatted by command hardis:project:clean:minimizeprofiles
Defines if sfdx-hardis will propose to upgrade local .forceignore file
Defines if sfdx-hardis will propose to upgrade local .gitignore file
Salesforce username used by CI for deployment or backups
Does not make the deployment job fail if apex tests code coverage is failing
WARNING: Use with caution, only in branch scoped config! You can override default test level for deployments for special use cases, for example when you have SeeAllData=true you can use RunRepositoryTests associated with a regex in runtests option
Ticketing provider used on the project
Defines if sfdx-hardis will deploy in delta from minor to major branches. When active, Delta Deployments allow to deploy only the metadatas in the branch / User Story, and not the full sources of the SFDX project. Note: Even if activated, Delta Deployments will be applied only for Pull Requests from minor (features,hotfixes) to major branches (integration,preprod).
Also deploy dependencies of the metadatas identified by delta deployment, to avoid broken deployments due to missing dependencies. Example: removed picklist value in a field, that is still used in a record type.
Define if Smart Deployment Tests will be activated and run Apex test classes only if metadata that can impact them are present in the branch / User Story. Note: Smart Deployment Tests will be applied only for Pull Requests from minor (features,hotfixes) to major branches (integration,preprod).
Ignore profiles or permission sets