[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$id":"http://github.com/hardisgroupcom/sfdx-hardis.json","$schema":"http://json-schema.org/draft-07/schema","additionalProperties":false,"definitions":{"enum_notification_types":{"enum":["AUDIT_TRAIL","APEX_TESTS","BACKUP","DEPLOYMENT","LEGACY_API","LINT_ACCESS","UNUSED_METADATAS","METADATA_STATUS","MISSING_ATTRIBUTES","UNUSED_LICENSES","RELEASE_UPDATES"],"type":"string"},"enum_monitoring_commands":{"enum":["AUDIT_TRAIL","LEGACY_API","LINT_ACCESS","UNUSED_METADATAS","METADATA_STATUS","MISSING_ATTRIBUTES","UNUSED_LICENSES","RELEASE_UPDATES"],"type":"string"}},"description":"Configuration file definition for sfdx-hardis Salesforce DX plugin","properties":{"allowedOrgTypes":{"$id":"#/properties/allowedOrgTypes","description":"Types of orgs allowed for config & development. If not set, sandbox and scratch are allowed by default","examples":[["sandbox"]],"items":{"type":"string","enum":["sandbox","scratch"]},"title":"Allowed org types","type":"array"},"autoCleanTypes":{"$id":"#/properties/autoCleanTypes","description":"When saving a sfdx-hardis task, the list of cleanings will be automatically applied to sfdx sources","examples":[["dashboards","datadotcom","destructivechanges"]],"items":{"type":"string","enum":["caseentitlement","checkPermissions","dashboards","datadotcom","destructivechanges","flowPositions","localfields","listViewsMine","minimizeProfiles","productrequest","sensitiveMetadatas","systemDebug","v60"]},"title":"Auto-Cleaning types","type":"array"},"autoRemoveUserPermissions":{"$id":"#/properties/autoRemoveUserPermissions","description":"When saving a sfdx-hardis task, these permissions will be removed from profiles","examples":[["EnableCommunityAppLauncher","FieldServiceAccess","OmnichannelInventorySync"]],"items":{"type":"string"},"title":"Auto-Remove User Permissions on profiles","type":"array"},"autoRetrieveWhenPull":{"$id":"#/properties/autoRetrieveWhenPull","description":"When calling hardis:scratch:pull, if you define metadatas (named or not), they will also be retrieved using force:source:retrieve","examples":[["CustomApplication"],["CustomApplication:MyApp1","CustomApplication:MyApp2"]],"items":{"type":"string"},"title":"Auto-Retrieve when pull","type":"array"},"apexTestsMinCoverageOrgWide":{"$id":"#/properties/apexTestsMinCoverageOrgWide","default":75.0,"description":"Minimum percentage of apex code coverage accepted","examples":[80.0,95.0],"title":"Minimum apex test coverage %","type":"number"},"availableProjects":{"$id":"#/properties/availableProjects","description":"List of business projects that are managed in the same repository. Will be used to build git branch name when using hardis:work:new","examples":[["sales_cloud","service_cloud","community"]],"items":{"type":"string"},"title":"Available projects","type":"array"},"availableTargetBranches":{"$id":"#/properties/availableTargetBranches","description":"List of git branches that can be used as target for merge requests","examples":[["develop","develop_next"]],"items":{"type":"string"},"title":"Available target branches","type":"array"},"branchPrefixChoices":{"$id":"#/properties/branchPrefixChoices","description":"When calling hardis:work:new, you can override the default branch prefixes. Input title, value and description for each of them","default":[{"title":"Feature","value":"feat","description":"New feature, evolution of an existing feature... If you don't know, just select Feature"},{"title":"Debug","value":"fix","description":"A bug has been identified and you are the right person to solve it !"}],"examples":[[{"title":"Feature","value":"feat","description":"New feature, evolution of an existing feature... If you don't know, just select Feature"},{"title":"Debug","value":"fix","description":"A bug has been identified and you are the right person to solve it !"}]],"title":"New branches prefixes choices","type":"array"},"cleanXmlPatterns":{"$id":"#/properties/cleanXmlPatterns","examples":[[{"globPattern":"/**/*.flexipage-meta.xml","xpaths":["//ns:flexiPageRegions//ns:name[contains(text(),'dashboardName')]"]},{"globPattern":"/**/*.layout-meta.xml","xpaths":["//ns:relatedLists//ns:relatedList[contains(text(),'RelatedSolutionList')]"]}]],"description":"List of patterns to automatically clean XML files","items":{"$id":"#/properties/cleanXmlPatterns/items","type":"object","additionalProperties":false,"description":"Clean XML pattern and xpaths","properties":{"globPattern":{"$id":"#/properties/cleanXmlPatterns/items/properties/globPattern","description":"Glob pattern to identify XML files to clean","examples":["/**/*.flexipage-meta.xml"],"title":"Glob pattern","type":"string"},"xpaths":{"$id":"#/properties/cleanXmlPatterns/items/properties/xpaths","description":"XPaths to identify elements to remove","examples":[["//ns:flexiPageRegions//ns:name[contains(text(),'dashboardName')]"]],"title":"XPath list","items":{"type":"string"},"type":"array"}},"required":["globPattern","xpaths"]},"title":"Clean XML Patterns","type":"array"},"commandsPreDeploy":{"$id":"#/properties/commandsPreDeploy","description":"List of commands to run before a deployment","examples":[[{"id":"knowledgeUnassign","label":"Remove KnowledgeUser right to the user who has it","command":"sf data update record --sobject User --where \"UserPermissionsKnowledgeUser='true'\" --values \"UserPermissionsKnowledgeUser='false'\" --json"},{"id":"knowledgeAssign","label":"Assign Knowledge user to desired username","command":"sf data update record --sobject User --where \"Username='deployment-user@myclient.com'\" --values \"UserPermissionsKnowledgeUser='true'\" --json"}]],"items":{"$id":"#/properties/commandsPreDeploy/items","type":"object","additionalProperties":false,"description":"Command definition","properties":{"id":{"$id":"#/properties/commandsPreDeploy/items/properties/id","description":"Identifier of the command (can be any string)","title":"Id","type":"string"},"label":{"$id":"#/properties/commandsPreDeploy/items/properties/label","description":"Label of the command (what does it do ?)","title":"Label","type":"string"},"command":{"$id":"#/properties/commandsPreDeploy/items/properties/command","description":"Command line to run","title":"Command","type":"string"}},"title":"Command"},"required":["id","label","command"],"title":"Commands Pre-Deployment","type":"array"},"commandsPostDeploy":{"$id":"#/properties/commandsPostDeploy","description":"List of commands to run after a deployment","examples":[[{"id":"knowledgeUnassign","label":"Remove KnowledgeUser right to the user who has it","command":"sf data update record --sobject User --where \"UserPermissionsKnowledgeUser='true'\" --values \"UserPermissionsKnowledgeUser='false'\" --json"},{"id":"knowledgeAssign","label":"Assign Knowledge user to desired username","command":"sf data update record --sobject User --where \"Username='admin-user@myclient.com'\" --values \"UserPermissionsKnowledgeUser='true'\" --json"}]],"items":{"$id":"#/properties/commandsPostDeploy/items","type":"object","additionalProperties":false,"description":"Command definition","properties":{"id":{"$id":"#/properties/commandsPostDeploy/items/properties/id","description":"Identifier of the command (can be any string)","title":"Id","type":"string"},"label":{"$id":"#/properties/commandsPostDeploy/items/properties/label","description":"Label of the command (what does it do ?)","title":"Label","type":"string"},"command":{"$id":"#/properties/commandsPostDeploy/items/properties/command","description":"Command line to run","title":"Command","type":"string"},"context":{"$id":"#/properties/commandsPostDeploy/items/properties/context","description":"Context when the command must be run","title":"Context","default":"all","type":"string","enum":["all","check-deployment-only","process-deployment-only"],"examples":["all","check-deployment-only","process-deployment-only"]},"skipIfError":{"$id":"#/properties/commandsPostDeploy/items/properties/skipIfError","description":"Do not run the command if there is a deployment error","title":"Skip if error","default":"false","type":"boolean"}},"required":["id","label","command"],"title":"Command"},"title":"Commands Post-Deployment","type":"array"},"customCommands":{"$id":"#/properties/customCommands","description":"List of custom commands for VsCode SFDX-Hardis extension","examples":[[{"id":"custom-menu","label":"Custom commands","commands":[{"id":"generate-manifest-xml","label":"Generate manifest","icon":"file.svg","tooltip":"Generates a manifest package.xml using local sfdx source files","command":"sf project generate manifest --source-path force-app --name myNewManifest"},{"id":"list-all-orgs","label":"List all orgs","icon":"salesforce.svg","tooltip":"List all orgs that has already been authenticated using sfdx","command":"sf org list --all"}]},{"id":"custom-menu-2","label":"Another custom menu","commands":[{"id":"echo","label":"Echo something","icon":"user.svg","tooltip":"Useless commands just to show that we can use not sfdx commands too","command":"echo \"Something\""}]}]],"items":{"$id":"#/properties/customCommands/items","type":"object","additionalProperties":false,"description":"Custom command definition","properties":{"id":{"$id":"#/properties/customCommands/items/properties/id","description":"Identifier of the menu (can be any string)","title":"Id","type":"string"},"label":{"$id":"#/properties/customCommands/items/properties/label","description":"Label of the menu","title":"Label","type":"string"},"commands":{"$id":"#/properties/customCommands/items/properties/commands","description":"List of commands of the menu","items":{"$id":"#/properties/customCommands/items/properties/commands/items/properties","type":"object","additionalProperties":false,"description":"Custom command definition","properties":{"id":{"$id":"#/properties/customCommands/items/properties/commands/items/properties/id","description":"Identifier of the command (can be any string)","title":"Id","type":"string"},"label":{"$id":"#/properties/customCommands/items/properties/commands/items/properties/label","description":"Label of the command that will appear in menu","title":"Label","type":"string"},"icon":{"$id":"#/properties/customCommands/items/properties/commands/items/properties/icon","description":"Icon (can be any of svg icons of this list: https://github.com/hardisgroupcom/vscode-sfdx-hardis/tree/master/resources","title":"Icon","type":"string"},"tooltip":{"$id":"#/properties/customCommands/items/properties/commands/items/properties/tooltip","description":"Text that will appear when user will hover the command","title":"Tooltip","type":"string"},"command":{"$id":"#/properties/customCommands/items/properties/commands/items/properties/command","description":"Command line to run when clicking on the menu","title":"Command","type":"string"},"helpUrl":{"$id":"#/properties/customCommands/items/properties/commands/items/properties/helpUrl","description":"URL for help page of the command","title":"Help url","type":"string"}},"required":["id","label","command"]},"title":"Label","type":"array"}},"required":["id","label"]},"title":"Custom commands","type":"array"},"customCommandsPosition":{"$id":"#/properties/customCommandsPosition","description":"Position of custom commands in the menu (first or last)","default":"first","enum":["first","last"],"examples":["first","last"],"title":"Custom commands position","type":"string"},"customOrgColors":{"$id":"#/properties/customOrgColors","additionalProperties":true,"description":"Custom colors set by VsCode SFDX Hardis","title":"Custom Org Colors","type":"object"},"customPlugins":{"$id":"#/properties/customPlugins","description":"List of additional plugins that will be displayed in VsCode SFDX-Hardis Dependencies panel","examples":[[{"name":"mo-dx-plugin","helpUrl":"https://github.com/msrivastav13/mo-dx-plugin"},{"name":"shane-sfdx-plugins","helpUrl":"https://github.com/mshanemc/shane-sfdx-plugins"}]],"items":{"$id":"#/properties/customPlugins/items","type":"object","additionalProperties":false,"description":"Plugin definition","properties":{"name":{"$Id":"#/properties/customPlugins/items/properties/name","description":"Name of the plugin npm package","examples":["mo-dx-plugin","shane-sfdx-plugins"],"title":"Name","type":"string"},"helpUrl":{"$Id":"#/properties/customPlugins/items/properties/helpUrl","description":"Url of plugin documentation","examples":["https://github.com/msrivastav13/mo-dx-plugin","https://github.com/mshanemc/shane-sfdx-plugins"],"title":"Name","type":"string"}},"title":"Plugin"},"title":"Custom plugins","type":"array"},"dataPackages":{"$id":"#/properties/dataPackages","description":"List of data packages","items":{"$id":"#/properties/dataPackages/items","type":"object","additionalProperties":false,"description":"Data package","properties":{"dataPath":{"$id":"#/properties/dataPackages/items/properties/dataPath","description":"Path to SFDMU project","title":"SFDMU Data project path","type":"string"},"importInScratchOrgs":{"$id":"#/properties/dataPackages/items/properties/importInScratchOrgs","description":"Path to SFDMU project","title":"SFDMU Data project path","type":"boolean"}},"required":["dataPath","importInScratchOrgs"]},"title":"Data packages","type":"array"},"defaultPackageInstallationKey":{"$id":"#/properties/defaultPackageInstallationKey","description":"When generating a new package version protected with password, use this value as default package installation key","examples":["hardis","myPassword","dFGGF43656YfdFDG{{{dhgfh:::;FSEDSFd78"],"title":"Defaut package installation key","type":"string"},"developmentBranch":{"$id":"#/properties/developmentBranch","default":"developpement","description":"When creating a new sfdx-hardis task, this git branch is used as base to create the feature/debug sub branch. The merge request will later have this branch as target.","examples":["developpement","dev_lot2","hotfixes"],"title":"Default pull/merge request target org","type":"string"},"deploymentPlan":{"$id":"#/properties/deploymentPlan","description":"Deployment plan that will be performed during deployments. Can be based on packageXmlFile for sources or on dataPath for sfdmu data deployments","examples":[{"packages":[{"label":"Import EmailTemplate records","dataPath":"scripts/data/EmailTemplate","order":-21},{"label":"Deploy EmailTemplate","packageXmlFile":"manifest/splits/packageXmlEmails.xml","order":-20},{"label":"Deploy Flow-Workflow","packageXmlFile":"manifest/splits/packageXmlFlowWorkflow.xml","order":6}]}],"properties":{"packages":{"$id":"#/properties/deploymentPlan/properties/packages","description":"During deployment, main package.xml will be split into these packages. Can also contain data packages","examples":[[{"label":"Import EmailTemplate records","dataPath":"scripts/data/EmailTemplate","order":-21},{"label":"Deploy EmailTemplate","packageXmlFile":"manifest/splits/packageXmlEmails.xml","order":-20}]],"items":{"$id":"#/properties/install/properties/packages/items","type":"object","additionalProperties":false,"description":"Source or data package to deploy","properties":{"dataPath":{"$id":"#/properties/install/properties/packages/items/dataPath","examples":["scripts/data/EmailTemplate"],"title":"Path to SFDMU data project to deploy","type":"string"},"label":{"$id":"#/properties/install/properties/packages/items/label","examples":["Deploy EmailTemplate","Import EmailTemplate records"],"title":"Source or data package label","type":"string"},"order":{"$id":"#/properties/install/properties/packages/items/order","examples":[-20,13,50],"title":"Execution order in deployment plan","type":"number"},"packageXmlFile":{"$id":"#/properties/install/properties/packages/items/packageXmlFile","examples":["manifest/splits/packageXmlEmails.xml"],"title":"Path to package.xml file to use for deployment","type":"string"},"waitAfter":{"$id":"#/properties/install/properties/packages/items/waitAfter","description":"Delay to wait before installing the next package","examples":[10,20],"title":"Wait after install (seconds)","type":"number"}}},"required":["label","order"],"title":"List of packages to deploy","type":"array"}},"title":"Deployment plan","type":"object"},"devHubAlias":{"$id":"#/properties/devHubAlias","default":"","description":"Dev Hub alias, usually DevHub_ProjectName","examples":["DevHub_MyClientMyProject","DevHub_GoogleGmail","DevHub_AppleIWatch"],"title":"Dev Hub org alias","type":"string"},"devHubUsername":{"$id":"#/properties/devHubUsername","default":"","description":"Dev Hub username, used to authenticate to DevHub from CI jobs","examples":["cicd-user@myclient.com","scratch-user@google.fr","scratch-user@apple.fr"],"title":"Dev Hub Username","type":"string"},"docDeployToCloudflare":{"$id":"#/properties/docDeployToCloudflare","default":false,"description":"Automatically deploy MkDocs HTML documentation from CI/CD Workflows to Cloudflare","examples":[true],"title":"Doc: Deploy to Cloudflare","type":"boolean"},"docDeployToOrg":{"$id":"#/properties/docDeployToOrg","default":false,"description":"Automatically deploy MkDocs HTML documentation from CI/CD Workflows to Salesforce org as static resource","examples":[true],"title":"Doc: Deploy to Salesforce Org","type":"boolean"},"extends":{"$id":"#/properties/extends","description":"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","examples":["https://raw.githubusercontent.com/worldcompany/shared-config/main/.sfdx-hardis.yml"],"title":"Extends remote configuration URL","type":"string"},"initPermissionSets":{"$id":"#/properties/initPermissionSets","description":"When creating a scratch org, Admin user will be automatically assigned to those permission sets","examples":[["MyPermissionSet","MyPermissionSetGroup"]],"items":{"$id":"#/properties/initPermissionSets/items","type":["object","string"],"additionalProperties":false,"description":"Permission Set or Permission Set Group","properties":{"name":{"$Id":"#/properties/initPermissionSets/items/properties/name","description":"Permission Set or Permission Set Group name","examples":[["MyPermissionSet","MyPermissionSetGroup","MyPermissionSetGroup2"]],"title":"Name","type":"string"}}},"title":"Initial Permission Sets","type":"array"},"installedPackages":{"$id":"#/properties/installedPackages","description":"Defines the list of packages installed on the project. Use ","examples":[[{"Id":"0A30N000000ALWrSAO","SubscriberPackageId":"033b0000000Pf2AAAS","SubscriberPackageName":"Declarative Lookup Rollup Summaries Tool","SubscriberPackageNamespace":"dlrs","SubscriberPackageVersionId":"04t0N000000IyYrQAK","SubscriberPackageVersionName":"2.11","SubscriberPackageVersionNumber":"2.11.0.1","installOnScratchOrgs":false,"installDuringDeployments":true,"installationkey":"MyInstallationKey"},{"Id":"0A35r000000GveVCAS","SubscriberPackageId":"0330o000000B3vIAAS","SubscriberPackageName":"Files Attachment Notes","SubscriberPackageNamespace":"fan_astrea","SubscriberPackageVersionId":"04t0o000003nRWAAA2","SubscriberPackageVersionName":"Summer2021","SubscriberPackageVersionNumber":"1.22.0.2","installOnScratchOrgs":true,"installDuringDeployments":true}]],"items":{"$id":"#/properties/installedPackages/items","type":"object","additionalProperties":false,"description":"Salesforce package info (managed, unlocked or unmanaged)","properties":{"Id":{"$Id":"#/properties/install/properties/packages/items/Id","examples":["0A35r000000GveVCAS"],"title":"(unused) PackageId","type":"string"},"SubscriberPackageId":{"$Id":"#/properties/install/properties/packages/items/SubscriberPackageId","examples":["033b0000000Pf2AAAS"],"title":"Subscriber Package Id","type":"string"},"SubscriberPackageName":{"$Id":"#/properties/install/properties/packages/items/SubscriberPackageName","examples":["Files Attachment Notes"],"title":"Subscriber Package Name","type":"string"},"SubscriberPackageNamespace":{"$Id":"#/properties/install/properties/packages/items/SubscriberPackageNamespace","examples":["fan_astrea"],"title":"Subscriber Package NameSpace","type":["string","null"]},"SubscriberPackageVersionId":{"$Id":"#/properties/install/properties/packages/items/SubscriberPackageVersionId","examples":["04t0o000003nRWAAA2"],"title":"Subscriber Version Id (IMPORTANT)","type":"string"},"SubscriberPackageVersionName":{"$Id":"#/properties/install/properties/packages/items/SubscriberPackageVersionName","examples":["Summer2021"],"title":"Subscriber Version Name","type":"string"},"SubscriberPackageVersionNumber":{"$Id":"#/properties/install/properties/packages/items/SubscriberPackageVersionNumber","examples":["1.22.0.2"],"title":"Subscriber Version Number","type":"string"},"installDuringDeployments":{"$Id":"#/properties/install/properties/packages/items/installDuringDeployments","default":false,"description":"If true, during deployments this package will be installed in target org if not installed yet","examples":[true,false],"title":"Install during deployments","type":"boolean"},"installOnScratchOrgs":{"$Id":"#/properties/install/properties/packages/items/installOnScratchOrgs","default":false,"description":"If true, this package will be installed when creating a new scratch org with sfdx-hardis","examples":[true,false],"title":"Install on scratch orgs","type":"boolean"},"installationkey":{"$Id":"#/properties/install/properties/packages/items/installationkey","examples":["MyInstallationKey","4FzkMzUSwFfP#@"],"description":"Installation key for key-protected package","title":"Package installation key","type":"string"}},"required":["SubscriberPackageVersionId"],"title":"Salesforce package"},"title":"Installed Packages","type":"array"},"installPackagesDuringCheckDeploy":{"$id":"#/properties/installPackagesDuringCheckDeploy","default":false,"description":"When calling deployment check command, installs any package referred within installedPackages property","examples":[true],"title":"Install packages during deployment checks","type":"boolean"},"instanceUrl":{"$id":"#/properties/instanceUrl","default":"","description":"Salesforce instance URL used by CI for deployment or backups","examples":["https://myclient.force.com","https://google.force.com","https://apple.force.com"],"title":"Instance URL","type":"string"},"listViewsToSetToMine":{"$id":"#/properties/listViewsToSetToMine","default":[],"description":"List of ListView items to set to Mine after a delivery (that does not accept value 'Everything')","examples":[],"items":{"type":"string"},"title":"List views to set to Mine","type":"array"},"sourcesToRetrofit":{"$id":"#/properties/sourcesToRetrofit","description":"List of metadata to retrieve for retrofit job","examples":[["CustomField","Layout","PermissionSet"]],"items":{"type":"string"},"title":"Metadata to retrofit","type":"array"},"mergeTargets":{"$id":"#/properties/mergeTargets","description":"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]","examples":[["preprod"],["integration"]],"items":{"type":"string"},"title":"Merge target branches","type":"array"},"monitoringCommands":{"$id":"#/properties/monitoringCommands","description":"List of monitoring commands to run with command hardis:org:monitor:all","examples":[[{"title":"Detect calls to deprecated API versions","key":"LEGACYAPI","command":"sf hardis:org:diagnose:legacyapi","frequency":"weekly"},{"title":"My custom command","key":"MY_CUSTOM_KEY","command":"sf my:custom:command","frequency":"daily"}]],"items":{"$id":"#/properties/monitoringCommands/items","type":"object","additionalProperties":false,"description":"Monitoring command","properties":{"key":{"$id":"#/properties/monitoringCommands/items/properties/key","description":"Unique identifier of the monitoring command. Can be used with monitoringDisable","title":"Key","type":"string"},"title":{"$id":"#/properties/monitoringCommands/items/properties/title","description":"Title of the command (will appear in logs)","title":"Title","type":"string"},"command":{"$id":"#/properties/monitoringCommands/items/properties/command","description":"Bash command to run","title":"Command","type":"string"},"frequency":{"$id":"#/properties/monitoringCommands/items/properties/frequency","description":"daily or weekly","title":"Frequency","type":"string"}},"required":["title","command"]},"title":"Monitoring commands","type":"array"},"monitoringAllowedSectionsActions":{"$id":"#/properties/monitoringAllowedSectionsActions","description":"Override list of Setup Audit Trail elements that won't be considered as suspect by monitoring tools","additionalProperties":true,"title":"Monitoring Allowed Sections Actions","type":"object"},"monitoringDisable":{"$id":"#/properties/monitoringDisable","description":"List of commands to skip during monitoring jobs","examples":[["METADATA_STATUS","UNUSED_METADATAS"]],"items":{"$ref":"#/definitions/enum_monitoring_commands"},"title":"Disabled monitoring commands","type":"array"},"monitoringExcludeUsernames":{"$id":"#/properties/monitoringExcludeUsernames","description":"List of usernames to exclude while running monitoring commands","examples":[["deploymentuser@cloudity.com","mc-cloud-user@cloudity.com"]],"items":{"type":"string"},"title":"Monitoring usernames to exclude","type":"array"},"msTeamsWebhookUrl":{"$id":"#/properties/msTeamsWebhookUrl","default":"","description":"Url of the Ms Teams channel Web Hook that can be used to send ALL notifications","examples":["https://my.msteams.webhook.url"],"title":"MsTeams WebHook Url (ALL)","type":"string"},"msTeamsWebhookUrlCritical":{"$id":"#/properties/msTeamsWebhookUrlCritical","default":"","description":"Url of the Ms Teams channel Web Hook that can be used to send CRITICAL notifications","examples":["https://my.msteams.webhook.url"],"title":"MsTeams WebHook Url (CRITICAL)","type":"string"},"msTeamsWebhookUrlSevere":{"$id":"#/properties/msTeamsWebhookUrlSevere","default":"","description":"Url of the Ms Teams channel Web Hook that can be used to send SEVERE notifications","examples":["https://my.msteams.webhook.url"],"title":"MsTeams WebHook Url (SEVERE)","type":"string"},"msTeamsWebhookUrlWarning":{"$id":"#/properties/msTeamsWebhookUrlWarning","default":"","description":"Url of the Ms Teams channel Web Hook that can be used to send WARNING notifications","examples":["https://my.msteams.webhook.url"],"title":"MsTeams WebHook Url (WARNING)","type":"string"},"msTeamsWebhookUrlInfo":{"$id":"#/properties/msTeamsWebhookUrlInfo","default":"","description":"Url of the Ms Teams channel Web Hook that can be used to send INFO notifications","examples":["https://my.msteams.webhook.url"],"title":"MsTeams WebHook Url (INFO)","type":"string"},"newTaskNameRegex":{"$id":"#/properties/newTaskNameRegex","default":"","description":"Regex to validate new task names","examples":["^[A-Z]+-[0-9]+ .*","^CLOUDITY-[0-9]+ .*","^MYPROJECT-[0-9]+ .*"],"title":"New task name regex","type":"string"},"newTaskNameRegexExample":{"$id":"#/properties/newTaskNameRegexExample","default":"","description":"Example of value that will match newTaskNameRegex","examples":["MYPROJECT-123 Update account status validation rule"],"title":"New task name example","type":"string"},"notificationsDisable":{"$id":"#/properties/notificationsDisable","description":"List of notifications types to skip sending","examples":[["METADATA_STATUS","UNUSED_METADATAS"]],"items":{"$ref":"#/definitions/enum_notification_types"},"title":"Disabled notification types","type":"array"},"packageNoOverwritePath":{"$id":"#/properties/packageNoOverwritePath","default":"","description":"Path to a custom package-no-overwrite XML file (used in smartDeploy command)","examples":["manifest/package-no-overwrite-main.xml","manifest/package-no-overwrite-custom.xml"],"title":"Package-No-Overwrite path","type":"string"},"poolConfig":{"$id":"#/properties/poolConfig","description":"Configuration allowing to generate and fetch scratch orgs from scratch org pool","examples":[{"maxScratchOrgsNumber":10,"storageService":"kvdb.io"}],"title":"Scratch org pool configuration","type":"object","properties":{"minScratchOrgRemainingDays":{"$id":"#/properties/poolConfig/minScratchOrgRemainingDays","description":"When pool scratch org is less than this number, it is deleted and another one is created","title":"Min scratch org remaining days","default":25,"type":"number"},"maxScratchOrgsNumber":{"$id":"#/properties/poolConfig/maxScratchOrgsNumber","description":"Maximum number of active scratch orgs in the scratch org pool","title":"Maximum number of scratch orgs","type":"number"},"maxScratchOrgsNumberToCreateOnce":{"$id":"#/properties/poolConfig/maxScratchOrgsNumberToCreateOnce","description":"Maximum number of scratch orgs to create in one CI job","title":"Maximum number of scratch orgs to create once","type":"number"},"storageService":{"$id":"#/properties/poolConfig/storageService","description":"Remote service allowing to store scratch org pool details","title":"Storage service for scratch org pool","type":"string"}}},"productionBranch":{"$id":"#/properties/productionBranch","default":"","description":"Name of the git branch corresponding to production environment","examples":["master","main","production"],"title":"Production branch name","type":"string"},"projectName":{"$id":"#/properties/projectName","default":"","description":"Identifier for the project (can be the client and project)","examples":["MyClientMyProject","GoogleGmail","AppleIWatch"],"title":"Project Name","type":"string"},"retrofitBranch":{"$id":"#/properties/retrofitBranch","default":"","description":"Name of the git branch where retrofit merge requests targets to","examples":["preprod","dev","maintenance"],"title":"Retrofit branch name","type":"string"},"retrofitIgnoredFiles":{"$id":"#/properties/retrofitIgnoredFiles","description":"When calling hardis:org:retrieve:sources:retrofit, list of files to ignore (discard just after retrieve)","examples":[["force-app/main/default/applications/MyAppIWantToManageInProduction.app-meta.xml","force-app/main/default/flexipages/MyFlexipageWithDashboards.flexipage-meta.xml"]],"items":{"type":"string"},"title":"Retrofit ignored files","type":"array"},"runtests":{"$id":"#/properties/runtests","default":"","description":"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","examples":["MyTestClass1,MyTestClass2","^(?!FLI|fli|BatchableCodeSolvaTest|BatchableRemoveCodeSolvaTest|HelperNovaxelApiTest).*"],"title":"Selected tests to run (list or regex)","type":"string"},"scratchOrgInitApexScripts":{"$id":"#/properties/scratchOrgInitApexScripts","description":"Apex scripts to call after scratch org initialization","examples":[["scripts/apex/init-scratch.apex","scripts/apex/init-custom-settings.apex"]],"items":{"type":"string"},"title":"Scratch org init apex scripts","type":"array"},"scratchOrgDuration":{"$id":"#/properties/scratchOrgDuration","default":30,"description":"Defines the lifespan of the scratch org in number of days, from 1 to 30","title":"Duration of Scratch Org","type":"number","minimum":1,"maximum":30},"sfdmuCanModify":{"$id":"#/properties/sfdmuCanModify","default":"","description":"Instance host name to allow SFDMU to deploy data in a production org","examples":["myproject.force.com"],"title":"SFDMU can modify","type":"string"},"skipCodeCoverage":{"$id":"#/properties/skipCodeCoverage","default":false,"description":"WARNING: Use with caution, only in branch scoped config ! Do not check code coverage for a deployment","title":"Skip code coverage check","type":"boolean"},"skipMinimizeProfiles":{"$id":"#/properties/skipMinimizeProfiles","description":"These profiles will not be reformatted by command hardis:project:clean:minimizeprofiles","examples":[["MyClient Customer Community Login User","MyClientPortail Profile"]],"items":{"type":"string"},"title":"Skip Minimize Profiles","type":"array"},"skipUpdateForceIgnore":{"$id":"#/properties/skipUpdateForceIgnore","default":false,"description":"Defines if sfdx-hardis will propose to upgrade local .forceignore file","title":"Skip update .forceignore file","type":"boolean"},"skipUpdateGitIgnore":{"$id":"#/properties/skipUpdateGitIgnore","default":false,"description":"Defines if sfdx-hardis will propose to upgrade local .gitignore file","title":"Skip update .gitignore file","type":"boolean"},"sharedDevSandboxes":{"$id":"#/properties/sharedDevSandboxes","default":false,"description":"Define to true if contributors can share dev sandboxes","title":"Shared Dev Sandboxes","type":"boolean"},"targetUsername":{"$id":"#/properties/targetUsername","default":"","description":"Salesforce username used by CI for deployment or backups","examples":["deployments@myclient.com","deployments@google.fr","deployments@apple.com"],"title":"Target Username","type":"string"},"testCoverageNotBlocking":{"$id":"#/properties/testCoverageNotBlocking","default":false,"description":"Does not make the deployment job fail if apex tests code coverage is failing","title":"Test Coverage not blocking","type":"boolean"},"testLevel":{"$id":"#/properties/testLevel","description":"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","default":"RunLocalTests","enum":["NoTestRun","RunSpecifiedTests","RunRepositoryTests","RunRepositoryTestsExceptSeeAllData","RunLocalTests","RunAllTestsInOrg"],"examples":["RunRepositoryTests","RunSpecifiedTests"],"title":"Test level for deployments","type":"string"},"useDeltaDeployment":{"$id":"#/properties/useDeltaDeployment","default":false,"description":"Defines if sfdx-hardis will deploy in delta from minor to major branches","title":"Use Delta Deployment","type":"boolean"},"useSmartDeploymentTests":{"$id":"#/properties/useSmartDeploymentTests","default":false,"description":"Define if smart deployment tests will be activated and run test classes only if necessary (see more in hardis:project:deploy:smart documentation","title":"Use Smart Deployment Tests","type":"boolean"},"linterIgnoreRightMetadataFile":{"$id":"#/properties/linterIgnoreRightMetadataFile","default":"","description":"Ignore profiles or permission sets","examples":["Profile","Profile:ProfileA","PermissionSet","PermissionSet:PermissionSetA, Profile:ProfileA"],"title":"Linter ignore permission set or/and profile","type":"string"}},"title":"sfdx-hardis configuration","type":"object"}
</schema>

[User] Provide a JSON object that satisfies the schema "sfdx-hardis configuration". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.

Configuration file definition for sfdx-hardis Salesforce DX plugin

Types of orgs allowed for config & development. If not set, sandbox and scratch are allowed by default

Allowed org types

When saving a sfdx-hardis task, the list of cleanings will be automatically applied to sfdx sources

caseentitlement checkPermissions dashboards datadotcom destructivechanges flowPositions localfields listViewsMine minimizeProfiles productrequest sensitiveMetadatas systemDebug v60

Auto-Cleaning types

When saving a sfdx-hardis task, these permissions will be removed from profiles

Auto-Remove User Permissions on profiles

When calling hardis:scratch:pull, if you define metadatas (named or not), they will also be retrieved using force:source:retrieve

Auto-Retrieve when pull

Minimum percentage of apex code coverage accepted

Minimum apex test coverage %

List of business projects that are managed in the same repository. Will be used to build git branch name when using hardis:work:new

Available projects

List of git branches that can be used as target for merge requests

Available target branches

When calling hardis:work:new, you can override the default branch prefixes. Input title, value and description for each of them

Feature

New feature, evolution of an existing feature... If you don't know, just select Feature

Debug

A bug has been identified and you are the right person to solve it !

Feature

Debug

New branches prefixes choices

List of patterns to automatically clean XML files

Clean XML pattern and xpaths

Glob pattern to identify XML files to clean

Glob pattern

XPaths to identify elements to remove

XPath list

Clean XML Patterns

List of commands to run before a deployment

Remove KnowledgeUser right to the user who has it

sf data update record --sobject User --where "UserPermissionsKnowledgeUser='true'" --values "UserPermissionsKnowledgeUser='false'" --json

Assign Knowledge user to desired username

sf data update record --sobject User --where "Username='deployment-user@myclient.com'" --values "UserPermissionsKnowledgeUser='true'" --json

Command definition

Identifier of the command (can be any string)

Id

Label of the command (what does it do ?)

Label

Command line to run

Command

Command

Commands Pre-Deployment

List of commands to run after a deployment

sf data update record --sobject User --where "Username='admin-user@myclient.com'" --values "UserPermissionsKnowledgeUser='true'" --json

Command definition

Id

Label

Command line to run

Command

Context when the command must be run

Context

Do not run the command if there is a deployment error

Skip if error

Command

Commands Post-Deployment

List of custom commands for VsCode SFDX-Hardis extension

Generates a manifest package.xml using local sfdx source files

sf project generate manifest --source-path force-app --name myNewManifest

List all orgs that has already been authenticated using sfdx

Useless commands just to show that we can use not sfdx commands too

Custom command definition

Identifier of the menu (can be any string)

Id

Label of the menu

Label

List of commands of the menu

Custom command definition

Id

Label of the command that will appear in menu

Label

Icon (can be any of svg icons of this list: https://github.com/hardisgroupcom/vscode-sfdx-hardis/tree/master/resources

Icon

Text that will appear when user will hover the command

Tooltip

Command line to run when clicking on the menu

Command

URL for help page of the command

Help url

Label

Custom commands

Position of custom commands in the menu (first or last)

Custom commands position

Custom colors set by VsCode SFDX Hardis

Custom Org Colors

List of additional plugins that will be displayed in VsCode SFDX-Hardis Dependencies panel

Plugin definition

Name of the plugin npm package

Name

Url of plugin documentation

Name

Plugin

Custom plugins

List of data packages

Data package

Path to SFDMU project

SFDMU Data project path

Path to SFDMU project

SFDMU Data project path

Data packages

When generating a new package version protected with password, use this value as default package installation key

Defaut package installation key

When creating a new sfdx-hardis task, this git branch is used as base to create the feature/debug sub branch. The merge request will later have this branch as target.

Default pull/merge request target org

Deployment plan that will be performed during deployments. Can be based on packageXmlFile for sources or on dataPath for sfdmu data deployments

During deployment, main package.xml will be split into these packages. Can also contain data packages

Source or data package to deploy

Path to SFDMU data project to deploy

Deploy EmailTemplate
Import EmailTemplate records

Source or data package label

Execution order in deployment plan

Path to package.xml file to use for deployment

Delay to wait before installing the next package

Wait after install (seconds)

List of packages to deploy

Deployment plan

Dev Hub alias, usually DevHub_ProjectName

Dev Hub org alias

Dev Hub username, used to authenticate to DevHub from CI jobs

Dev Hub Username

Automatically deploy MkDocs HTML documentation from CI/CD Workflows to Cloudflare

Doc: Deploy to Cloudflare

Automatically deploy MkDocs HTML documentation from CI/CD Workflows to Salesforce org as static resource

Doc: Deploy to Salesforce Org

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

Extends remote configuration URL

When creating a scratch org, Admin user will be automatically assigned to those permission sets

Permission Set or Permission Set Group

Permission Set or Permission Set Group name

Name

Initial Permission Sets

Defines the list of packages installed on the project. Use

Declarative Lookup Rollup Summaries Tool

Salesforce package info (managed, unlocked or unmanaged)

(unused) PackageId

Subscriber Package Id

Subscriber Package Name

Subscriber Package NameSpace

Subscriber Version Id (IMPORTANT)

Subscriber Version Name

Subscriber Version Number

If true, during deployments this package will be installed in target org if not installed yet

Install during deployments

If true, this package will be installed when creating a new scratch org with sfdx-hardis

Install on scratch orgs

Installation key for key-protected package

Package installation key

Salesforce package

Installed Packages

When calling deployment check command, installs any package referred within installedPackages property

Install packages during deployment checks

Salesforce instance URL used by CI for deployment or backups

Instance URL

List of ListView items to set to Mine after a delivery (that does not accept value 'Everything')

List views to set to Mine

List of metadata to retrieve for retrofit job

Metadata to retrofit

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]

Merge target branches

List of monitoring commands to run with command hardis:org:monitor:all

Detect calls to deprecated API versions

My custom command

Monitoring command

Unique identifier of the monitoring command. Can be used with monitoringDisable

Key

Title of the command (will appear in logs)

Title

Bash command to run

Command

daily or weekly

Frequency

Monitoring commands

Override list of Setup Audit Trail elements that won't be considered as suspect by monitoring tools

Monitoring Allowed Sections Actions

List of commands to skip during monitoring jobs

Disabled monitoring commands

List of usernames to exclude while running monitoring commands

Monitoring usernames to exclude

Url of the Ms Teams channel Web Hook that can be used to send ALL notifications

MsTeams WebHook Url (ALL)

Url of the Ms Teams channel Web Hook that can be used to send CRITICAL notifications

MsTeams WebHook Url (CRITICAL)

Url of the Ms Teams channel Web Hook that can be used to send SEVERE notifications

MsTeams WebHook Url (SEVERE)

Url of the Ms Teams channel Web Hook that can be used to send WARNING notifications

MsTeams WebHook Url (WARNING)

Url of the Ms Teams channel Web Hook that can be used to send INFO notifications

MsTeams WebHook Url (INFO)

Regex to validate new task names

New task name regex

Example of value that will match newTaskNameRegex

MYPROJECT-123 Update account status validation rule

New task name example

List of notifications types to skip sending

Disabled notification types

Path to a custom package-no-overwrite XML file (used in smartDeploy command)

Package-No-Overwrite path

Configuration allowing to generate and fetch scratch orgs from scratch org pool

Scratch org pool configuration

When pool scratch org is less than this number, it is deleted and another one is created

Min scratch org remaining days

Maximum number of active scratch orgs in the scratch org pool

Maximum number of scratch orgs

Maximum number of scratch orgs to create in one CI job

Maximum number of scratch orgs to create once

Remote service allowing to store scratch org pool details

Storage service for scratch org pool

Name of the git branch corresponding to production environment

Production branch name

Identifier for the project (can be the client and project)

Project Name

Name of the git branch where retrofit merge requests targets to

Retrofit branch name

When calling hardis:org:retrieve:sources:retrofit, list of files to ignore (discard just after retrieve)

Retrofit ignored files

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

Selected tests to run (list or regex)

Apex scripts to call after scratch org initialization

Scratch org init apex scripts

Defines the lifespan of the scratch org in number of days, from 1 to 30

Duration of Scratch Org

Instance host name to allow SFDMU to deploy data in a production org

SFDMU can modify

WARNING: Use with caution, only in branch scoped config ! Do not check code coverage for a deployment

Skip code coverage check

These profiles will not be reformatted by command hardis:project:clean:minimizeprofiles

MyClient Customer Community Login User
MyClientPortail Profile

Skip Minimize Profiles

Defines if sfdx-hardis will propose to upgrade local .forceignore file

Skip update .forceignore file

Defines if sfdx-hardis will propose to upgrade local .gitignore file

Skip update .gitignore file

Define to true if contributors can share dev sandboxes

Shared Dev Sandboxes

Salesforce username used by CI for deployment or backups

Target Username

Does not make the deployment job fail if apex tests code coverage is failing

Test Coverage not blocking

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

NoTestRun RunSpecifiedTests RunRepositoryTests RunRepositoryTestsExceptSeeAllData RunLocalTests RunAllTestsInOrg

Test level for deployments

Defines if sfdx-hardis will deploy in delta from minor to major branches

Use Delta Deployment

Define if smart deployment tests will be activated and run test classes only if necessary (see more in hardis:project:deploy:smart documentation

Use Smart Deployment Tests

Ignore profiles or permission sets

Linter ignore permission set or/and profile

sfdx-hardis configuration

Provide a JSON object that satisfies the schema "sfdx-hardis configuration". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"http://json-schema.org/draft-07/schema#","title":"shard.yml","description":"Metadata for projects managed by Shards","type":"object","properties":{"name":{"type":"string","title":"project name","description":"The name of the project","maxLength":50,"pattern":"^(?!.*__|.*--|.*crystal|[0-9_-])[a-z0-9_-]+(?<![_-])$"},"version":{"type":"string","title":"project version","description":"The version number of the project","pattern":"^(?!.*\\.\\.|.*--)[0-9a-zA-Z.-]+$"},"authors":{"type":"array","title":"authors","description":"A list of authors, along with their contact email","items":{"type":"string","title":"author","description":"An authors name and contact email"}},"crystal":{"type":"string","title":"crystal version","description":"A restriction to indicate what Crystal versions are supported"},"dependencies":{"type":"object","title":"dependencies","description":"A list of required dependencies\nhttps://github.com/crystal-lang/shards/blob/master/docs/shard.yml.adoc#dependency-attributes","additionalProperties":{"type":"object","title":"dependency name","description":"The name of the dependency","additionalProperties":false,"properties":{"github":{"type":"string","title":"GitHub URL","description":"GitHub repository URL as user/repo"},"gitlab":{"type":"string","title":"GitLab URL","description":"GitLab repository URL as user/repo"},"bitbucket":{"type":"string","title":"Bitbucket URL","description":"Bitbucket repository URL as user/repo"},"codeberg":{"type":"string","title":"Codeberg URL","description":"Codeberg repository URL as user/repo"},"git":{"type":"string","title":"git URL","description":"A Git repository URL"},"hg":{"type":"string","title":"Mercurial URL","description":"A Mercurial repository URL"},"fossil":{"type":"string","title":"Fossil URL","description":"A Fossil repository URL"},"path":{"type":"string","title":"local path","description":"A local path to the dependency"},"version":{"type":"string","title":"version requirement","description":"A version requirement for the dependency"},"branch":{"type":"string","title":"branch","description":"Install the specified branch of a Git dependency"},"commit":{"type":"string","title":"commit","description":"Install the specified commit of a Git, Mercurial, or Fossil dependency"},"tag":{"type":"string","title":"tag","description":"Install the specified tag of a Git, Mercurial, or Fossil dependency"},"bookmark":{"type":"string","title":"bookmark","description":"Install the specified bookmark of a Mercurial dependency"}}}},"development_dependencies":{"type":"object","title":"development dependencies","description":"A list of dependencies required to work on the project, but not necessary to build and run the project\nhttps://github.com/crystal-lang/shards/blob/master/docs/shard.yml.adoc#dependency-attributes","additionalProperties":{"type":"object","title":"dependency name","description":"The name of the dependency","additionalProperties":false,"properties":{"github":{"type":"string","title":"GitHub URL","description":"GitHub repository URL as user/repo"},"gitlab":{"type":"string","title":"GitLab URL","description":"GitLab repository URL as user/repo"},"bitbucket":{"type":"string","title":"Bitbucket URL","description":"Bitbucket repository URL as user/repo"},"codeberg":{"type":"string","title":"Codeberg URL","description":"Codeberg repository URL as user/repo"},"git":{"type":"string","title":"git URL","description":"A Git repository URL"},"hg":{"type":"string","title":"Mercurial URL","description":"A Mercurial repository URL"},"fossil":{"type":"string","title":"Fossil URL","description":"A Fossil repository URL"},"path":{"type":"string","title":"local path","description":"A local path to the dependency"},"version":{"type":"string","title":"version requirement","description":"A version requirement for the dependency"},"branch":{"type":"string","title":"branch","description":"Install the specified branch of a Git dependency"},"commit":{"type":"string","title":"commit","description":"Install the specified commit of a Git, Mercurial, or Fossil dependency"},"tag":{"type":"string","title":"tag","description":"Install the specified tag of a Git, Mercurial, or Fossil dependency"},"bookmark":{"type":"string","title":"bookmark","description":"Install the specified bookmark of a Mercurial dependency"}}}},"description":{"type":"string","title":"project description","description":"A single line description of the project"},"documentation":{"type":"string","title":"documentation URL","description":"The URL to a website providing the project's documentation for online browsing"},"executables":{"type":"array","title":"executables","description":"A list of executables to be installed","items":{"type":"string"}},"homepage":{"type":"string","title":"homepage URL","description":"The URL of the project's homepage"},"libraries":{"type":"object","title":"libraries","description":"A list of shared libraries the shard tries to link to","additionalProperties":{"type":"string"}},"license":{"type":"string","title":"license","description":"An SPDX license expression or an URL to a license file."},"repository":{"type":"string","title":"repository URL","description":"The URL of the project's canonical repository"},"scripts":{"type":"object","title":"scripts","description":"Script hooks to run","properties":{"postinstall":{"type":"string","title":"postinstall script","description":"Will be run whenever the dependency is installed or upgraded in a project that requires it"}},"additionalProperties":false},"targets":{"type":"object","title":"targets","description":"A list of targets to build","additionalProperties":{"type":"object","title":"target name","description":"The name of the target","additionalProperties":false,"properties":{"main":{"type":"string","title":"target main file","description":"The main source file to compile for this target"}},"required":["main"]}}},"required":["name","version"],"additionalProperties":false}
</schema>

[User] Provide a JSON object that satisfies the schema "shard.yml". Here are the required top‑level fields: name, version. Return only the valid JSON object.

shard.yml

Metadata for projects managed by Shards

project name

The name of the project

project version

The version number of the project

authors

A list of authors, along with their contact email

author

An authors name and contact email

crystal version

A restriction to indicate what Crystal versions are supported

dependencies

A list of required dependencies
https://github.com/crystal-lang/shards/blob/master/docs/shard.yml.adoc#dependency-attributes

dependency name

The name of the dependency

GitHub URL

GitHub repository URL as user/repo

GitLab URL

GitLab repository URL as user/repo

Bitbucket URL

Bitbucket repository URL as user/repo

Codeberg URL

Codeberg repository URL as user/repo

git URL

A Git repository URL

Mercurial URL

A Mercurial repository URL

Fossil URL

A Fossil repository URL

local path

A local path to the dependency

version requirement

A version requirement for the dependency

branch

Install the specified branch of a Git dependency

commit

Install the specified commit of a Git, Mercurial, or Fossil dependency

tag

Install the specified tag of a Git, Mercurial, or Fossil dependency

bookmark

Install the specified bookmark of a Mercurial dependency

development dependencies

A list of dependencies required to work on the project, but not necessary to build and run the project
https://github.com/crystal-lang/shards/blob/master/docs/shard.yml.adoc#dependency-attributes

dependency name

The name of the dependency

GitHub URL

GitHub repository URL as user/repo

GitLab URL

GitLab repository URL as user/repo

Bitbucket URL

Bitbucket repository URL as user/repo

Codeberg URL

Codeberg repository URL as user/repo

git URL

A Git repository URL

Mercurial URL

A Mercurial repository URL

Fossil URL

A Fossil repository URL

local path

A local path to the dependency

version requirement

branch

commit

tag

bookmark

project description

A single line description of the project

documentation URL

The URL to a website providing the project's documentation for online browsing

executables

A list of executables to be installed

homepage URL

The URL of the project's homepage

libraries

A list of shared libraries the shard tries to link to

license

An SPDX license expression or an URL to a license file.

repository URL

The URL of the project's canonical repository

scripts

Script hooks to run

postinstall script

Will be run whenever the dependency is installed or upgraded in a project that requires it

targets

A list of targets to build

target name

The name of the target

target main file

The main source file to compile for this target

Provide a JSON object that satisfies the schema "shard.yml". Here are the required top‑level fields: name, version. Return only the valid JSON object.


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://github.com/shopware/shopware-cli/extension/config","$ref":"#/$defs/Config","$defs":{"ChangelogConfig":{"properties":{"enabled":{"type":"boolean","description":"Specifies whether the changelog should be generated."},"pattern":{"type":"string","description":"Specifies the pattern to match the commits."},"template":{"type":"string","description":"Specifies the template to use for the changelog."},"variables":{"additionalProperties":{"type":"string"},"type":"object","description":"Specifies the variables to use for the changelog."}},"additionalProperties":false,"type":"object"},"Config":{"properties":{"store":{"$ref":"#/$defs/ConfigStore","description":"Store is the store configuration of the extension."},"build":{"$ref":"#/$defs/ConfigBuild","description":"Build is the build configuration of the extension."},"changelog":{"$ref":"#/$defs/ChangelogConfig","description":"Changelog is the changelog configuration of the extension."},"validation":{"$ref":"#/$defs/ConfigValidation","description":"Validation is the validation configuration of the extension."}},"additionalProperties":false,"type":"object"},"ConfigBuild":{"properties":{"extraBundles":{"items":{"$ref":"#/$defs/ConfigExtraBundle"},"type":"array","description":"ExtraBundles can be used to declare additional bundles to be considered for building"},"shopwareVersionConstraint":{"type":"string","description":"Override the shopware version constraint for building, can be used to specify the version of the shopware to use for building"},"zip":{"$ref":"#/$defs/ConfigBuildZip","description":"Configuration for zipping"}},"additionalProperties":false,"type":"object"},"ConfigBuildZip":{"properties":{"composer":{"$ref":"#/$defs/ConfigBuildZipComposer","description":"Configuration for composer"},"assets":{"$ref":"#/$defs/ConfigBuildZipAssets","description":"Configuration for assets"},"pack":{"$ref":"#/$defs/ConfigBuildZipPack","description":"Configuration for packing"},"checksum":{"$ref":"#/$defs/ConfigBuildZipChecksum"}},"additionalProperties":false,"type":"object","description":"Configuration for zipping."},"ConfigBuildZipAssets":{"properties":{"enabled":{"type":"boolean","description":"When enabled, the shopware-cli build the assets"},"before_hooks":{"items":{"type":"string"},"type":"array","description":"Commands to run before the assets build"},"after_hooks":{"items":{"type":"string"},"type":"array","description":"Commands to run after the assets build"},"enable_es_build_for_admin":{"type":"boolean","description":"When enabled, builtin esbuild will be used for the admin assets"},"enable_es_build_for_storefront":{"type":"boolean","description":"When enabled, builtin esbuild will be used for the storefront assets"},"disable_sass":{"type":"boolean","description":"When disabled, builtin sass support will be disabled"},"npm_strict":{"type":"boolean","description":"When enabled, npm will install only production dependencies"}},"additionalProperties":false,"type":"object"},"ConfigBuildZipChecksum":{"properties":{"ignore":{"items":{"type":"string"},"type":"array","description":"Following files will be excluded from the checksum calculation"}},"additionalProperties":false,"type":"object","description":"Configuration for checksum calculation."},"ConfigBuildZipComposer":{"properties":{"enabled":{"type":"boolean","description":"When enabled, a vendor folder will be created in the zip build"},"before_hooks":{"items":{"type":"string"},"type":"array","description":"Commands to run before the composer install"},"after_hooks":{"items":{"type":"string"},"type":"array","description":"Commands to run after the composer install"},"excluded_packages":{"items":{"type":"string"},"type":"array","description":"Composer packages to be excluded from the zip build"}},"additionalProperties":false,"type":"object"},"ConfigBuildZipPack":{"properties":{"excludes":{"$ref":"#/$defs/ConfigBuildZipPackExcludes","description":"Excludes can be used to exclude files from the zip build"},"before_hooks":{"items":{"type":"string"},"type":"array","description":"Commands to run before the pack"}},"additionalProperties":false,"type":"object"},"ConfigBuildZipPackExcludes":{"properties":{"paths":{"items":{"type":"string"},"type":"array","description":"Paths to exclude from the zip build"}},"additionalProperties":false,"type":"object"},"ConfigExtraBundle":{"properties":{"path":{"type":"string","description":"Path to the bundle, relative from the extension root (src folder)"},"name":{"type":"string","description":"Name of the bundle, if empty the folder name of path will be used"}},"additionalProperties":false,"type":"object"},"ConfigStore":{"properties":{"availabilities":{"items":{"type":"string","enum":["German","International"]},"type":"array","description":"Specifies the visibility in stores."},"default_locale":{"type":"string","enum":["de_DE","en_GB"],"description":"Specifies the default locale."},"localizations":{"items":{"type":"string","enum":["de_DE","en_GB","bs_BA","bg_BG","cs_CZ","da_DK","de_CH","el_GR","en_US","es_ES","fi_FI","fr_FR","hi_IN","hr_HR","hu_HU","hy","id_ID","it_IT","ko_KR","lv_LV","ms_MY","nl_NL","pl_PL","pt_BR","pt_PT","ro_RO","ru_RU","sk_SK","sl_SI","sr_RS","sv_SE","th_TH","tr_TR","uk_UA","vi_VN","zh_CN","zh_TW"]},"type":"array","description":"Specifies the languages the extension is translated."},"categories":{"items":{"type":"string","enum":["Administration","SEOOptimierung","Bonitaetspr\u00fcfung","Rechtssicherheit","Auswertung","KommentarFeedback","Tracking","Integration","PreissuchmaschinenPortale","Warenwirtschaft","Versand","Bezahlung","StorefrontDetailanpassungen","Sprache","Suche","HeaderFooter","Detailseite","MenueKategorien","Bestellprozess","KundenkontoPersonalisierung","Sonderfunktionen","Themes","Branche","Home+Furnishings","FashionBekleidung","GartenNatur","KosmetikGesundheit","EssenTrinken","KinderPartyGeschenke","SportLifestyleReisen","Bauhaus","Elektronik","Geraete","Heimkueche","Hobby","Kueche","Lebensmittel","Medizin","Mode","Musik","Spiel","Technik","Umweltschutz","Wohnen","Zubehoer"]},"type":"array","description":"Specifies the categories."},"type":{"type":"string","enum":["extension","theme"],"description":"Specifies the type of the extension."},"icon":{"type":"string","description":"Specifies the Path to the icon (128x128 px) for store."},"automatic_bugfix_version_compatibility":{"type":"boolean","description":"Specifies whether the extension should automatically be set compatible with Shopware bugfix versions."},"meta_title":{"$ref":"#/$defs/ConfigTranslated[string]","description":"Specifies the meta title of the extension in store."},"meta_description":{"$ref":"#/$defs/ConfigTranslated[string]","description":"Specifies the meta description of the extension in store."},"description":{"$ref":"#/$defs/ConfigTranslated[string]","description":"Specifies the description of the extension in store."},"installation_manual":{"$ref":"#/$defs/ConfigTranslated[string]","description":"Installation manual of the extension in store."},"tags":{"$ref":"#/$defs/ConfigTranslated[[]string]","description":"Specifies the tags of the extension."},"videos":{"$ref":"#/$defs/ConfigTranslated[[]string]","description":"Specifies the links of YouTube-Videos to show or describe the extension."},"highlights":{"$ref":"#/$defs/ConfigTranslated[[]string]","description":"Specifies the highlights of the extension."},"features":{"$ref":"#/$defs/ConfigTranslated[[]string]","description":"Specifies the features of the extension."},"faq":{"$ref":"#/$defs/ConfigTranslated[ConfigStoreFaq]","description":"Specifies Frequently Asked Questions for the extension."},"images":{"items":{"$ref":"#/$defs/ConfigStoreImage"},"type":"array","description":"Specifies images for the extension in the store."},"image_directory":{"type":"string","description":"Specifies the directory where the images are located."}},"additionalProperties":false,"type":"object"},"ConfigStoreFaq":{"properties":{"question":{"type":"string"},"answer":{"type":"string"}},"additionalProperties":false,"type":"object"},"ConfigStoreImage":{"properties":{"file":{"type":"string","description":"File path to image relative from root of the extension"},"activate":{"$ref":"#/$defs/ConfigStoreImageActivate","description":"Specifies whether the image is active in the language."},"preview":{"$ref":"#/$defs/ConfigStoreImagePreview","description":"Specifies whether the image is a preview in the language."},"priority":{"type":"integer","description":"Specifies the order of the image ascending the given priority."}},"additionalProperties":false,"type":"object"},"ConfigStoreImageActivate":{"properties":{"de":{"type":"boolean"},"en":{"type":"boolean"}},"additionalProperties":false,"type":"object"},"ConfigStoreImagePreview":{"properties":{"de":{"type":"boolean"},"en":{"type":"boolean"}},"additionalProperties":false,"type":"object"},"ConfigTranslated[ConfigStoreFaq]":{"properties":{"de":{"items":{"$ref":"#/$defs/ConfigStoreFaq"},"type":"array"},"en":{"items":{"$ref":"#/$defs/ConfigStoreFaq"},"type":"array"}},"additionalProperties":false,"type":"object"},"ConfigTranslated[[]string]":{"properties":{"de":{"items":{"type":"string"},"type":"array"},"en":{"items":{"type":"string"},"type":"array"}},"additionalProperties":false,"type":"object"},"ConfigTranslated[string]":{"properties":{"de":{"type":"string"},"en":{"type":"string"}},"additionalProperties":false,"type":"object"},"ConfigValidation":{"properties":{"ignore":{"$ref":"#/$defs/ConfigValidationList","description":"Ignore items from the validation."}},"additionalProperties":false,"type":"object","description":"ConfigValidation is used to configure the extension validation."},"ConfigValidationIgnoreItem":{"oneOf":[{"properties":{"identifier":{"type":"string","description":"The identifier of the item to ignore."},"path":{"type":"string","description":"The path of the item to ignore."}},"type":"object"},{"type":"string"}]},"ConfigValidationList":{"items":{"$ref":"#/$defs/ConfigValidationIgnoreItem"},"type":"array"}}}
</schema>

[User] Provide a JSON object that satisfies the schema "shopware-extension-schema". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.

Specifies whether the changelog should be generated.

Specifies the pattern to match the commits.

Specifies the template to use for the changelog.

Specifies the variables to use for the changelog.

Store is the store configuration of the extension.

Build is the build configuration of the extension.

Changelog is the changelog configuration of the extension.

Validation is the validation configuration of the extension.

ExtraBundles can be used to declare additional bundles to be considered for building

Override the shopware version constraint for building, can be used to specify the version of the shopware to use for building

Configuration for zipping

Configuration for composer

Configuration for assets

Configuration for packing

Configuration for zipping.

When enabled, the shopware-cli build the assets

Commands to run before the assets build

Commands to run after the assets build

When enabled, builtin esbuild will be used for the admin assets

When enabled, builtin esbuild will be used for the storefront assets

When disabled, builtin sass support will be disabled

When enabled, npm will install only production dependencies

Following files will be excluded from the checksum calculation

Configuration for checksum calculation.

When enabled, a vendor folder will be created in the zip build

Commands to run before the composer install

Commands to run after the composer install

Composer packages to be excluded from the zip build

Excludes can be used to exclude files from the zip build

Commands to run before the pack

Paths to exclude from the zip build

Path to the bundle, relative from the extension root (src folder)

Name of the bundle, if empty the folder name of path will be used

Specifies the visibility in stores.

Specifies the default locale.

Specifies the languages the extension is translated.

Administration SEOOptimierung Bonitaetsprüfung Rechtssicherheit Auswertung KommentarFeedback Tracking Integration PreissuchmaschinenPortale Warenwirtschaft Versand Bezahlung StorefrontDetailanpassungen Sprache Suche HeaderFooter Detailseite MenueKategorien Bestellprozess KundenkontoPersonalisierung Sonderfunktionen Themes Branche Home+Furnishings FashionBekleidung GartenNatur KosmetikGesundheit EssenTrinken KinderPartyGeschenke SportLifestyleReisen Bauhaus Elektronik Geraete Heimkueche Hobby Kueche Lebensmittel Medizin Mode Musik Spiel Technik Umweltschutz Wohnen Zubehoer

Specifies the categories.

Specifies the type of the extension.

Specifies the Path to the icon (128x128 px) for store.

Specifies whether the extension should automatically be set compatible with Shopware bugfix versions.

Specifies the meta title of the extension in store.

Specifies the meta description of the extension in store.

Specifies the description of the extension in store.

Installation manual of the extension in store.

Specifies the tags of the extension.

Specifies the links of YouTube-Videos to show or describe the extension.

Specifies the highlights of the extension.

Specifies the features of the extension.

Specifies Frequently Asked Questions for the extension.

Specifies images for the extension in the store.

Specifies the directory where the images are located.

File path to image relative from root of the extension

Specifies whether the image is active in the language.

Specifies whether the image is a preview in the language.

Specifies the order of the image ascending the given priority.

Ignore items from the validation.

ConfigValidation is used to configure the extension validation.

The identifier of the item to ignore.

The path of the item to ignore.

Provide a JSON object that satisfies the schema "shopware-extension-schema". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://github.com/shopware/shopware-cli/shop/config","$ref":"#/$defs/Config","$defs":{"Config":{"properties":{"include":{"items":{"type":"string"},"type":"array"},"url":{"type":"string","description":"The URL of the Shopware instance"},"build":{"$ref":"#/$defs/ConfigBuild"},"admin_api":{"$ref":"#/$defs/ConfigAdminApi"},"dump":{"$ref":"#/$defs/ConfigDump"},"sync":{"$ref":"#/$defs/ConfigSync"},"deployment":{"$ref":"#/$defs/ConfigDeployment"},"validation":{"$ref":"#/$defs/ConfigValidation"},"image_proxy":{"$ref":"#/$defs/ConfigImageProxy"}},"additionalProperties":false,"type":"object"},"ConfigAdminApi":{"properties":{"client_id":{"type":"string","description":"Client ID of integration"},"client_secret":{"type":"string","description":"Client Secret of integration"},"username":{"type":"string","description":"Username of admin user"},"password":{"type":"string","description":"Password of admin user"},"disable_ssl_check":{"type":"boolean","description":"Disable SSL certificate check"}},"additionalProperties":false,"type":"object"},"ConfigBuild":{"properties":{"disable_asset_copy":{"type":"boolean","description":"When enabled, the assets will not be copied to the public folder"},"remove_extension_assets":{"type":"boolean","description":"When enabled, the assets of extensions will be removed from the extension public folder. (Requires Shopware 6.5.2.0)"},"keep_extension_source":{"type":"boolean","description":"When enabled, the extensions source code will be keep in the final build"},"keep_source_maps":{"type":"boolean","description":"When enabled, the source maps will not be removed from the final build"},"cleanup_paths":{"items":{"type":"string"},"type":"array","description":"Paths to delete for the final build"},"browserslist":{"type":"string","description":"Browserslist configuration for the Storefront build"},"exclude_extensions":{"items":{"type":"string"},"type":"array","description":"Extensions to exclude from the build"},"disable_storefront_build":{"type":"boolean","description":"When enabled, the storefront build will be skipped"},"force_extension_build":{"items":{"$ref":"#/$defs/ConfigBuildExtension"},"type":"array","description":"Extensions to force build for, even if they have compiled files"},"force_admin_build":{"type":"boolean","description":"When enabled, the shopware admin will be built"},"keep_node_modules":{"items":{"type":"string"},"type":"array","description":"Keep following node_modules in the final build"}},"additionalProperties":false,"type":"object"},"ConfigBuildExtension":{"properties":{"name":{"type":"string","description":"Name of the extension"}},"additionalProperties":false,"type":"object","required":["name"],"description":"ConfigBuildExtension defines the configuration for forcing extension builds."},"ConfigDeployment":{"properties":{"hooks":{"properties":{"pre":{"type":"string"},"post":{"type":"string"},"pre-install":{"type":"string"},"post-install":{"type":"string"},"pre-update":{"type":"string"},"post-update":{"type":"string"}},"additionalProperties":false,"type":"object"},"store":{"properties":{"license-domain":{"type":"string"}},"additionalProperties":false,"type":"object"},"cache":{"properties":{"always_clear":{"type":"boolean"}},"additionalProperties":false,"type":"object"},"extension-management":{"properties":{"enabled":{"type":"boolean"},"exclude":{"items":{"type":"string"},"type":"array"},"overrides":{"$ref":"#/$defs/ConfigDeploymentOverrides"},"force_updates":{"items":{"type":"string"},"type":"array"}},"additionalProperties":false,"type":"object","description":"The extension management of the deployment"},"one-time-tasks":{"items":{"properties":{"id":{"type":"string"},"script":{"type":"string"}},"additionalProperties":false,"type":"object","required":["id","script"]},"type":"array"}},"additionalProperties":false,"type":"object"},"ConfigDeploymentOverrides":{"additionalProperties":{"properties":{"state":{"type":"string","enum":["inactive","remove","ignore"]},"keepUserData":{"type":"boolean"}},"type":"object","required":["state"]},"type":"object","title":"Extension overrides"},"ConfigDump":{"properties":{"rewrite":{"additionalProperties":{"$ref":"#/$defs/Rewrite"},"type":"object","description":"Allows to rewrite single columns, perfect for GDPR compliance"},"nodata":{"items":{"type":"string"},"type":"array","description":"Only export the schema of these tables"},"ignore":{"items":{"type":"string"},"type":"array","description":"Ignore these tables from export"},"where":{"additionalProperties":{"type":"string"},"type":"object","description":"Add an where condition to that table, schema is table name as key, and where statement as value"}},"additionalProperties":false,"type":"object"},"ConfigImageProxy":{"properties":{"url":{"type":"string","description":"The URL of the upstream server to proxy requests to when files are not found locally"}},"additionalProperties":false,"type":"object"},"ConfigSync":{"properties":{"enabled":{"items":{"type":"string","enum":["system_config","mail_template","theme","entity"]},"type":"array"},"config":{"items":{"$ref":"#/$defs/ConfigSyncConfig"},"type":"array"},"theme":{"items":{"$ref":"#/$defs/ThemeConfig"},"type":"array"},"mail_template":{"items":{"$ref":"#/$defs/MailTemplate"},"type":"array"},"entity":{"items":{"$ref":"#/$defs/EntitySync"},"type":"array"}},"additionalProperties":false,"type":"object"},"ConfigSyncConfig":{"properties":{"sales_channel":{"type":"string","description":"Sales Channel ID to apply"},"settings":{"type":"object","description":"Configurations of that Sales Channel"}},"additionalProperties":false,"type":"object"},"ConfigValidation":{"properties":{"ignore":{"items":{"$ref":"#/$defs/ConfigValidationIgnoreItem"},"type":"array","description":"Ignore items from the validation."},"ignore_extensions":{"items":{"$ref":"#/$defs/ConfigValidationIgnoreExtension"},"type":"array"}},"additionalProperties":false,"type":"object","description":"ConfigValidation is used to configure the project validation."},"ConfigValidationIgnoreExtension":{"properties":{"name":{"type":"string","description":"The name of the extension to ignore."}},"additionalProperties":false,"type":"object"},"ConfigValidationIgnoreItem":{"properties":{"identifier":{"type":"string","description":"The identifier of the item to ignore."},"path":{"type":"string","description":"The path of the item to ignore."},"message":{"type":"string","description":"The message of the item to ignore."}},"additionalProperties":false,"type":"object","description":"ConfigValidationIgnoreItem is used to ignore items from the validation."},"EntitySync":{"properties":{"entity":{"type":"string"},"exists":{"items":{"$ref":"#/$defs/EntitySyncFilter"},"type":"array"},"payload":{"type":"object"}},"additionalProperties":false,"type":"object"},"EntitySyncFilter":{"allOf":[{"if":{"then":{"required":["type","queries"]},"properties":{"type":{"const":"multi"}}}}],"properties":{"type":{"type":"string","enum":["equals","multi","contains","prefix","suffix","not","range","until","equalsAll","equalsAny"]},"field":{"type":"string","description":"The field to filter on"},"value":{"description":"The actual filter value"},"operator":{"type":"string","enum":["AND","OR","XOR"]}},"type":"object","required":["type","field"],"title":"Entity Sync Filter"},"MailTemplate":{"properties":{"id":{"type":"string"},"translations":{"items":{"$ref":"#/$defs/MailTemplateTranslation"},"type":"array"}},"additionalProperties":false,"type":"object"},"MailTemplateTranslation":{"properties":{"language":{"type":"string"},"sender_name":{"type":"string"},"subject":{"type":"string"},"html":{"type":"string"},"plain":{"type":"string"},"custom_fields":true},"additionalProperties":false,"type":"object"},"Rewrite":{"additionalProperties":{"type":"string"},"type":"object"},"ThemeConfig":{"properties":{"name":{"type":"string"},"settings":{"additionalProperties":{"$ref":"#/$defs/ThemeConfigValue"},"type":"object"}},"additionalProperties":false,"type":"object"},"ThemeConfigValue":{"properties":{"value":true},"additionalProperties":false,"type":"object"}}}
</schema>

[User] Provide a JSON object that satisfies the schema "shopware-project-schema". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.

The URL of the Shopware instance

Client ID of integration

Client Secret of integration

Username of admin user

Password of admin user

Disable SSL certificate check

When enabled, the assets will not be copied to the public folder

When enabled, the assets of extensions will be removed from the extension public folder. (Requires Shopware 6.5.2.0)

When enabled, the extensions source code will be keep in the final build

When enabled, the source maps will not be removed from the final build

Paths to delete for the final build

Browserslist configuration for the Storefront build

Extensions to exclude from the build

When enabled, the storefront build will be skipped

Extensions to force build for, even if they have compiled files

When enabled, the shopware admin will be built

Keep following node_modules in the final build

Name of the extension

ConfigBuildExtension defines the configuration for forcing extension builds.

The extension management of the deployment

Extension overrides

Allows to rewrite single columns, perfect for GDPR compliance

Only export the schema of these tables

Ignore these tables from export

Add an where condition to that table, schema is table name as key, and where statement as value

The URL of the upstream server to proxy requests to when files are not found locally

Sales Channel ID to apply

Configurations of that Sales Channel

Ignore items from the validation.

ConfigValidation is used to configure the project validation.

The name of the extension to ignore.

The identifier of the item to ignore.

The path of the item to ignore.

The message of the item to ignore.

ConfigValidationIgnoreItem is used to ignore items from the validation.

equals multi contains prefix suffix not range until equalsAll equalsAny

The field to filter on

The actual filter value

Entity Sync Filter

Provide a JSON object that satisfies the schema "shopware-project-schema". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"https://json-schema.org/draft/2020-12/schema#","title":"Sigma rule specification V2.0.0 (2024-08-08)","type":"object","required":["title","logsource","detection"],"properties":{"title":{"type":"string","maxLength":256,"description":"A brief title for the rule that should contain what the rules is supposed to detect"},"id":{"type":"string","description":"A globally unique identifier for the Sigma rule. This is recommended to be a UUID v4, but not mandatory.","format":"uuid"},"related":{"type":"array","description":"A list of related Sigma rules to keep track of the relationships between detections. This can be used to indicate that a rule is derived from another rule, or that a rule has been obsoleted by another rule.","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"A globally unique identifier for the Sigma rule. This is recommended to be a UUID v4, but not mandatory.","format":"uuid"},"type":{"type":"string","oneOf":[{"const":"derived","description":"The rule was derived from the referred rule or rules, which may remain active"},{"const":"obsolete","description":"The rule obsoletes the referred rule or rules, which aren't used anymore"},{"const":"merged","description":"The rule was merged from the referred rules. The rules may be still existing and in use"},{"const":"renamed","description":"The rule had previously the referred identifier or identifiers but was renamed for whatever reason, e.g. from a private naming scheme to UUIDs, to resolve collisions etc. It's not expected that a rule with this id exists anymore"},{"const":"similar","description":"Use to relate similar rules to each other (e.g. same detection content applied to different log sources, rule that is a modified version of another rule with a different level)"}]}}}},"name":{"type":"string","maxLength":256,"description":"a unique human-readable name that can be used instead of the id as a reference in correlation rules"},"taxonomy":{"type":"string","maxLength":256,"description":"Defines the taxonomy used in the Sigma rule"},"status":{"type":"string","oneOf":[{"const":"stable","description":"The rule didn't produce any obvious false positives in multiple environments over a long period of time"},{"const":"test","description":"The rule doesn't show any obvious false positives on a limited set of test systems"},{"const":"experimental","description":"A new rule that hasn't been tested outside of lab environments and could lead to many false positives"},{"const":"deprecated","description":"The rule was replaced or is now covered by another one. The link between both rules is made via the `related` field"},{"const":"unsupported","description":"The rule can not be used in its current state (special correlation log, home-made fields, etc.)"}]},"description":{"type":"string","description":"A short description of the rule and the malicious activity that can be detected","maxLength":65535},"license":{"type":"string","description":"License of the rule according the SPDX ID specification (https://spdx.dev/ids/)"},"author":{"type":"string","description":"Creator of the rule. (can be a name, nickname, twitter handle, etc.)"},"references":{"type":"array","description":"References to the source that the rule was derived from. These could be blog articles, technical papers, presentations or even tweets","uniqueItems":true,"items":{"type":"string"}},"date":{"type":"string","description":"Creation date of the rule. Use the ISO 8601 format YYYY-MM-DD","pattern":"^\\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$"},"modified":{"type":"string","description":"Last modification date of the rule. Use the ISO 8601 format YYYY-MM-DD","pattern":"^\\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$"},"logsource":{"type":"object","description":"The log source that the rule is supposed to detect malicious activity in.","properties":{"category":{"description":"Group of products, like firewall or process_creation","type":"string"},"product":{"description":"A certain product, like windows","type":"string"},"service":{"description":"A subset of a product's logs, like sshd","type":"string"},"definition":{"description":"can be used to describe the log source","type":"string"}}},"detection":{"type":"object","required":["condition"],"description":"A set of search-identifiers that represent properties of searches on log data","additionalProperties":{"description":"A Search Identifier: A definition that can consist of two different data structures - lists and maps.","anyOf":[{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"object","items":{"type":"string"}}]}},{"type":"object","items":{"type":"string"}}]},"properties":{"condition":{"type":"string","description":"The relationship between the search identifiers to create the detection logic. Ex: selection1 or selection2"}}},"fields":{"type":"array","description":"A list of log fields that could be interesting in further analysis of the event and should be displayed to the analyst","uniqueItems":true,"items":{"type":"string"}},"falsepositives":{"description":"A list of known false positives that may occur","uniqueItems":true,"type":"array","items":{"type":"string","minLength":2}},"level":{"type":"string","description":"The criticality of a triggered rule","oneOf":[{"const":"informational","description":"Rule is intended for enrichment of events, e.g. by tagging them. No case or alerting should be triggered by such rules because it is expected that a huge amount of events will match these rules"},{"const":"low","description":"Notable event but rarely an incident. Low rated events can be relevant in high numbers or combination with others. Immediate reaction shouldn't be necessary, but a regular review is recommended"},{"const":"medium","description":"Relevant event that should be reviewed manually on a more frequent basis"},{"const":"high","description":"Relevant event that should trigger an internal alert and requires a prompt review"},{"const":"critical","description":"Highly relevant event that indicates an incident. Critical events should be reviewed immediately. It is used only for cases in which probability borders certainty"}]},"tags":{"description":"Tags to categorize a Sigma rule.","type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-z0-9_-]+\\.[a-z0-9._-]+$"}},"scope":{"description":"A list of intended scope of the rule","type":"array","items":{"type":"string","minLength":2}}}}
</schema>

[User] Provide a JSON object that satisfies the schema "Sigma rule specification V2.0.0 (2024-08-08)". Here are the required top‑level fields: title, logsource, detection. Return only the valid JSON object.

A brief title for the rule that should contain what the rules is supposed to detect

A globally unique identifier for the Sigma rule. This is recommended to be a UUID v4, but not mandatory.

A list of related Sigma rules to keep track of the relationships between detections. This can be used to indicate that a rule is derived from another rule, or that a rule has been obsoleted by another rule.

The rule was derived from the referred rule or rules, which may remain active

The rule obsoletes the referred rule or rules, which aren't used anymore

The rule was merged from the referred rules. The rules may be still existing and in use

The rule had previously the referred identifier or identifiers but was renamed for whatever reason, e.g. from a private naming scheme to UUIDs, to resolve collisions etc. It's not expected that a rule with this id exists anymore

Use to relate similar rules to each other (e.g. same detection content applied to different log sources, rule that is a modified version of another rule with a different level)

a unique human-readable name that can be used instead of the id as a reference in correlation rules

Defines the taxonomy used in the Sigma rule

The rule didn't produce any obvious false positives in multiple environments over a long period of time

The rule doesn't show any obvious false positives on a limited set of test systems

A new rule that hasn't been tested outside of lab environments and could lead to many false positives

The rule was replaced or is now covered by another one. The link between both rules is made via the `related` field

The rule can not be used in its current state (special correlation log, home-made fields, etc.)

A short description of the rule and the malicious activity that can be detected

License of the rule according the SPDX ID specification (https://spdx.dev/ids/)

Creator of the rule. (can be a name, nickname, twitter handle, etc.)

References to the source that the rule was derived from. These could be blog articles, technical papers, presentations or even tweets

Creation date of the rule. Use the ISO 8601 format YYYY-MM-DD

Last modification date of the rule. Use the ISO 8601 format YYYY-MM-DD

The log source that the rule is supposed to detect malicious activity in.

Group of products, like firewall or process_creation

A certain product, like windows

A subset of a product's logs, like sshd

can be used to describe the log source

A set of search-identifiers that represent properties of searches on log data

A Search Identifier: A definition that can consist of two different data structures - lists and maps.

The relationship between the search identifiers to create the detection logic. Ex: selection1 or selection2

A list of log fields that could be interesting in further analysis of the event and should be displayed to the analyst

A list of known false positives that may occur

The criticality of a triggered rule

Rule is intended for enrichment of events, e.g. by tagging them. No case or alerting should be triggered by such rules because it is expected that a huge amount of events will match these rules

Notable event but rarely an incident. Low rated events can be relevant in high numbers or combination with others. Immediate reaction shouldn't be necessary, but a regular review is recommended

Relevant event that should be reviewed manually on a more frequent basis

Relevant event that should trigger an internal alert and requires a prompt review

Highly relevant event that indicates an incident. Critical events should be reviewed immediately. It is used only for cases in which probability borders certainty

Tags to categorize a Sigma rule.

A list of intended scope of the rule

Provide a JSON object that satisfies the schema "Sigma rule specification V2.0.0 (2024-08-08)". Here are the required top‑level fields: title, logsource, detection. Return only the valid JSON object.


[User] Provide a JSON object that satisfies the schema "Sigrid scope configuration file". Here are the required top‑level fields: languages. Return only the valid JSON object.

Analysis scope configuration file used by Sigrid (sigrid-says.com)

When true, excludes files and directories from the analysis scope based on common conventions.

List of file and directory patterns to manually exclude from the analysis.

Directory depth that will be used to define components.

Enable experimental analysis features.

A list of technologies that should be included as part of the analysis.

SIG Maintainability Model that should be used for the analysis, defaults to latest.

When this *or* the 'blocklist' option is provided, OSH analysis is performed for every upload.

List of patterns for library names that should not be sent to external services.

Deprecated, use 'blocklist' instead.

When true, transitive dependencies are also checked and included in the results.

Excludes all dependencies in paths matching the specified regular expression.

Excludes all vulnerabilities matching the specified identifier (e.g. 'CVE-123').

Excludes license risks identified in dependencies with the specified name.

Excludes activity risks identified in dependencies with the specified name.

List of paths and/or dependencies that should be ignored for Open Source Health.

SIG Open Source Health model version that should be used for the analysis, defaults to latest.

List of additional technologies to analyze, which are not enabled by default.

List of technologies for which the analysis should be disabled.

When true, architecture analysis will be triggered for each incoming upload.

SIG Architecture Quality Model that should be used for the analysis, defaults to latest.

List of exclude patterns that applies only to Architecture Quality, not globally.

Deprecated. This option is obsolete.

Automatic componentization based on @sigrid:component annotations in source files.

List of directory names that should be flattened and not considered as components during the analysis.

List of system elements that are manually defined and added to the architecture graph.

List of system elements to manually remove from the architecture graph.

List of manually added dependencies on top of the ones detected automatically by the analysis.

List of dependencies that manually overrides the analysis and removes them from the results.

List of dependencies considered undesirable, and should therefore be highlighted in the visualization.

Map of system elements for which to manually override the name.

Default is false. When true, skips automated data store detection and assumes one monolithic data store.

Annotate all top-level components matching the pattern, in order to divide them into logical groups.

Deprecated. This option is obsolete.

Deprecated. This option is obsolete.

Period to use for repository history analysis, default is last 12 months.

Repository history start date in the format 'yyyy-mm-dd', default is last year.

Repository history end date in the format 'yyyy-mm-dd', default is current date.

Either 'week' (default) or ‘month’.

Filters commits with an abnormally large amount of churn from the history analysis.

Deprecated. This option is obsolete.

Set to false to disable duplication detection, improves performance for huge systems.

Set to false to disable co-evolution detection, improves performance for huge systems.

List of metrics that should be removed from the analysis and set to N/A.

Adds additional custom patterns to the architecture knowledge base used for the analysis.

When true, third party findings analysis will be triggered for each incoming upload.

List of third-party analyzers that should not be ran.

List of rule IDs that should not be reported by Sigrid.

List of third-party analyzer names that should be ran even though they are disabled by default.

List of rule IDs that should be reported by Sigrid, even though they are disabled by default.

List of file/directory patterns that should be included in the third party findings analysis beyond the maintainability scope and production configuration files.

List of file/directory patterns that should be excluded from the third party findings analysis.

Sigrid scope configuration file

Provide a JSON object that satisfies the schema "Sigrid scope configuration file". Here are the required top‑level fields: languages. Return only the valid JSON object.