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

Which installation do I need?

There are three ways to install sfdx-hardis, and you only need one of them.

Your situation What to install Terminal needed
You want to use sfdx-hardis on your computer, with menus and buttons instead of commands. This is how most people use it. Visual Studio Code and the SFDX Hardis extension No
You are at ease with a terminal and only want the commands. The sfdx-hardis plugin for Salesforce CLI Yes
You are setting up a CI/CD pipeline (GitHub, GitLab, Azure, Bitbucket). A ready to use Docker image Yes

Not sure? Take the first one: it also installs the command line version for you.


Visual Studio Code, usually shortened to VS Code, is a free application published by Microsoft. sfdx-hardis runs inside it and adds its own menus and buttons, so you can use every feature without typing a single command.

You do not need to know VS Code, or to write code, to follow the five steps below. Plan about 15 minutes, mostly waiting for downloads.

Step 1: Install Visual Studio Code

Go to code.visualstudio.com, download the version for your system (Windows, macOS or Linux), then run the downloaded file and keep the proposed options.

If VS Code is already on your computer, jump to step 2.

Step 2: Install the SFDX Hardis extension

  • Start VS Code.
  • In the vertical bar of icons on the left, called the Activity Bar, click the Extensions icon VS Code Extensions icon (four small squares, the top right one tilted). Keyboard shortcut: Ctrl+Shift+X, or Cmd+Shift+X on macOS.
  • Type sfdx hardis in the search box.
  • Click SFDX Hardis in the results, then click Install.
  • If VS Code asks whether you trust the publisher, accept: the extension is published by NicolasVuillamy, the author of sfdx-hardis.

You can also do it from your browser: open the SFDX Hardis page on the Visual Studio Marketplace, click Install, and let the browser hand over to VS Code.

Step 3: Open the sfdx-hardis panel

Once the extension is installed, a new icon SFDX Hardis button appears in the Activity Bar, on the left. Click it (arrow 1 below): the sfdx-hardis menus appear, and the Welcome page opens.

At the top of the Welcome page, click the dependencies button (arrow 2 below).

Step 4: Install the dependencies

To talk to Salesforce and to Git, sfdx-hardis needs a few other free tools. The setup page lists them all, with a green check on those you already have.

  • Click Install or Upgrade on every line that is not green, or click Run pending installs to handle them one after the other.
  • Node.js and Git are the two you may have to install by yourself: download them from nodejs.org and git-scm.com, then click Re-check on the line.
  • Close VS Code and open it again at the end, so it sees the newly installed tools.

When every line is green, the installation is over.

Step 5: Connect to your Salesforce org

Go back to the Welcome page and click Connect to log in to your first org. The same page then gives you access to all the features.

Where to go next:

Video tutorial

If you prefer to watch someone do it first, follow the video below.

Installation tutorial

If something does not work

  • A line stays red after you installed the tool: close VS Code, open it again, then click Re-check on that line.
  • A command does nothing: open the setup page again, a dependency may still be missing or outdated.
  • Still stuck? Open a GitHub issue, the maintainers and the community answer there.

Other VS Code compatible IDEs

The extension is published on both the Visual Studio Marketplace and the Open VSX Registry, so the steps above also work in the IDEs built on VS Code, on desktop or in the browser.

IDE Install from
Visual Studio Code Visual Studio Code Visual Studio Marketplace
Agentforce Vibes IDE Agentforce Vibes IDE and other browser IDEs Open VSX
Cursor Windsurf VSCodium Cursor, Windsurf, VSCodium and other VS Code forks Open VSX

The only requirement is the same as for VS Code: the IDE must be able to run the Salesforce CLI (Agentforce Vibes IDE ships it preinstalled).


Install as a Salesforce CLI plugin

For those who prefer to type commands in a terminal. If you followed the VS Code steps above, this is already done.

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.


Run in CI/CD with a Docker image

For pipelines: the images already contain Node.js, the Salesforce CLI, sfdx-hardis and its plugins, so a job starts without installing anything.

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