Skip to content

Home

sfdx-hardis by Cloudity Banner

New: What's new in sfdx-hardis v8 - Deployment Actions are generally available, Pull Request comments are redesigned, and the VS Code extension is rebuilt.

Version Downloads/week Downloads/total Docker Pulls GitHub stars GitHub contributors MegaLinter Secured with Trivy License PRs Welcome

Sfdx-hardis is a CLI and visual productivity tools suite for Salesforce, by Cloudity & friends, natively compliant with most Git platforms, messaging tools, ticketing systems and AI providers (including Agentforce).

Native Integrations

It is free and open-source, and lets you:

DevOps Pipeline UI

Monitoring with Grafana

Salesforce AI Generated Documentation

  • Use many commands that save minutes, hours or even days of your daily admin or developer work.

Productivity commands

If you need help to get the most out of sfdx-hardis, Cloudity's international teams of business and technical experts can help: contact us.

Cloudity

See online documentation for a better navigation


sfdx-hardis commands and configuration are best used from the SFDX Hardis Visual Studio Code extension


Featured on SalesforceBen

SalesforceBen Interview

See Dreamforce presentation

See Dreamforce presentation

Installation

With IDE

You can install Visual Studio Code, then the VS Code extension SFDX Hardis

Once installed, click on SFDX Hardis button in the VS Code left bar, click on Install dependencies and follow the installation instructions.

When everything is green, you are all set.

You can also watch the video tutorial below

Installation tutorial


As SFDX Plugin

Pre-requisites

  • Install Node.js (recommended version)
  • Install the Salesforce CLI by running npm install @salesforce/cli --global

Plugin installation

sf plugins install sfdx-hardis

For advanced use, please also install dependencies

sf plugins install @salesforce/plugin-packaging
sf plugins install sfdx-git-delta
sf plugins install sfdmu

If you are using CI/CD scripts, use echo y | sf plugins install ... to bypass prompt.


Docker

You can use sfdx-hardis docker images to run in CI.

All our Docker images are checked for security issues with MegaLinter by OX Security

Images are published on both GitHub Container Registry (ghcr.io) and Docker Hub. Prefer the ghcr.io images: their publication does not rely on any long-lived token (it is secured with the workflow's ephemeral credentials), so they have the most secure supply chain. Use the Docker Hub mirror images when your infrastructure can only pull from docker.io.

Two image flavors are available:

  • Standard images (sfdx-hardis, sfdx-hardis-ubuntu): Salesforce CI/CD tooling without coding agent CLIs. Use these for standard deployments.
  • With-agents images (sfdx-hardis-with-agents, sfdx-hardis-ubuntu-with-agents): Same as standard + coding agent CLIs pre-installed (Claude, Codex, Gemini, GitHub Copilot). Use these for AI-powered auto-fix scenarios.

Standard images (without coding agent CLIs)

See Dockerfile

See Dockerfile-ubuntu


With-agents images (includes coding agent CLIs)

These images include Claude Code, OpenAI Codex, Gemini CLI, and GitHub Copilot pre-installed and are required for the AI coding agent auto-fix feature.

Note: Alpine-based with-agents images may have limitations with some agent CLIs at runtime due to musl libc. Use Ubuntu-based images for full agent compatibility.

See Dockerfile

See Dockerfile-ubuntu

Usage

sf hardis:<COMMAND> <OPTIONS>

Events

North Africa Dreamin' 2026, Casablanca (upcoming)

Non-deterministic + deterministic Agentic Engineering: Delegate your Salesforce job to Agents but ensure their reliability with CI/CD

Casablanca, Morocco - 24/10/2026

North Africa Dreamin' 2026

Czech Dreamin '26, Prague

Refresh your full sandboxes without needing to reconfigure everything

Prague, Czechia - 29/05/2026

Czech Dreamin 2026

Wir Sind Ohana '26, Berlin

When was the last time you refreshed your sandboxes to have fresh data?

Berlin, Germany - 08/05/2026

Wir Sind Ohana 2026

Dream Ole '26, Valencia

Refresh your full sandboxes without needing to reconfigure everything, with Louise Lockie

Valencia, Spain - 27/03/2026

Dream Ole 2026

Polish Dreamin '26, Wroclaw

Refresh your full sandboxes without needing to reconfigure everything

Wroclaw, Poland - 20/03/2026

Polish Dreamin 2026

Irish Dreamin '26, Dublin

No-Cost DevOps: Enterprise-Grade CI/CD with SFDX-HARDIS, by Abdeslam Loukili

Dublin, Ireland - 19/03/2026

Irish Dreamin 2026 - Abdeslam Loukili

French Touch Dreamin '25

Refresh your full sandboxes without needing to reconfigure everything - with Mehdi Abdennasser

Paris, France - 02/12/2025

Untitled design (14)

DevOps Dreamin

Why you don't need DevOps vendors tools

London, UK - 20/11/2025

Untitled design (13)

Trailblazer User Group '25, Casablanca

Salesforce Org Documentation with Open-Source and Agentforce, by Taha Basri

Trailblazer Developer Group '25, Berlin (online)

Summer of Docs: Auto-Document Your Salesforce Org Like a Pro, by Mariia Pyvovarchuk (Aspect) and Roman Hentschke

London's Calling '25, London

Auto-generate your SF project Documentation site with open-source and Agentforce

image

Czech Dreamin '25, Prague

Auto-generate your SF project Documentation site with open-source and Agentforce, with Mariia Pyvovarchuk

Czech Dreamin 2025

Trailblazer Admin Group '25, Lyon

Techs for Admins: Afterwork Salesforce Inspector Reloaded & sfdx-hardis, with Thomas Prouvot

Dreamforce 2024, San Francisco

Save the Day by Monitoring Your Org with Open-Source Tools, with Olga Shirikova

Dreamforce 2024 Video

Wir Sind Ohana '24, Berlin

Automate the Monitoring of your Salesforce orgs with open-source tools only!, with Yosra Saidani

Wir Sind Ohana Video

Polish Dreamin '24, Wroclaw, Poland

Easy and complete Salesforce CI/CD with open-source only!, with Wojciech Suwiński

Polish Dreamin 2024

French Touch Dreamin '23, Paris

Automate the Monitoring of your Salesforce orgs with open-source tools only!, with Maxime Guenego

French Touch Dreamin 2023

Dreamforce 2023, San Francisco

Easy Salesforce CI/CD with open-source and clicks only thanks to sfdx-hardis!, with Jean-Pierre Rizzi

Dreamforce 2023 Video

Yeur Dreamin' 2023, Brussels

An easy and complete Salesforce CI/CD release management with open-source only !, with Angélique Picoreau

image

Articles & Videos

Web Articles

Here are some articles about sfdx-hardis

  • English

Conga Deployment Cheat Sheet Questions/Answers Salesforce Developers Podcast sfdx-hardis: A release management tool for open-source Assisted solving of Salesforce deployments errors Handle Salesforce API versions Deprecation like a pro How to mass download notes and attachments files from a Salesforce org How to freeze / unfreeze users during a Salesforce deployment How to detect bad words in Salesforce records using SFDX Data Loader and sfdx-hardis Reactivate all the sandbox users with .invalid emails in 3 clicks Invalid scope:Mine, not allowed ? Deploy your ListViews anyway !

Recorded Conferences

Dreamforce Sessions

  • Dreamforce 2024 - Save the Day by Monitoring Your Org with Open-Source Tools (with Olga Shirikova)

Dreamforce 2024: Save the Day by Monitoring Your Org with Open-Source Tools

  • Dreamforce 2023 - Easy Salesforce CI/CD with open-source and clicks only thanks to sfdx-hardis! (with Jean-Pierre Rizzi)

Dreamforce 2023: Easy Salesforce CI/CD with open-source

Community Events

  • Wir Sind Ohana 2024 - Automate the Monitoring of your Salesforce orgs with open-source tools only! (with Yosra Saidani)

Wir Sind Ohana 2024: Automate Monitoring with Open-Source

Podcasts

  • SalesforceBen Deep Dives with Peter Chittum, 2025: Simplify Salesforce Deployment with SFDX Hardis

Video

  • Apex Hours 2025 - Org monitoring with Grafana + AI generated doc

Apex Hours 2025: Org monitoring with Grafana + AI generated doc

  • Salesforce Way Podcast #102 - Sfdx-hardis with Nicolas Vuillamy

Salesforce Way Podcast: Sfdx-hardis

  • Salesforce Developers Podcast Episode 182: SFDX-Hardis with Nicolas Vuillamy

Salesforce Developers Podcast

sfdx-hardis Usage

Features Overview

  • sfdx-hardis 2025 new features overview

sfdx-hardis 2025 new features

  • SFDX-HARDIS: A demo with Nicolas Vuillamy from Cloudity

SalesforceDevOps.net Demo

Installation & Setup

Installation Tutorial

CI/CD Workflows

Dreamforce demo video: Easy Salesforce CI/CD with sfdx-hardis and open-source only !

Create New User Story

Publish User Story Tutorial

Merge Conflicts Resolution

Install Packages Tutorial

Configure CI Authentication

Monitoring

Org Monitoring Setup

Integrations

Slack Integration

GitLab Personal Access Token

Documentation

Generate Project Documentation

Cloudflare Doc Hosting Setup

Contributing

Everyone is welcome to contribute to sfdx-hardis (even juniors: we will help you).

Salesforce CLI Plugin: sfdx-hardis

  • Install Node.js (recommended version)
  • Install TypeScript by running npm install typescript --global
  • Install yarn by running npm install yarn --global
  • Install the Salesforce CLI by running npm install @salesforce/cli --global
  • Fork https://github.com/hardisgroupcom/sfdx-hardis and clone it (or just clone if you are an internal contributor)
  • At the root of the repository:
    • Run yarn to install dependencies
    • Run sf plugins link to link the local sfdx-hardis to the Salesforce CLI
    • Run tsc --watch to transpile TypeScript into JavaScript every time you update a TS file
  • Debug commands using NODE_OPTIONS=--inspect-brk sf hardis:somecommand --someparameter somevalue (you can also debug commands with the VS Code SFDX Hardis extension debug setting)

Note: To test a feature from CI, you can add the following code in your workflow before running sfdx-hardis commands:

REPO_URL="https://github.com/hardisgroupcom/sfdx-hardis.git" # or your forked repo URL
GIT_BRANCH="fixes/my-git-branch" # or the branch you want to test

TEMP_DIR=$(mktemp -d)
git clone "$REPO_URL" "$TEMP_DIR"
cd "$TEMP_DIR"
git checkout "$GIT_BRANCH"
yarn
npm install typescript --global
tsc
sf plugins link
cd -

VS Code Extension: vscode-sfdx-hardis

  • Install Node.js (recommended version)
  • Install TypeScript by running npm install typescript --global
  • Install yarn by running npm install yarn --global
  • Install Visual Studio Code Insiders (download here)
  • Fork https://github.com/hardisgroupcom/vscode-sfdx-hardis and clone it (or just clone if you are an internal contributor)
  • At the root of the repository:
    • Run yarn to install dependencies
  • To test your code in the VS Code extension:
    • Open the vscode-sfdx-hardis folder in VS Code Insiders
    • Press F5 to open a new VS Code window with the extension loaded (or menu Run > Start Debugging)
    • In the new window, open a Salesforce DX project
    • Run commands from the command palette (Ctrl+Shift+P) or use the buttons in the panel or webviews

Dependencies

sfdx-hardis partially relies on the following SFDX Open-Source packages

Contributors

Organization

sfdx-hardis is primarily led by Nicolas Vuillamy & Cloudity, but has many external contributors that we cant thank enough !

Pull Requests Authors

Special Thanks

Translations have been performed by GitHub Copilot with Claude Sonnet 4.6, then reviewed and arranged by real humans !

Commands

hardis:auth

Command Title
hardis:auth:login

hardis:cache

Command Title
hardis:cache:clear

hardis:config

Command Title
hardis:config:get
hardis:config:monitoring-defaults

hardis:datacloud

Command Title
hardis:datacloud:extract:agentforce-conversations
hardis:datacloud:extract:agentforce-feedback
hardis:datacloud:sql-query

hardis:deploy

Command Title
hardis:deploy:quick
hardis:deploy:start
hardis:deploy:validate

hardis:doc

Command Title
hardis:doc:data-dictionary
hardis:doc:dora-report
hardis:doc:extract:permsetgroups
hardis:doc:fieldusage
hardis:doc:flow2markdown
hardis:doc:mkdocs-to-cf
hardis:doc:mkdocs-to-confluence
hardis:doc:mkdocs-to-salesforce
hardis:doc:object-field-usage
hardis:doc:override-prompts
hardis:doc:packagexml2markdown
hardis:doc:plugin:generate
hardis:doc:project2markdown
hardis:doc:release-notes

hardis:doctor

Command Title
hardis:doctor

hardis:git

Command Title
hardis:git:pull-requests:extract

hardis:lint

Command Title
hardis:lint:access
hardis:lint:metadatastatus
hardis:lint:missingattributes
hardis:lint:unusedmetadatas

hardis:mdapi

Command Title
hardis:mdapi:deploy
hardis:mdapi:read
hardis:mdapi:upsert

hardis:misc

Command Title
hardis:misc:custom-label-translations
hardis:misc:purge-references
hardis:misc:servicenow-report
hardis:misc:toml2csv

hardis:org

Command Title
hardis:org:community:update
hardis:org:configure:data
hardis:org:configure:files
hardis:org:configure:generic-prompt
hardis:org:configure:grafana-dashboards
hardis:org:configure:monitoring
hardis:org:connect
hardis:org:create
hardis:org:data:delete
hardis:org:data:export
hardis:org:data:import
hardis:org:diagnose:ai-usage
hardis:org:diagnose:apex-api-version
hardis:org:diagnose:audittrail
hardis:org:diagnose:consumption-alerts
hardis:org:diagnose:deployments
hardis:org:diagnose:flex-queue
hardis:org:diagnose:instanceupgrade
hardis:org:diagnose:legacyapi
hardis:org:diagnose:licenses
hardis:org:diagnose:mfa
hardis:org:diagnose:minimalpermsets
hardis:org:diagnose:releaseupdates
hardis:org:diagnose:storage-stats
hardis:org:diagnose:underusedpermsets
hardis:org:diagnose:unsecure-connected-apps
hardis:org:diagnose:unsecure-permissions
hardis:org:diagnose:unused-apex-classes
hardis:org:diagnose:unused-connected-apps
hardis:org:diagnose:unusedlicenses
hardis:org:diagnose:unusedusers
hardis:org:diagnose:usage-entitlements
hardis:org:ext-client-app:rotate-credentials
hardis:org:files:export
hardis:org:files:import
hardis:org:fix:listviewmine
hardis:org:generate:packagexmlfull
hardis:org:monitor:all
hardis:org:monitor:backup
hardis:org:monitor:errors
hardis:org:monitor:health-check
hardis:org:monitor:limits
hardis:org:multi-org-query
hardis:org:purge:apexlog
hardis:org:purge:flow
hardis:org:purge:profile
hardis:org:refresh:after-refresh
hardis:org:refresh:before-refresh
hardis:org:retrieve:packageconfig
hardis:org:retrieve:sources:analytics
hardis:org:retrieve:sources:dx
hardis:org:retrieve:sources:dx2
hardis:org:retrieve:sources:metadata
hardis:org:retrieve:sources:retrofit
hardis:org:select
hardis:org:test:agents
hardis:org:test:apex
hardis:org:user:activateinvalid
hardis:org:user:freeze
hardis:org:user:unfreeze
hardis:org:user:unlink-security-key

hardis:package

Command Title
hardis📦create
hardis📦install
hardis📦mergexml
hardis📦version:create
hardis📦version:list
hardis📦version:promote

hardis:packagexml

Command Title
hardis:packagexml:append
hardis:packagexml:remove
hardis:packagexml:remove-managed

hardis:project

Command Title
hardis:project:action:base
hardis:project:action:create
hardis:project:action:delete
hardis:project:action:link-pull-request
hardis:project:action:list
hardis:project:action:reorder
hardis:project:action:test-class:add
hardis:project:action:test-class:list
hardis:project:action:test-class:remove
hardis:project:action:update
hardis:project:audit:apiversion
hardis:project:audit:callincallout
hardis:project:audit:duplicatefiles
hardis:project:audit:remotesites
hardis:project:clean:emptyitems
hardis:project:clean:filter-xml-content
hardis:project:clean:flowpositions
hardis:project:clean:hiddenitems
hardis:project:clean:listviews
hardis:project:clean:manageditems
hardis:project:clean:minimizeprofiles
hardis:project:clean:orgmissingitems
hardis:project:clean:profiles-extract
hardis:project:clean:references
hardis:project:clean:retrievefolders
hardis:project:clean:sensitive-metadatas
hardis:project:clean:standarditems
hardis:project:clean:systemdebug
hardis:project:clean:xml
hardis:project:configure:auth
hardis:project:convert:profilestopermsets
hardis:project:create
hardis:project:deploy:notify
hardis:project:deploy:quick
hardis:project:deploy:simulate
hardis:project:deploy:smart
hardis:project:deploy:sources:dx
hardis:project:deploy:sources:metadata
hardis:project:deploy:start
hardis:project:deploy:validate
hardis:project:fix:profiletabs
hardis:project:fix:v53flexipages
hardis:project:generate:bypass
hardis:project:generate:flow-git-diff
hardis:project:generate:gitdelta
hardis:project:lint
hardis:project:metadata:activate-decomposed
hardis:project:metadata:findduplicates
hardis:project:skills:import

hardis:scratch

Command Title
hardis:scratch:create
hardis:scratch:delete
hardis:scratch:pool:create
hardis:scratch:pool:localauth
hardis:scratch:pool:refresh
hardis:scratch:pool:reset
hardis:scratch:pool:view
hardis:scratch:pull
hardis:scratch:push

hardis:source

Command Title
hardis:source:deploy
hardis:source:push
hardis:source:retrieve

hardis:work

Command Title
hardis:work:backpromote
hardis:work:new
hardis:work:refresh
hardis:work:resetselection
hardis:work:save
hardis:work:ws

hello:world

Command Title
hello:world