SkillAgentSearch skills...

Sfpowerkit

A Salesforce DX Plugin with multiple functionalities aimed at improving development and operational workflows

Install / Use

/learn @dxatscale/Sfpowerkit

README

:warning: Deprecation Notice

This project is currently being deprecated. Some of the existing functionality is already migrated to sfpowerscripts and rest of them will be available as standalone libraries / sfp-cli in a short span. Stay tuned!

Check issues for details and timeline. Thanks everyone for the support!

sfpowerkit

A Salesforce DX Plugin with multiple functionalities aimed at improving development and operational workflows

NPM npm (tag) Build Status npmCodeFactor FOSSA Status

Join slack

<p align="center"> <img alt="sfpowerkit" src="https://user-images.githubusercontent.com/44075423/111021309-6f3c2f80-841f-11eb-94c7-60661bd96202.png" width="480" height="400"> </p>

Installation

To install the stable version from the release branch, use the following command

$ sfdx plugins:install sfpowerkit

If you need to install automatically the plugin, via a CI process or Dockerfile, use the following line:

$ echo 'y' | sfdx plugins:install sfpowerkit

Beta versions are the latest versions that are in being reviewed/ undergoing testing etc and built from the master branch and can be downloaded using the following command

$ sfdx plugins:install sfpowerkit@beta

To review a pull request (for contributors/reviewers), the best option is to clone the repository, checkout to the particular branch and utilize the following command from the project directory

$ sfdx plugins:link
<!-- commands -->

Commands

Source Related Functionalities

These commands manipulate the metadata configuration/code locally or during the packaging process.

sfpowerkit:source:pmd

This command is a wrapper around PMD ( downloads PMD for the first time) with some predefined defaults, such as ruleset, output format, output file. The command is to be run from the project directory


USAGE
  $ sfdx sfpowerkit:source:pmd [-d <directory> | --filelist <filepath>] [-r <string> | -R <string>] [-f <string>] [--report <filepath> | -o
  <filepath>] [--javahome <string>] [--failonviolation] [--minimumpriority <integer>] [--shortnames] [--showsuppressed] [--suppressmarker
  <string>] [--version <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]

OPTIONS
  -R, --rulesets=rulesets
      [default: [sfpowerkit](https://github.com/Accenture/sfpowerkit/blob/main/resources/pmd-ruleset.xml)] The comma separated pmd ruleset that
      will be utilzied for analyzing the apex classes,  Checkout https://pmd.github.io/latest/pmd_userdocs_making_rulesets.html to create your
      own ruleset

  -d, --directory=directory
      [default: Default project directory as mentioned in sfdx-project.json] Override this to set a different directory in the project folder

  -f, --format=format
      [default: text] [default: text] The format for the pmd output, Possible values are available at
      https://pmd.github.io/latest/pmd_userdocs_cli_reference.html#available-report-formats

  -o, --reportfile=reportfile
      The path to where the output of the analysis should be written

  -r, --ruleset=ruleset
      DEPRECATED: use --rulesets instead

  --[no-]failonviolation
      [default: true] By default PMD exits with status 4 if violations are found. Disable this feature with -failOnViolation false to exit with
      0 instead and just output the report.

  --filelist=filelist
      Path to file containing a comma delimited list of files to analyze.

  --javahome=javahome
      The command will try to locate the javahome path to execute PMD automatically, set this flag to override it to another javahome path

  --json
      format output as json

  --loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL)
      [default: warn] logging level for this command invocation

  --minimumpriority=minimumpriority
      Rule priority threshold; rules with lower priority than configured here won't be used.

  --report=report
      DEPRECATED: use --reportfile instead.

  --[no-]shortnames
      Prints shortened filenames in the report.

  --[no-]showsuppressed
      Causes the suppressed rule violations to be added to the report.

  --suppressmarker=suppressmarker
      [default: NOPMD] Specifies the comment token that marks lines which PMD should ignore.

  --version=version
      [default: 6.34.0] [default: 6.34.0] The version of the pmd to be utilized for the analysis, this version will be downloaded to
      sfpowerkit's cache directory

EXAMPLE
  $ sfdx sfpowerkit:source:pmd

See code: src\commands\sfpowerkit\source\pmd.ts

sfpowerkit:source:profile:retrieve

Retrieve profiles from the salesforce org with all its associated permissions. Common use case for this command is to migrate profile changes from a integration environment to other higher environments [overcomes SFDX CLI Profile retrieve issue where it doesnt fetch the full profile unless the entire metadata is present in source], or retrieving profiles from production to lower environments for testing.


USAGE
  $ sfdx sfpowerkit:source:profile:retrieve [-f <array>] [-n <array>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]

OPTIONS

Related Skills

View on GitHub
GitHub Stars388
CategoryDevelopment
Updated1mo ago
Forks87

Languages

TypeScript

Security Score

100/100

Audited on Feb 4, 2026

No findings