Salesforce CLI Unification — Now in Beta! | Salesforce Developers Blog

Explore a new command line experience for all of Salesforce

At TrailheaDX earlier this year, we announced Salesforce CLI Unification: a massive enhancement to the Salesforce CLI that would enable Salesforce developers to build, test, and deploy across Salesforce from one unified command line experience. Today, we’re happy to announce that the Beta release of CLI Unification is now available! This Beta represents an evolution of the Salesforce CLI towards seamless, cross-Salesforce development, as well as significant improvements around usability and productivity.

Introducing a command taxonomy for the future of Salesforce development

CLI Unification brings a new, global executable, sf, to Salesforce development. This executable will enable us to deliver a simpler taxonomy of commands that is less focused on Salesforce product branding and more focused on the jobs that you need to perform as someone using the CLI. This new command structure was initially previewed in our Demo CLI, and it is now available for broader use in your orgs through this Beta.

Let’s talk a bit about what you can do in the Beta, and what you can expect from future iterations of the Salesforce CLI.

Let’s start with what CLI Unification means for deploy operations. For example, sf deploy will deploy the entire project that is defined in your local directory. If your project includes a Salesforce Function and a Force app, then both can be deployed with one command to each of their respective environments. Plus, this command walks you through the deploy process, so no need to remember all the flags. The command steps you through the process, and if this is a deploy that you do all the time, you can save that deploy configuration for the future and it will be called each time you run sf deploy.

In the future, the range of projects that you can take on with the Salesforce CLI will expand to include other Salesforce products. As an example, let’s say that you later include a Heroku app, some MuleSoft APIs, and a resource from Marketing Cloud in your project. In this case, sf deploy would deploy all of these resources to all of their respective environments.

Now, what if you want a more granular way of deploying changes, or you want to use a product-specific deployment feature? In that case, you’d use the product-specific deploy commands that have flag options for granular deployment. As an example, sf deploy metadata will support all the current options for force:source:deploy and, in the future, force:source:push.

These new commands on their own are significant improvements to the Salesforce CLI. But in an effort to make them even more usable, you’ll see things like spaces instead of colons and interactive prompting within commands like sf login that make it easier to navigate your orgs and environments — all of which will make your Salesforce CLI experience simpler and more productive. And as this is a Beta, we will continue to add more commands to this taxonomy over time as we head to GA and beyond.

Get started with the Beta today

CLI Unification is a seamless evolution of our Salesforce CLI, which means that it’s delivered in the same installer. So when you update your Salesforce CLI today, you will have access to the Beta of sf. Also note that sf and sfdx commands are compatible, so you can use both executables together seamlessly.

To learn more, visit our getting started guide, file issues as you build with the Beta, and stay tuned to our Salesforce CLI repo on GitHub for updates. And be sure to tune in to Dreamforce ’21 in late September to hear more about CLI Unification and all of the other exciting investments coming soon to your developer tooling experience.

About the authors

Claire Bianchi is Senior Director of Product Management for Developer Tooling at Salesforce.

Rodrigo Espinosa is a Senior Software Engineer for Developer Tooling at Salesforce.

Stay up to date with the latest news from the Salesforce Developers Blog

Subscribe