npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@b64hub/sfpm-cli

v0.2.0

Published

Salesforce package manager - CLI

Readme

sfpm

sfpm is the devops tool Salesforce engineers have been waiting for

oclif Version Downloads/week

Usage

$ npm install -g @b64hub/sfpm-cli
$ sfpm COMMAND
running command...
$ sfpm (--version)
@b64hub/sfpm-cli/0.2.0 darwin-arm64 node-v25.2.1
$ sfpm --help [COMMAND]
USAGE
  $ sfpm COMMAND
...

Commands

sfpm add PACKAGES

add packages as dependencies

USAGE
  $ sfpm add PACKAGES... [--json | --plain] [--log-level
    trace|debug|info|warn|error]

ARGUMENTS
  PACKAGES...  package(s) to add

FLAGS
  --json                output result as JSON
  --log-level=<option>  [default: error, env: SFPM_LOG_LEVEL] diagnostic log level
                        <options: trace|debug|info|warn|error>
  --plain               non-interactive output (no spinners or cursor movement)

DESCRIPTION
  add packages as dependencies

EXAMPLES
  $ sfpm add @myorg/my-package

  $ sfpm add @myorg/package-a @myorg/package-b

See code: dist/commands/add.js

sfpm bootstrap

Bootstrap SFPM packages into a production org

USAGE
  $ sfpm bootstrap -o <value> [--json | --plain] [--log-level
    trace|debug|info|warn|error] [-f] [-t core|pool|full]

FLAGS
  -f, --force               force rebuild, re-promote, and re-install all packages
  -o, --target-org=<value>  (required) target org username (must also be a DevHub)
  -t, --tier=<option>       package tier to install
                            <options: core|pool|full>
      --json                output result as JSON
      --log-level=<option>  [default: error, env: SFPM_LOG_LEVEL] diagnostic log level
                            <options: trace|debug|info|warn|error>
      --plain               non-interactive output (no spinners or cursor movement)

DESCRIPTION
  Bootstrap SFPM packages into a production org

EXAMPLES
  $ sfpm bootstrap -o my-prod-org

  $ sfpm bootstrap -o my-prod-org --tier core

  $ sfpm bootstrap -o my-prod-org --tier full --json

  $ sfpm bootstrap -o my-prod-org --force

See code: dist/commands/bootstrap.js

sfpm build PACKAGES

build packages

USAGE
  $ sfpm build PACKAGES... [--json | --plain] [--log-level
    trace|debug|info|warn|error] [--async] [-b <value>] [-o <value>] [-f] [-k <value>...] [--no-dependencies]
    [--source-only] [-t <value>] [-v <value>] [--turbo] [-l local|org|full] [-w <value>]

ARGUMENTS
  PACKAGES...  package(s) to build

FLAGS
  -b, --build-number=<value>         build number
  -f, --force                        [env: SFPM_FORCE_BUILD] build even if no source changes detected
  -k, --installation-key=<value>...  installation key for unlocked packages; repeat as <package>=<key>, or a bare value
                                     as the default
  -l, --validation=<option>          [default: local] validation level (use --no-validation to skip)
                                     <options: local|org|full>
  -o, --build-org=<value>            target org for source package validation (deploy + test)
  -t, --tag=<value>                  tag for the build
  -v, --target-dev-hub=<value>       [default: dev-niko, env: SF_DEV_HUB] target dev hub username
  -w, --wait=<value>                 [default: 120] timeout in minutes for package version creation
      --async                        return immediately without waiting for validation results
      --json                         output result as JSON
      --log-level=<option>           [default: error, env: SFPM_LOG_LEVEL] diagnostic log level
                                     <options: trace|debug|info|warn|error>
      --no-dependencies              build the specified packages without their transitive dependencies
      --plain                        non-interactive output (no spinners or cursor movement)
      --source-only                  [env: SFPM_SOURCE_ONLY] route all packages through source deployment (no DevHub, no
                                     package version IDs)
      --turbo                        single-package mode for external orchestrators (implies --no-dependencies)

DESCRIPTION
  build packages

EXAMPLES
  $ sfpm build my-package -v my-devhub

  $ sfpm build my-package -v my-devhub --plain

  $ sfpm build my-package -v my-devhub --json

  $ sfpm build my-package -v my-devhub --force

  $ sfpm build package-a package-b -v my-devhub

See code: dist/commands/build/index.js

sfpm build status

check the status of async build watchers

USAGE
  $ sfpm build status [--log-level trace|debug|info|warn|error]
    [--plain | --json] [--poll]

FLAGS
  --json                output as JSON
  --log-level=<option>  [default: error, env: SFPM_LOG_LEVEL] diagnostic log level
                        <options: trace|debug|info|warn|error>
  --plain               non-interactive output (no spinners or cursor movement)
  --poll                poll Salesforce directly for current status

DESCRIPTION
  check the status of async build watchers

EXAMPLES
  $ sfpm build status

  $ sfpm build status --json

  $ sfpm build status --poll

See code: dist/commands/build/status.js

sfpm deploy PACKAGES

deploy packages from local project source

USAGE
  $ sfpm deploy PACKAGES... [--json | --plain] [--log-level
    trace|debug|info|warn|error] [-f] [--no-dependencies] [--no-hooks] [--regression-test] [-o <value>] [-l
    NoTestRun|RunSpecifiedTests|RunLocalTests|RunAllTestsInOrg] [--turbo]

ARGUMENTS
  PACKAGES...  package(s) to deploy

FLAGS
  -f, --[no-]force           force deploy even if already installed
  -l, --test-level=<option>  deployment test level
                             <options: NoTestRun|RunSpecifiedTests|RunLocalTests|RunAllTestsInOrg>
  -o, --target-org=<value>   [env: SF_TARGET_ORG] target org username
      --json                 output result as JSON
      --log-level=<option>   [default: error, env: SFPM_LOG_LEVEL] diagnostic log level
                             <options: trace|debug|info|warn|error>
      --no-dependencies      only deploy the specified packages, skip transitive dependencies
      --no-hooks             skip lifecycle hooks
      --plain                non-interactive output (no spinners or cursor movement)
      --regression-test      run tests in direct dependents after deploy to detect regressions
      --turbo                single-package mode for external orchestrators (implies --no-dependencies --force)

DESCRIPTION
  deploy packages from local project source

EXAMPLES
  $ sfpm deploy my-package -o my-sandbox

  $ sfpm deploy my-package -o my-sandbox --plain

  $ sfpm deploy my-package -o my-sandbox --json

  $ sfpm deploy package-a package-b -o my-sandbox

See code: dist/commands/deploy/index.js

sfpm deploy artifact PACKAGES

deploy packages from built artifacts using source-deploy

USAGE
  $ sfpm deploy artifact PACKAGES... [--json | --plain] [--log-level
    trace|debug|info|warn|error] [-f] [--no-dependencies] [--no-hooks] [--regression-test] [-o <value>] [-l
    NoTestRun|RunSpecifiedTests|RunLocalTests|RunAllTestsInOrg] [--turbo]

ARGUMENTS
  PACKAGES...  package(s) to deploy

FLAGS
  -f, --[no-]force           force deploy even if already installed
  -l, --test-level=<option>  deployment test level
                             <options: NoTestRun|RunSpecifiedTests|RunLocalTests|RunAllTestsInOrg>
  -o, --target-org=<value>   [env: SF_TARGET_ORG] target org username
      --json                 output result as JSON
      --log-level=<option>   [default: error, env: SFPM_LOG_LEVEL] diagnostic log level
                             <options: trace|debug|info|warn|error>
      --no-dependencies      only deploy the specified packages, skip transitive dependencies
      --no-hooks             skip lifecycle hooks
      --plain                non-interactive output (no spinners or cursor movement)
      --regression-test      run tests in direct dependents after deploy to detect regressions
      --turbo                single-package mode for external orchestrators (implies --no-dependencies --force)

DESCRIPTION
  deploy packages from built artifacts using source-deploy

EXAMPLES
  $ sfpm deploy artifact my-package -o my-sandbox

  $ sfpm deploy artifact my-package -o my-sandbox --plain

  $ sfpm deploy artifact my-package -o my-sandbox --json

  $ sfpm deploy artifact package-a package-b -o my-sandbox

See code: dist/commands/deploy/artifact.js

sfpm help [COMMAND]

Display help for sfpm.

USAGE
  $ sfpm help [COMMAND...] [-n]

ARGUMENTS
  [COMMAND...]  Command to show help for.

FLAGS
  -n, --nested-commands  Include all nested commands in the output.

DESCRIPTION
  Display help for sfpm.

See code: @oclif/plugin-help

sfpm install PACKAGES

install packages

USAGE
  $ sfpm install PACKAGES... -o <value> [--json | --plain]
    [--log-level trace|debug|info|warn|error] [-f] [-k <value>...] [--no-dependencies] [--regression-test] [-l
    NoTestRun|RunSpecifiedTests|RunLocalTests|RunAllTestsInOrg] [--turbo]

ARGUMENTS
  PACKAGES...  package(s) to install

FLAGS
  -f, --force                        force reinstall even if already installed
  -k, --installation-key=<value>...  installation key for unlocked packages; repeat as <package>=<key>, or a bare value
                                     as the default
  -l, --test-level=<option>          deployment test level (for source deployments)
                                     <options: NoTestRun|RunSpecifiedTests|RunLocalTests|RunAllTestsInOrg>
  -o, --target-org=<value>           (required) [env: SF_TARGET_ORG] target org username
      --json                         output result as JSON
      --log-level=<option>           [default: error, env: SFPM_LOG_LEVEL] diagnostic log level
                                     <options: trace|debug|info|warn|error>
      --no-dependencies              only install the specified packages, skip transitive dependencies
      --plain                        non-interactive output (no spinners or cursor movement)
      --regression-test              run tests in direct dependents after install to detect regressions
      --turbo                        single-package mode for external orchestrators (implies --no-dependencies --force)

DESCRIPTION
  install packages

EXAMPLES
  $ sfpm install my-package -o my-sandbox

  $ sfpm install my-package -o my-sandbox --plain

  $ sfpm install my-package -o my-sandbox --json

  $ sfpm install package-a package-b -o my-sandbox

See code: dist/commands/install.js

sfpm package create

Create a new SFPM package with interactive scaffolding

USAGE
  $ sfpm package create [--log-level trace|debug|info|warn|error]
    [--plain | --json] [-d <value>] [-n <value>] [--org-dependent] [-p <value>] [-s <value>] [-t unlocked|source|data]

FLAGS
  -d, --devhub=<value>      DevHub org username (required for unlocked packages)
  -n, --name=<value>        package name (without npm scope)
  -p, --path=<value>        SF source path within the package directory (default: ".")
  -s, --scope=<value>       npm scope for the package (e.g., "@myorg")
  -t, --type=<option>       package type
                            <options: unlocked|source|data>
      --json                output as JSON for CI/CD
      --log-level=<option>  [default: error, env: SFPM_LOG_LEVEL] diagnostic log level
                            <options: trace|debug|info|warn|error>
      --org-dependent       create as org-dependent unlocked package
      --plain               non-interactive output (no spinners or cursor movement)

DESCRIPTION
  Create a new SFPM package with interactive scaffolding

EXAMPLES
  $ sfpm package create

  $ sfpm package create --name my-package --type unlocked --devhub my-devhub

  $ sfpm package create --name my-package --type source

  $ sfpm package create --json

See code: dist/commands/package/create.js

sfpm plugins

List installed plugins.

USAGE
  $ sfpm plugins [--json] [--core]

FLAGS
  --core  Show core plugins.

GLOBAL FLAGS
  --json  Format output as json.

DESCRIPTION
  List installed plugins.

EXAMPLES
  $ sfpm plugins

See code: @oclif/plugin-plugins

sfpm plugins add PLUGIN

Installs a plugin into sfpm.

USAGE
  $ sfpm plugins add PLUGIN... [--json] [-f] [-h] [-s | -v]

ARGUMENTS
  PLUGIN...  Plugin to install.

FLAGS
  -f, --force    Force npm to fetch remote resources even if a local copy exists on disk.
  -h, --help     Show CLI help.
  -s, --silent   Silences npm output.
  -v, --verbose  Show verbose npm output.

GLOBAL FLAGS
  --json  Format output as json.

DESCRIPTION
  Installs a plugin into sfpm.

  Uses npm to install plugins.

  Installation of a user-installed plugin will override a core plugin.

  Use the SFPM_NPM_LOG_LEVEL environment variable to set the npm loglevel.
  Use the SFPM_NPM_REGISTRY environment variable to set the npm registry.

ALIASES
  $ sfpm plugins add

EXAMPLES
  Install a plugin from npm registry.

    $ sfpm plugins add myplugin

  Install a plugin from a github url.

    $ sfpm plugins add https://github.com/someuser/someplugin

  Install a plugin from a github slug.

    $ sfpm plugins add someuser/someplugin

sfpm plugins:inspect PLUGIN...

Displays installation properties of a plugin.

USAGE
  $ sfpm plugins inspect PLUGIN...

ARGUMENTS
  PLUGIN...  [default: .] Plugin to inspect.

FLAGS
  -h, --help     Show CLI help.
  -v, --verbose

GLOBAL FLAGS
  --json  Format output as json.

DESCRIPTION
  Displays installation properties of a plugin.

EXAMPLES
  $ sfpm plugins inspect myplugin

See code: @oclif/plugin-plugins

sfpm plugins install PLUGIN

Installs a plugin into sfpm.

USAGE
  $ sfpm plugins install PLUGIN... [--json] [-f] [-h] [-s | -v]

ARGUMENTS
  PLUGIN...  Plugin to install.

FLAGS
  -f, --force    Force npm to fetch remote resources even if a local copy exists on disk.
  -h, --help     Show CLI help.
  -s, --silent   Silences npm output.
  -v, --verbose  Show verbose npm output.

GLOBAL FLAGS
  --json  Format output as json.

DESCRIPTION
  Installs a plugin into sfpm.

  Uses npm to install plugins.

  Installation of a user-installed plugin will override a core plugin.

  Use the SFPM_NPM_LOG_LEVEL environment variable to set the npm loglevel.
  Use the SFPM_NPM_REGISTRY environment variable to set the npm registry.

ALIASES
  $ sfpm plugins add

EXAMPLES
  Install a plugin from npm registry.

    $ sfpm plugins install myplugin

  Install a plugin from a github url.

    $ sfpm plugins install https://github.com/someuser/someplugin

  Install a plugin from a github slug.

    $ sfpm plugins install someuser/someplugin

See code: @oclif/plugin-plugins

sfpm plugins link PATH

Links a plugin into the CLI for development.

USAGE
  $ sfpm plugins link PATH [-h] [--install] [-v]

ARGUMENTS
  PATH  [default: .] path to plugin

FLAGS
  -h, --help          Show CLI help.
  -v, --verbose
      --[no-]install  Install dependencies after linking the plugin.

DESCRIPTION
  Links a plugin into the CLI for development.

  Installation of a linked plugin will override a user-installed or core plugin.

  e.g. If you have a user-installed or core plugin that has a 'hello' command, installing a linked plugin with a 'hello'
  command will override the user-installed or core plugin implementation. This is useful for development work.


EXAMPLES
  $ sfpm plugins link myplugin

See code: @oclif/plugin-plugins

sfpm plugins remove [PLUGIN]

Removes a plugin from the CLI.

USAGE
  $ sfpm plugins remove [PLUGIN...] [-h] [-v]

ARGUMENTS
  [PLUGIN...]  plugin to uninstall

FLAGS
  -h, --help     Show CLI help.
  -v, --verbose

DESCRIPTION
  Removes a plugin from the CLI.

ALIASES
  $ sfpm plugins unlink
  $ sfpm plugins remove

EXAMPLES
  $ sfpm plugins remove myplugin

sfpm plugins reset

Remove all user-installed and linked plugins.

USAGE
  $ sfpm plugins reset [--hard] [--reinstall]

FLAGS
  --hard       Delete node_modules and package manager related files in addition to uninstalling plugins.
  --reinstall  Reinstall all plugins after uninstalling.

See code: @oclif/plugin-plugins

sfpm plugins uninstall [PLUGIN]

Removes a plugin from the CLI.

USAGE
  $ sfpm plugins uninstall [PLUGIN...] [-h] [-v]

ARGUMENTS
  [PLUGIN...]  plugin to uninstall

FLAGS
  -h, --help     Show CLI help.
  -v, --verbose

DESCRIPTION
  Removes a plugin from the CLI.

ALIASES
  $ sfpm plugins unlink
  $ sfpm plugins remove

EXAMPLES
  $ sfpm plugins uninstall myplugin

See code: @oclif/plugin-plugins

sfpm plugins unlink [PLUGIN]

Removes a plugin from the CLI.

USAGE
  $ sfpm plugins unlink [PLUGIN...] [-h] [-v]

ARGUMENTS
  [PLUGIN...]  plugin to uninstall

FLAGS
  -h, --help     Show CLI help.
  -v, --verbose

DESCRIPTION
  Removes a plugin from the CLI.

ALIASES
  $ sfpm plugins unlink
  $ sfpm plugins remove

EXAMPLES
  $ sfpm plugins unlink myplugin

sfpm plugins update

Update installed plugins.

USAGE
  $ sfpm plugins update [-h] [-v]

FLAGS
  -h, --help     Show CLI help.
  -v, --verbose

DESCRIPTION
  Update installed plugins.

See code: @oclif/plugin-plugins

sfpm pool delete

delete orgs from a pool

USAGE
  $ sfpm pool delete -t <value>... [--json | --plain]
    [--log-level trace|debug|info|warn|error] [--in-progress-only] [--my-pool] [-v <value>] [--type scratch|sandbox]

FLAGS
  -t, --tag=<value>...          (required) pool tag to delete from (repeat to delete from multiple pools)
  -v, --target-dev-hub=<value>  [default: dev-niko] target hub org username or alias
      --in-progress-only        only delete orgs with "In Progress" status
      --json                    output result as JSON
      --log-level=<option>      [default: error, env: SFPM_LOG_LEVEL] diagnostic log level
                                <options: trace|debug|info|warn|error>
      --my-pool                 only delete orgs created by the current user
      --plain                   non-interactive output (no spinners or cursor movement)
      --type=<option>           [default: scratch] pool type: scratch or sandbox
                                <options: scratch|sandbox>

DESCRIPTION
  delete orgs from a pool

EXAMPLES
  $ sfpm pool delete --tag dev-pool -v my-devhub

  $ sfpm pool delete --tag sb-pool --type sandbox -v my-prod-org

  $ sfpm pool delete --tag dev-pool -v my-devhub --in-progress-only

  $ sfpm pool delete --tag dev-pool -v my-devhub --my-pool

  $ sfpm pool delete --tag dev-pool --tag qa-pool -v my-devhub

  $ sfpm pool delete --tag dev-pool -v my-devhub --json

See code: dist/commands/pool/delete.js

sfpm pool fetch

fetch an org from a pool

USAGE
  $ sfpm pool fetch -t <value> [--json | --plain] [--log-level
    trace|debug|info|warn|error] [-a <value>] [--limit <value>] [--my-pool] [--send-to <value>] [--set-default]
    [--source-tracking] [-v <value>] [--type scratch|sandbox]

FLAGS
  -a, --alias=<value>           set a local alias for the fetched org
  -t, --tag=<value>             (required) pool tag to fetch from
  -v, --target-dev-hub=<value>  [default: dev-niko] target hub org username or alias
      --json                    output result as JSON
      --limit=<value>           max orgs to return when using --all
      --log-level=<option>      [default: error, env: SFPM_LOG_LEVEL] diagnostic log level
                                <options: trace|debug|info|warn|error>
      --my-pool                 only fetch from orgs created by the current user
      --plain                   non-interactive output (no spinners or cursor movement)
      --send-to=<value>         email org details to this address instead of local login
      --[no-]set-default        set the fetched org as the default target org
      --source-tracking         enable source tracking after fetch
      --type=<option>           [default: scratch] pool type: scratch or sandbox
                                <options: scratch|sandbox>

DESCRIPTION
  fetch an org from a pool

EXAMPLES
  $ sfpm pool fetch --tag dev-pool -v my-devhub

  $ sfpm pool fetch --tag dev-pool -v my-devhub --alias my-scratch

  $ sfpm pool fetch --tag sb-pool --type sandbox -v my-prod-org

  $ sfpm pool fetch --tag dev-pool -v my-devhub --send-to [email protected]

  $ sfpm pool fetch --tag dev-pool -v my-devhub --all --limit 5

  $ sfpm pool fetch --tag dev-pool -v my-devhub --json

See code: dist/commands/pool/fetch.js

sfpm pool fill

fill a pool with orgs

USAGE
  $ sfpm pool fill -t <value>... [--json | --plain]
    [--log-level trace|debug|info|warn|error] [--batch-size <value>] [-d <value>] [--expiry-days <value>] [--max
    <value>] [--name-pattern <value>] [-v <value>] [--type scratch|sandbox] [--use-local-source]

FLAGS
  -d, --definition-file=<value>  org definition file (scratch org or sandbox)
  -t, --tag=<value>...           (required) pool tag (repeat to fill multiple pools)
  -v, --target-dev-hub=<value>   [default: dev-niko] target hub org username or alias
      --batch-size=<value>       max concurrent org creations (default: 5)
      --expiry-days=<value>      scratch org expiry in days (default: 7)
      --json                     output result as JSON
      --log-level=<option>       [default: error, env: SFPM_LOG_LEVEL] diagnostic log level
                                 <options: trace|debug|info|warn|error>
      --max=<value>              maximum number of orgs to allocate (overrides config)
      --name-pattern=<value>     override sandbox name prefix from definition file (e.g., SB → SB1, SB2, ...)
      --plain                    non-interactive output (no spinners or cursor movement)
      --type=<option>            pool type: scratch or sandbox (inferred from config if omitted)
                                 <options: scratch|sandbox>
      --use-local-source         deploy from local project source instead of downloaded artifacts

DESCRIPTION
  fill a pool with orgs

EXAMPLES
  $ sfpm pool fill --tag dev-pool --max 10 -d config/project-scratch-def.json -v my-devhub

  $ sfpm pool fill --tag sb-pool --max 5 --type sandbox -d config/sandbox-def.json -v my-prod-org

  $ sfpm pool fill --tag dev-pool --tag qa-pool --max 10 -d config/project-scratch-def.json -v my-devhub

  $ sfpm pool fill --tag dev-pool --max 10 -d config/project-scratch-def.json -v my-devhub --json

See code: dist/commands/pool/fill.js

sfpm pool list

list orgs in a pool

USAGE
  $ sfpm pool list [--json | --plain] [--log-level
    trace|debug|info|warn|error] [--my-pool] [-t <value>] [-v <value>] [--type scratch|sandbox]

FLAGS
  -t, --tag=<value>             pool tag to query (omit to list all pools)
  -v, --target-dev-hub=<value>  [default: dev-niko] target hub org username or alias
      --json                    output result as JSON
      --log-level=<option>      [default: error, env: SFPM_LOG_LEVEL] diagnostic log level
                                <options: trace|debug|info|warn|error>
      --my-pool                 only show orgs created by the current user
      --plain                   non-interactive output (no spinners or cursor movement)
      --type=<option>           [default: scratch] pool type: scratch or sandbox
                                <options: scratch|sandbox>

DESCRIPTION
  list orgs in a pool

EXAMPLES
  $ sfpm pool list --tag dev-pool -v my-devhub

  $ sfpm pool list --tag sb-pool --type sandbox -v my-prod-org

  $ sfpm pool list --tag dev-pool -v my-devhub --my-pool

  $ sfpm pool list --tag dev-pool -v my-devhub --json

See code: dist/commands/pool/list.js

sfpm project

Overview of the project

USAGE
  $ sfpm project [--json | --plain] [--log-level
    trace|debug|info|warn|error] [-p]

FLAGS
  -p, --path                Display package paths
      --json                output result as JSON
      --log-level=<option>  [default: error, env: SFPM_LOG_LEVEL] diagnostic log level
                            <options: trace|debug|info|warn|error>
      --plain               non-interactive output (no spinners or cursor movement)

DESCRIPTION
  Overview of the project

EXAMPLES
  $ sfpm project

See code: dist/commands/project/index.js

sfpm project init

Verify project configuration and setup requirements

USAGE
  $ sfpm project init [--json | --plain] [--log-level
    trace|debug|info|warn|error] [-f]

FLAGS
  -f, --fix                 Attempt to fix issues automatically
      --json                output result as JSON
      --log-level=<option>  [default: error, env: SFPM_LOG_LEVEL] diagnostic log level
                            <options: trace|debug|info|warn|error>
      --plain               non-interactive output (no spinners or cursor movement)

DESCRIPTION
  Verify project configuration and setup requirements

EXAMPLES
  $ sfpm project init

  $ sfpm project init --fix

See code: dist/commands/project/init/index.js

sfpm project init turbo

Initialize a turbo-native workspace for SFPM packages

USAGE
  $ sfpm project init turbo [--log-level trace|debug|info|warn|error]
    [--plain | --json] [-m] [--npm-scope <value>] [--package-manager pnpm|npm|yarn] [--workspace-dir <value>] [-y]

FLAGS
  -m, --migrate                   migrate from an existing sfdx-project.json
  -y, --yes                       skip confirmation prompts (use defaults)
      --json                      output result as JSON
      --log-level=<option>        [default: error, env: SFPM_LOG_LEVEL] diagnostic log level
                                  <options: trace|debug|info|warn|error>
      --npm-scope=<value>         npm scope for package names (e.g., @myorg)
      --package-manager=<option>  [default: pnpm] package manager to use
                                  <options: pnpm|npm|yarn>
      --plain                     non-interactive output (no spinners or cursor movement)
      --workspace-dir=<value>     directory prefix for migrated packages (e.g., "packages")

DESCRIPTION
  Initialize a turbo-native workspace for SFPM packages

EXAMPLES
  $ sfpm project init turbo

  $ sfpm project init turbo --migrate

  $ sfpm project init turbo --migrate --npm-scope @myorg

  $ sfpm project init turbo --migrate --workspace-dir packages

  $ sfpm project init turbo --json

See code: dist/commands/project/init/turbo.js

sfpm project sync

Generate sfdx-project.json from workspace package.json files

USAGE
  $ sfpm project sync [--log-level trace|debug|info|warn|error]
    [--plain | --json] [--api-version <value>]

FLAGS
  --api-version=<value>  Override Salesforce API version (e.g., 63.0)
  --json                 output result as JSON
  --log-level=<option>   [default: error, env: SFPM_LOG_LEVEL] diagnostic log level
                         <options: trace|debug|info|warn|error>
  --plain                non-interactive output (no spinners or cursor movement)

DESCRIPTION
  Generate sfdx-project.json from workspace package.json files

EXAMPLES
  $ sfpm project sync

  $ sfpm project sync --api-version 63.0

See code: dist/commands/project/sync.js

sfpm project version bump

Bump package versions in sfdx-project.json

USAGE
  $ sfpm project version bump [--json | --plain] [--log-level
    trace|debug|info|warn|error] [-a] [--dryrun] [-M] [-m] [-p <value>] [--patch] [-f <value>] [-o <value>] [-r <value>]
    [-v <value>]

FLAGS
  -M, --major                  Increment major number
  -a, --all                    Increment all package versions
  -f, --projectfile=<value>    [default: sfdx-project.json] Path to sfdx-project.json file
  -m, --minor                  Increment minor number
  -o, --targetorg=<value>      Specify the target org for diff comparison
  -p, --package=<value>        Specify the package to increment
  -r, --targetref=<value>      Specify the git reference for diff comparison
  -v, --versionnumber=<value>  Set a custom version number
      --dryrun                 Preview changes without saving to sfdx-project.json
      --json                   output result as JSON
      --log-level=<option>     [default: error, env: SFPM_LOG_LEVEL] diagnostic log level
                               <options: trace|debug|info|warn|error>
      --patch                  Increment patch number (default)
      --plain                  non-interactive output (no spinners or cursor movement)

DESCRIPTION
  Bump package versions in sfdx-project.json

EXAMPLES
  $ sfp project version bump --package mypackage --minor

  $ sfp project version bump --all --patch

  $ sfp project version bump --targetref main

  $ sfp project version bump --targetorg myorg

  $ sfp project version bump --package mypackage --versionnumber 2.0.0

  $ sfp project version bump --package mypackage --patch --projectfile path/to/sfdx-project.json

See code: dist/commands/project/version/bump.js

sfpm publish [PACKAGES]

publish packages from their dist directories

USAGE
  $ sfpm publish [PACKAGES...] [--json | --plain]
    [--log-level trace|debug|info|warn|error] [--dry-run] [--tag <value>]

ARGUMENTS
  [PACKAGES...]  package(s) to publish (defaults to all workspace packages)

FLAGS
  --dry-run             show what would be published without actually publishing
  --json                output result as JSON
  --log-level=<option>  [default: error, env: SFPM_LOG_LEVEL] diagnostic log level
                        <options: trace|debug|info|warn|error>
  --plain               non-interactive output (no spinners or cursor movement)
  --tag=<value>         [default: latest] npm dist-tag (e.g., latest, next)

DESCRIPTION
  publish packages from their dist directories

EXAMPLES
  $ sfpm publish my-package

  $ sfpm publish my-package --tag next

  $ sfpm publish all

See code: dist/commands/publish.js

sfpm watch cancel ID

cancel a running watcher by killing its process

USAGE
  $ sfpm watch cancel ID [--log-level trace|debug|info|warn|error]
    [--plain | --json]

ARGUMENTS
  ID  watcher ID to cancel

FLAGS
  --json                output as JSON
  --log-level=<option>  [default: error, env: SFPM_LOG_LEVEL] diagnostic log level
                        <options: trace|debug|info|warn|error>
  --plain               non-interactive output (no spinners or cursor movement)

DESCRIPTION
  cancel a running watcher by killing its process

EXAMPLES
  $ sfpm watch cancel 1234567890-abc123

See code: dist/commands/watch/cancel.js

sfpm watch clean

remove completed, errored, and orphaned watcher state files

USAGE
  $ sfpm watch clean [--log-level trace|debug|info|warn|error]
    [--plain | --json] [--type build|deploy|test]

FLAGS
  --json                output as JSON
  --log-level=<option>  [default: error, env: SFPM_LOG_LEVEL] diagnostic log level
                        <options: trace|debug|info|warn|error>
  --plain               non-interactive output (no spinners or cursor movement)
  --type=<option>       only clean watchers of this type
                        <options: build|deploy|test>

DESCRIPTION
  remove completed, errored, and orphaned watcher state files

EXAMPLES
  $ sfpm watch clean

  $ sfpm watch clean --type build

  $ sfpm watch clean --json

See code: dist/commands/watch/clean.js

sfpm watch status

check the status of async watcher jobs

USAGE
  $ sfpm watch status [--log-level trace|debug|info|warn|error]
    [--plain | --json] [--poll] [--type build|deploy|test]

FLAGS
  --json                output as JSON
  --log-level=<option>  [default: error, env: SFPM_LOG_LEVEL] diagnostic log level
                        <options: trace|debug|info|warn|error>
  --plain               non-interactive output (no spinners or cursor movement)
  --poll                poll Salesforce directly for current status
  --type=<option>       filter by job type (build, deploy, test)
                        <options: build|deploy|test>

DESCRIPTION
  check the status of async watcher jobs

EXAMPLES
  $ sfpm watch status

  $ sfpm watch status --type build

  $ sfpm watch status --poll

  $ sfpm watch status --json

See code: dist/commands/watch/status.js