sfdk-package
Create and manage Salesforce DX packages
TLDR
Create a package
Create a package without executing the check section in RPM SPEC file
Create and sign a package
SYNOPSIS
sfdk-package command [flags]
Common commands would include:
sfdk-package create --name packageName --description description --path path
sfdk-package version create --package packageName --installation-key-bypass --wait minutes
sfdk-package version install --package packageVersionId --target-org orgAlias --wait minutes
PARAMETERS
--name packageName
The desired name for the Salesforce package.
--description description
An optional textual description for the package.
--path path
The file system path to the directory containing the package's source metadata.
--package packageAliasOrId
The package alias or ID (0Ho ID for package, 04t ID for package version) to operate on, e.g., during version creation or installation.
--version-number major.minor.patch.build
Specifies a particular version number for a package version, overriding default auto-increment.
--installation-key-bypass
Used with managed packages to skip the requirement for an installation key during version creation.
--target-dev-hub devHubAlias
The alias or username of the Dev Hub org where the package operations (like creating versions) will be performed.
--target-org orgAlias
The alias or username of the Salesforce organization where the package version will be installed.
--wait minutes
The maximum number of minutes to wait for the command to complete before timing out.
--json
Outputs the command results in machine-readable JSON format.
DESCRIPTION
The sfdk-package command, though not a standard Linux utility, is conceptualized as a tool within a Salesforce Development Kit (SDK) environment, likely an alias or wrapper for sf package or older sfdx force:package commands. It would be designed to manage Salesforce second-generation packages (2GP), which are modular, versioned, and source-driven units of metadata and code. These packages are fundamental for modern Salesforce development, enabling modular application building, dependency management, and streamlined deployment across different Salesforce organizations. The command would facilitate the entire package lifecycle, including creating packages, managing package versions, and installing them into scratch orgs, sandboxes, or production environments. Its primary goal would be to support agile development practices by ensuring consistent and reliable package deployment.
CAVEATS
The command sfdk-package is not a standard, publicly documented Linux command, nor is it a direct subcommand of the official Salesforce CLI (sf or deprecated sfdx). It is highly likely to be either:
1. A custom shell script or alias created by a user or organization to simplify Salesforce package operations.
2. A reference to an older, internal, or less common Salesforce Development Kit utility that is not widely distributed or documented.
Users seeking to perform Salesforce package management should typically use the sf package commands (e.g., sf package create, sf package version create) from the official Salesforce CLI.
PACKAGE TYPES
Salesforce second-generation packages come in two main types: unlocked packages (for internal, modular development and deployments) and managed packages (for ISVs to distribute and sell apps on AppExchange). The commands would differentiate operations based on these types.
Another, older type is unmanaged packages, which are simple containers for moving metadata but lack versioning or upgrade capabilities.
DEV HUB REQUIREMENT
To create and manage Salesforce second-generation packages and their versions, a Salesforce org designated as a Dev Hub is required. This Dev Hub org acts as the central repository for package metadata and definitions. Package versions are created against this Dev Hub.
HISTORY
Salesforce package management has evolved significantly. Initially, Salesforce offered first-generation packages (1GP), which were less flexible. With the advent of Salesforce DX, second-generation packages (2GP) were introduced, emphasizing source-driven development, modularity, and version control. The Salesforce CLI transitioned from sfdx to the more concise sf command, consolidating many functionalities. A command named sfdk-package would conceptually fit into the lineage of tools designed to streamline 2GP development and deployment, likely as an abstraction or wrapper around these evolving official CLI capabilities.