Sfpowerkit
A Salesforce DX Plugin with multiple functionalities aimed at improving development and operational workflows
Install / Use
/learn @dxatscale/SfpowerkitREADME
: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
<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
- sfpowerkit
- Installation
- Commands
- Source Related Functionalities
sfpowerkit:source:pmdsfpowerkit:source:profile:retrievesfpowerkit:source:profile:reconcilesfpowerkit:source:profile:mergesfpowerkit:source:customlabel:createsfpowerkit:source:customlabel:reconcilesfpowerkit:source:customlabel:buildmanifestsfpowerkit:source:apextest:listsfpowerkit:source:apextestsuite:convertsfpowerkit:source:picklist:generatepatchsfpowerkit:project:diffsfpowerkit:project:orgdiffsfpowerkit:project:manifest:diffsfpowerkit:project:manifest:mergesfpowerkit:project:datamodel:diff [BETA]
- Unlocked Package Related Functionalities
- Org Related Functionalities
sfpowerkit:org:connectedapp:createsfpowerkit:org:connectedapp:retrievesfpowerkit:org:duplicaterule:deactivatesfpowerkit:org:duplicaterule:activatesfpowerkit:org:matchingrule:deactivatesfpowerkit:org:matchingrule:activatesfpowerkit:org:trigger:deactivatesfpowerkit:org:trigger:activatesfpowerkit:org:healthchecksfpowerkit:org:cleartestresultsfpowerkit:org:orgcoveragesfpowerkit:org:profile:diffsfpowerkit:org:sandbox:createsfpowerkit:org:sandbox:infosfpowerkit:org:sandbox:refreshsfpowerkit:org:scratchorg:usagesfpowerkit:org:scratchorg:deletesfpowerkit:org:relaxiprangesfpowerkit:auth:login
- Dependency Functionalities
- ScratchOrg Pooling Related Functionalities
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
node-connect
339.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
339.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.8kCommit, push, and open a PR

