sfdx plugins:install shane-sfdx-plugins
You'll be prompted that this, like any plugin, is not officially code-signed by Salesforce. If that's annoying, you can whitelist it
what all is in here and how does it work?
install and run this sfdx shane -h
but you like README, you say? Good thing oclif auto-generates all this for me. :)
Way, way down at the bottom.
check out this repo for other people's plugins (and share via PR if you've created one)
$ npm install -g shane-sfdx-plugins
$ sfdx COMMAND
running command...
$ sfdx (-v|--version|version)
shane-sfdx-plugins/4.43.0 darwin-x64 node-v12.14.0
$ sfdx --help [COMMAND]
USAGE
$ sfdx COMMAND
...
sfdx data:sosl:query -q <string> [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:ai:auth [-e <email>] [-f <filepath>] [-t <integer>] [-l <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:ai:dataset:delete -n <string> [-e <email>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:ai:dataset:get -n <string> [-l] [-e <email>] [-p] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:ai:dataset:upload [-n <string>] [-f <filepath>] [-p <string>] [-t <string>] [--train] [-e <email>] [-w <integer>] [--verbose] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:ai:playground:setup -f <filepath> [-e <email>] [-k <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:ai:playground:setupHeroku [-a <string>] [-c] [-k] [-u <string>] [--apiversion <string>] [--verbose] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:analytics:app:share -n <string> [--allprm -c] [--allcsp undefined] [--org] [-t <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:analytics:community:enable [-b] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:analytics:dataflow:start [-n <string>] [-i <id>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:analytics:dataset:download [-i <id>] [-n <string>] [--versionid <string>] [-t <filepath>] [-r <number>] [-o <number>] [-b <number>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:analytics:dataset:list [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:analytics:dataset:upload -n <string> -f <filepath> [-a <string>] [-m <filepath>] [-o <string>] [--async] [-d <integer>] [--serial] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:cdc:create -d <directory> [--batchsize <integer>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:cdc:prep -d <directory> [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:cdc:stream [-o <string>] [-d <directory>] [-r <integer>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:cert:unhardcode -f <filepath> -l <string> [-u <string>] [--apiversion <string>] [--verbose] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:communities:activate -n <string> [-b] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:communities:describe [--store] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:communities:json:modify -f <filepath> -p <string> [-i <string>] [--queryfield <string> | undefined | undefined] [--truncate | undefined] [-s <string>] [-w] [--wavename <string> [--wavetype <string> | undefined | [-t [-q <string> | -d <string> | --variable <string>]] | undefined | undefined]] [-u <string>] [--apiversion <string>] [--verbose] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:communities:publish [-n <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:communities:selfreg -a <string> -c <string> [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:communities:url [-p <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:concierge:chat:enable [-u <string>] [--apiversion <string>] [--verbose] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:connectedapp:attributes -n <string> -a <filepath> [-b] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:connectedapp:uniquify -p <string> -a <filepath> [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:contentasset:create -f <filepath> -n <string> [-l <string>] [-t <directory>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:data:dates:update -r <date> [-d <directory>] [-o <directory>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:data:favorite -w <string> -o <string> [-l <string>] [--start] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:data:file:download [-n <string> | -i <id>] [-f <string>] [-o <directory>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:data:file:upload -f <filepath> [-c -p <id>] [-n <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:data:id:query -o <string> -w <string> [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:data:search -q <string> [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:data:tree:import -p <filepath> -d <directory> [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:events:stream [-e <string>] [-d <directory>] [-r <integer>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:github:action [-p] [-r] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:github:deploybutton -d <url> -b <url> [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:github:package:install -g <string> -r <string> [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:github:src:install -g <string> -r <string> [-p <directory>] [-k] [-c] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:group:photo [-g <string>] [-f <filepath> | -b <filepath>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:heroku:connect -a <string> -f <filepath> [-e <string>] [-p <string>] [-b] [-i <string>] [-u <string>] [--apiversion <string>] [--verbose] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:heroku:externalobjects -a <string> [-t <array>] [-c <directory> | -f <filepath>] [-l <string> | undefined] [-b] [-u <string>] [--apiversion <string>] [--verbose] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:heroku:repo:deploy -g <string> -r <string> [-b <string>] [-n <string>] [-o <array>] [--envuser <string>] [--envpassword <string>] [-t <string>] [-d <integer>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:iot:activation -n <string> [-r] [-d] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:label:add -t <string> [--bundle <string>] [-n <string>] [-d <string>] [--protected] [--categories <array>] [-l <string>] [-t <directory>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:listview:favorite -t <string> -o <string> [-l <string>] [--start] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:listview:secure [-d <directory>] [-o <directory>] [-p] [--verbose] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:lwc:create -n <string> -d <directory> [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:lwc:css:merge -f <filepath> -c <directory> [-l <filepath>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:mdapi:describe [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:mdapi:list -t <string> [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:mdapi:package:get -p <string> [-t <directory>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:mdapi:package:xml -p <filepath> [-t <directory>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:mdapi:pull [-c | --all] [-p | undefined] [--wave | undefined] [-s | undefined | -o <string>] [-i | undefined] [--reporting | undefined] [-t <string> | undefined] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:mdapi:push [-d <directory>] [-k] [-r <directory>] [-w <integer>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:msgchannel:create -n <string> [-d <string>] [-t <directory>] [-e] [-f <array>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:object:create [-t <string>] [-l <string>] [-a <string>] [-p <string>] [--description <string>] [--enterprise] [--sharingmodel <string>] [--activities] [--search] [--reports] [--history] [--feeds] [--nametype <string>] [--namefieldlabel <string>] [--autonumberformat <string>] [--visibility <string>] [--highvolume] [-i] [-d <directory>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:object:fat -o <string> [-m <integer>] [-y <integer>] [--description <string>] [-d <directory>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:object:field [-o <string>] [-n <string>] [-a <string>] [-t <string>] [--description <string>] [--default <string>] [-r] [-u] [--externalid] [--trackhistory] [--helptext <string>] [-l <integer>] [-s <integer>] [--precision <integer>] [--lookupobject <string>] [--relname <string>] [--rellabel <string>] [--deleteconstraint <string>] [--reparentable] [--writerequiresmasterread] [--picklistvalues <array>] [--picklistdefaultfirst] [--indexposition <integer>] [--indexappend] [--indexdirection <string>] [--noindex] [-i] [-d <directory>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:object:fields:describe -o <string> [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:object:perms:align [-d <directory>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:object:powerofone -o <string> [-l <string>] [-a <string>] [-d <string>] [-t <directory>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:object:recordtype -o <string> -l <string> [-n <string>] [-d <string>] [-t <directory>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:object:tab -o <string> -i <integer> [-t <directory>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:object:unperm -o <string> [-d <directory>] [-s <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:org:componentlibrary [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:org:create --userprefix <string> -o <string> [-i <string>] [-f <filepath>] [-a <string>] [-d <integer>] [--wait <integer>] [-c] [-n] [-s] [--verbose] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:org:delete [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:org:domain:cors [--all] [--liveagent] [-t <directory>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:org:domain:csp [--all] [--liveagent] [-t <directory>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:org:domain:verify [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:org:metadatacoverage [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:org:reauth [-r] [-v <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:org:refreshtoken [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:package2:version:bump [-M | -m | -p] [-c] [-r] [-t <string>] [-v <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:permset:check -o <string> [-f <string>] [--users | --permsets | --profiles] [--fieldlevel <string>] [--objectlevel <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:permset:create -n <string> [-f <string> -o <string>] [-r <string> undefined] [-a <string>] [-d <directory>] [-t] [-c] [-u <string>] [--apiversion <string>] [--verbose] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:profile:allowip -n <string> [-d <directory>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:profile:convert -n <string> -p <string> [-d <directory>] [-e | -c] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:project:create -n <string> [-g <string>] [-v <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:remotesite:create -u <url> -n <string> [-d <string>] [-t <directory>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:source:replace -f <filepath> -o <string> -n <string> [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:static:create -n <string> -y <string> [-d <string>] [-t <directory>] [-p] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:tab:favorite -t <string> [-l <string>] [--start] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:theme:activate -n <string> [-b] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:tsp:username:update [-n <email>] [-d <directory>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:uiapi:objectinfo -o <string> [--outputfile <filepath>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:uiapi:record -r <string> -f <array> [--optionalfields <array>] [--outputfile <filepath>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:uiapi:recordui [-r <string> | --recordids <array>] [-l <array>] [-m <array>] [--outputfile <filepath>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:user:allPhotos [-r <url>] [-f <directory>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:user:lightning:debug [-g <string>] [-l <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:user:loginurl [-p <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:user:password:set -g <string> -l <string> -p <string> [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:user:permset:assign -n <string> [-g <string> -l <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:user:photo -l <string> [-g <string>] [-f <filepath> | -b <filepath>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx shane:user:psl -l <string> -n <filepath> [-g <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx streaming:list [-t <array>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx streaming:pushtopic:create -n <string> -q <string> [-d <integer>] [-f <string>] [-o <array>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx streaming:pushtopic:deactivate -n <string> [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx streaming:pushtopic:delete -n <string> [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx streaming:pushtopic:update -n <string> [-d <integer>] [-f <string>] [-o <array>] [-q <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx streaming:subscribe [-t <string>] [-n <string>] [-r <integer>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx data:sosl:query -q <string> [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Runs a sosl query. SOSL Reference: https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/sforce_api_calls_sosl_syntax.htm
USAGE
$ sfdx data:sosl:query -q <string> [-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-q, --query=query (required) SOSL query
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
ALIASES
$ sfdx shane:data:sosl:query
$ sfdx force:data:sosl:query
$ sfdx shane:data:search
$ sfdx force:data:search
$ sfdx force:data:sosl
$ sfdx shane:data:sosl
EXAMPLES
sfdx force:data:sosl:query -q "find {something}"
sfdx force:data:sosl:query -q "find {Jack} returning User(Name), Account(Name),Contact(FirstName,LastName,Department)"
-u platformers
// search across several objects with different results fields on a specified org
See code: @mshanemc/sfdx-sosl
sfdx shane:ai:auth [-e <email>] [-f <filepath>] [-t <integer>] [-l <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
get an access token from an email and a .pem file, either passed in or from environment variables
USAGE
$ sfdx shane:ai:auth [-e <email>] [-f <filepath>] [-t <integer>] [-l <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-e, --email=email email address you used when you
signed up for your einstein.ai
account
-f, --certfile=certfile path to your private key from when
you signed up
-l, --level=local|global [default: local] where to store this
config
-t, --tokentime=tokentime [default: 1440] time in minutes that
you want your token to be valid for
--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
EXAMPLE
sfdx shane:ai:auth -e [email protected] -f ~/code/certs/einstein_platform.pem
// reauths, and takes what it can get
See code: src/commands/shane/ai/auth.ts
sfdx shane:ai:dataset:delete -n <string> [-e <email>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
delete a dataset
USAGE
$ sfdx shane:ai:dataset:delete -n <string> [-e <email>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-e, --email=email email address you used when you
signed up for your einstein.ai
account
-n, --dataset=dataset (required) dataset id
--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
EXAMPLE
sfdx shane:ai:dataset:delete -n 57
See code: src/commands/shane/ai/dataset/delete.ts
sfdx shane:ai:dataset:get -n <string> [-l] [-e <email>] [-p] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
get an access token from an email and a .pem file, either passed in or from environment variables
USAGE
$ sfdx shane:ai:dataset:get -n <string> [-l] [-e <email>] [-p] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-e, --email=email email address you used when you
signed up for your einstein.ai
account
-l, --language use the language endpoint instead of
vision
-n, --dataset=dataset (required) dataset id
-p, --poll poll for the status to be completed
--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
EXAMPLE
sfdx shane:ai:dataset:get -n 57
See code: src/commands/shane/ai/dataset/get.ts
sfdx shane:ai:dataset:upload [-n <string>] [-f <filepath>] [-p <string>] [-t <string>] [--train] [-e <email>] [-w <integer>] [--verbose] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
upload a dataset
USAGE
$ sfdx shane:ai:dataset:upload [-n <string>] [-f <filepath>] [-p <string>] [-t <string>] [--train] [-e <email>] [-w
<integer>] [--verbose] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-e, --email=email
email address you used when you signed up for your einstein.ai account
-f, --file=file
Path to the .zip (image) or .csv/.tsv/.json (language) file on the local drive (FilePart). The maximum file size you
can upload from a local drive is 50 MB for images, 25 MB for text
-n, --name=name
Name of the dataset. Optional. If this parameter is omitted, the dataset name is derived from the .zip file name.
-p, --path=path
URL of the .zip (image) or .csv/.tsv/.json (language) file. The maximum file size you can upload from a web location
is 2 GB (images), 25MB (text)
-t, --type=image|image-detection|image-multi-label|text-intent|text-sentiment
[default: image] Type of dataset data. Valid values are:
-w, --wait=wait
[default: 10] how long to wait for this to process (minutes)
--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
--train
train a model on the dataset
--verbose
emit additional command output to stdout
EXAMPLE
sfdx shane:ai:dataset:upload -e [email protected] -f ~/myPics.zip -n AwesomeDataset
See code: src/commands/shane/ai/dataset/upload.ts
sfdx shane:ai:playground:setup -f <filepath> [-e <email>] [-k <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
upload .pem file from local encrypted copy, setup username and secret key in custom setting
USAGE
$ sfdx shane:ai:playground:setup -f <filepath> [-e <email>] [-k <string>] [-u <string>] [--apiversion <string>]
[--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-e, --email=email email address you used when you
signed up for your einstein.ai
account. Defaults to EINSTEIN_EMAIL
from the environment
-f, --file=file (required) encrypted file from local
filesystem
-k, --key=key encoding key used to encrypt/decrypt
the file. Defaults to
AI_PLAYGROUND_SETUP_KEY from the
environment
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
EXAMPLE
sfdx shane:ai:playground:setup -f my.pem -e [email protected] -k yay9HVn68GzXrqhT0HWkoQ==
See code: src/commands/shane/ai/playground/setup.ts
sfdx shane:ai:playground:setupHeroku [-a <string>] [-c] [-k] [-u <string>] [--apiversion <string>] [--verbose] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
provisions a new einstein.ai account and sets up the org
USAGE
$ sfdx shane:ai:playground:setupHeroku [-a <string>] [-c] [-k] [-u <string>] [--apiversion <string>] [--verbose]
[--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-a, --app=app name of the heroku app that we
attach add-ons to
-c, --create create the app
-k, --keepauth save the refresh token for
einstein.ai to the local sfdx store
for future cli use
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
--verbose emit additional command output to
stdout
EXAMPLES
sfdx shane:ai:playground:herokuSetup -a my-existing-app
// creates addons to existing app
sfdx shane:ai:playground:herokuSetup -c
// creates an app with whatever name heroku feels like
sfdx shane:ai:playground:herokuSetup -a non-existing-app -c
// creates a new app with the name of your choice (usually build dynamically!)
See code: src/commands/shane/ai/playground/setupHeroku.ts
sfdx shane:analytics:app:share -n <string> [--allprm -c] [--allcsp undefined] [--org] [-t <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
share an analytics app by name
USAGE
$ sfdx shane:analytics:app:share -n <string> [--allprm -c] [--allcsp undefined] [--org] [-t <string>] [-u <string>]
[--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-c, --community enable community sharing
-n, --name=name (required) name of the analytics app
-t, --type=View|Edit|Manage [default: View] access level
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--allcsp share with all customer portal users
--allprm share with all partner users
--apiversion=apiversion override the api version used for
api requests made by this command
--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
--org share with all internal users
EXAMPLE
sfdx shane:analytics:app:share -n SharedApp --allprm -c
// share the standard SharedApp with all partners view level perms (default) and check the "enable sharing with
communities" box for this app
See code: src/commands/shane/analytics/app/share.ts
sfdx shane:analytics:community:enable [-b] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Activate a community using a headless browser
USAGE
$ sfdx shane:analytics:community:enable [-b] [-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-b, --showbrowser show the browser...useful for local
debugging
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
ALIASES
$ sfdx shane:communities:analytics:enable
See code: src/commands/shane/analytics/community/enable.ts
sfdx shane:analytics:dataflow:start [-n <string>] [-i <id>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
start an analytics dataflow by name/label/id
USAGE
$ sfdx shane:analytics:dataflow:start [-n <string>] [-i <id>] [-u <string>] [--apiversion <string>] [--json]
[--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-i, --id=id the id of the dataflow
-n, --name=name name or label of the analytics app
(will match either)
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
EXAMPLE
sfdx shane:analytics:dataflow:start -n MyDataFlowName
// enqueue a job for the the analytics dataflow with name/label MyDataFlowName (will not wait for completion of the
dataflow)
See code: src/commands/shane/analytics/dataflow/start.ts
sfdx shane:analytics:dataset:download [-i <id>] [-n <string>] [--versionid <string>] [-t <filepath>] [-r <number>] [-o <number>] [-b <number>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
download a dataset as csv
USAGE
$ sfdx shane:analytics:dataset:download [-i <id>] [-n <string>] [--versionid <string>] [-t <filepath>] [-r <number>]
[-o <number>] [-b <number>] [-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-b, --batchsize=batchsize [default: 1000000000] maximum
batchsize. Splits query in parts of
this size.
-i, --id=id dataset id
-n, --name=name dataset name
-o, --offset=offset offset for rows
-r, --rows=rows [default: 1000000000] how many rows?
-t, --target=target [default: .] where you want to save
the file
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
--versionid=versionid specify a version
EXAMPLES
sfdx shane:analytics:dataset:download -n YourDataSetName -t myLocalFolder
sfdx shane:analytics:dataset:download -i 0Fb6A000000gDFxSAM --versionid 0Fc6A000002d8GwSAI -t myLocalFolder -r 10000
-b 5000
See code: src/commands/shane/analytics/dataset/download.ts
sfdx shane:analytics:dataset:list [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
what analytics datasets are in my org?
USAGE
$ sfdx shane:analytics:dataset:list [-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
EXAMPLE
sfdx shane:analytics:dataset:list
See code: src/commands/shane/analytics/dataset/list.ts
sfdx shane:analytics:dataset:upload -n <string> -f <filepath> [-a <string>] [-m <filepath>] [-o <string>] [--async] [-d <integer>] [--serial] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
upload a dataset from csv
USAGE
$ sfdx shane:analytics:dataset:upload -n <string> -f <filepath> [-a <string>] [-m <filepath>] [-o <string>] [--async]
[-d <integer>] [--serial] [-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-a, --app=app
app name
-d, --uploadinterval=uploadinterval
[default: 500] milliseconds between uploaded chunks...increase this if you get strange errors during file uploads
like "write EPIPE"
-f, --csvfile=csvfile
(required) local csv file containing the data
-m, --metajson=metajson
path to json file for describing your upload (highly recommended)
-n, --name=name
(required) dataset name--no spaces, should be like an api name
-o, --operation=Append|Overwrite|Upsert|Delete
[default: Overwrite] what to do with the dataset if it already exists. See
https://developer.salesforce.com/docs/atlas.en-us.bi_dev_guide_ext_data.meta/bi_dev_guide_ext_data/bi_ext_data_objec
t_externaldata.htm
-u, --targetusername=targetusername
username or alias for the target org; overrides default target org
--apiversion=apiversion
override the api version used for api requests made by this command
--async
do not wait for successful completion of the dataset upload...just return and hope for the best. If omitted, will
poll the analytics rest API for job processing status until complete
--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
--serial
chunks are uploaded with no parallelization to prevent locking issues
EXAMPLES
sfdx shane:analytics:dataset:upload -n someName -f data/myFile.csv -m myMetaFile.json
sfdx shane:analytics:dataset:upload -n someName -f data/myFile.csv -m myMetaFile.json -a SharedApp --async
See code: src/commands/shane/analytics/dataset/upload.ts
sfdx shane:cdc:create -d <directory> [--batchsize <integer>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
USAGE
$ sfdx shane:cdc:create -d <directory> [--batchsize <integer>] [-u <string>] [--apiversion <string>] [--json]
[--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-d, --dir=dir (required) folder to upload,
containing /cdc/records
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--batchsize=batchsize [default: 200] how many records to
insert in a batch
--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
See code: src/commands/shane/cdc/create.ts
sfdx shane:cdc:prep -d <directory> [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
USAGE
$ sfdx shane:cdc:prep -d <directory> [-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-d, --dir=dir (required) folder to upload,
containing /cdc/records
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
See code: src/commands/shane/cdc/prep.ts
sfdx shane:cdc:stream [-o <string>] [-d <directory>] [-r <integer>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
USAGE
$ sfdx shane:cdc:stream [-o <string>] [-d <directory>] [-r <integer>] [-u <string>] [--apiversion <string>] [--json]
[--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-d, --dir=dir stream the events to a folder
instead of the console
-o, --object=object subscribe to change events for only
a single object (api name, including
__c)
-r, --replay=replay [default: -1] replay Id to begin
from
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
EXAMPLES
sfdx shane:cdc:stream // get all the change events
sfdx shane:cdc:stream -o Account // get all the change events on a single object
sfdx shane:cdc:stream -d myDir // stream change events to myDir/cdc, organized into folders by object api type
See code: src/commands/shane/cdc/stream.ts
sfdx shane:cert:unhardcode -f <filepath> -l <string> [-u <string>] [--apiversion <string>] [--verbose] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
modify local xml files with data from org to work around hardcoded metadata issues
USAGE
$ sfdx shane:cert:unhardcode -f <filepath> -l <string> [-u <string>] [--apiversion <string>] [--verbose] [--json]
[--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-f, --samlfile=samlfile (required) full path to the
samlssoconfig file. Will be
modified by this process
-l, --label=label (required) masterLabel of the cert
whose Id you need
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
--verbose emit additional command output to
stdout
See code: src/commands/shane/cert/unhardcode.ts
sfdx shane:communities:activate -n <string> [-b] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Activate a community using a headless browser
USAGE
$ sfdx shane:communities:activate -n <string> [-b] [-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-b, --showbrowser show the browser...useful for local
debugging
-n, --name=name (required) name of the community to
activate
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
See code: src/commands/shane/communities/activate.ts
sfdx shane:communities:describe [--store] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
tell me about the communities in the org, and optionally store the description
USAGE
$ sfdx shane:communities:describe [--store] [-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
--store store the community description in
externalApps.json
EXAMPLE
sfdx shane:communities:describe
See code: src/commands/shane/communities/describe.ts
sfdx shane:communities:json:modify -f <filepath> -p <string> [-i <string>] [--queryfield <string> | undefined | undefined] [--truncate | undefined] [-s <string>] [-w] [--wavename <string> [--wavetype <string> | undefined | [-t [-q <string> | -d <string> | --variable <string>]] | undefined | undefined]] [-u <string>] [--apiversion <string>] [--verbose] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Manipulate community ExperienceBundle JSON files, using REST or Tooling queries to an org to get metadata IDs
USAGE
$ sfdx shane:communities:json:modify -f <filepath> -p <string> [-i <string>] [--queryfield <string> | undefined |
undefined] [--truncate | undefined] [-s <string>] [-w] [--wavename <string> [--wavetype <string> | undefined | [-t [-q
<string> | -d <string> | --variable <string>]] | undefined | undefined]] [-u <string>] [--apiversion <string>]
[--verbose] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-d, --value=value new value for the
property/subproperty
-f, --file=file (required) full path to the file
-i, --id=id unique id of the component. ex:
69c03077-932a-4c08-b932-46baec5a7c86
-p, --property=property (required) property that will be
updated (or contains JSON or what
will be updated
-q, --query=query soql query for a field to pass to
the value
-s, --subproperty=subproperty if the property is a json object, or
json-like string, the subproperty
inside that that needs updating
-t, --tooling using tooling api for query instead
of normal sobjects
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
-w, --write write over the original file with
its new version. omit to see what
will be written
--apiversion=apiversion override the api version used for
api requests made by this command
--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
--queryfield=queryfield [default: Id] field from the record
returned by --query that you want to
use the value from
--truncate truncate ids to 15 characters on
queried record
--variable=OrgId|InstanceUrl|Username assign one of the variables to the
property
--verbose emit additional command output to
stdout
--wavename=wavename name to match from wave api
--wavetype=dashboards part of the wave api endpoint
EXAMPLES
sfdx shane:communities:json:modify -f force-app/main/default/experiences/employeebots1/views/home.json -i
69c03077-932a-4c08-b932-46baec5a7c86 -p someProp -v NewValue
// find the component and set a new hardcoded value for the property but don't write to the file
sfdx shane:communities:json:modify -f force-app/main/default/experiences/employeebots1/views/home.json -i
69c03077-932a-4c08-b932-46baec5a7c86 -p orgId -q "select id from organization" --write
// find the component and set a new value from a query to the org and update file locally
sfdx shane:communities:json:modify -f force-app/main/default/experiences/employeebots1/views/home.json -i
69c03077-932a-4c08-b932-46baec5a7c86 -p someUnconvertedJSON -s actualPropInsideTheJSON -q "select id from
organization" -t --write
// find the component and set a new value from a query onto a property contained within unconverted JSON using the
tooling api and update file locally
See code: src/commands/shane/communities/json/modify.ts
sfdx shane:communities:publish [-n <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Publish a community using a headless browser
USAGE
$ sfdx shane:communities:publish [-n <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-n, --name=name name of the community to publish
(case sensitive!)
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
EXAMPLES
sfdx shane:communities:publish
// publishes all the communities in the org
sfdx shane:communities:publish -n customer
// finds a community named customer, publishes it.
See code: src/commands/shane/communities/publish.ts
sfdx shane:communities:selfreg -a <string> -c <string> [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
set the self-registration account for a community
USAGE
$ sfdx shane:communities:selfreg -a <string> -c <string> [-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-a, --account=account (required) Name of the account.
Wrap in quotes if there are spaces
or weird characters
-c, --community=community (required) name of the community.
Wrap in quotes if there are spaces
or weird characters
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
EXAMPLE
sfdx shane:communities:selfreg -a Salesforce -c "Trailblazer Community"
See code: src/commands/shane/communities/selfreg.ts
sfdx shane:communities:url [-p <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
get me the login for a community from an org
USAGE
$ sfdx shane:communities:url [-p <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-p, --prefix=prefix community prefix (thing after the
slash in the url)
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
EXAMPLE
sfdx shane:communities:url --prefix dealers
See code: src/commands/shane/communities/url.ts
sfdx shane:concierge:chat:enable [-u <string>] [--apiversion <string>] [--verbose] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Modify custom settings to enable live agent chat for Concierge
USAGE
$ sfdx shane:concierge:chat:enable [-u <string>] [--apiversion <string>] [--verbose] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
--verbose emit additional command output to
stdout
See code: src/commands/shane/concierge/chat/enable.ts
sfdx shane:connectedapp:attributes -n <string> -a <filepath> [-b] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Set attributes on a connected app. Attributes for salesforce mobile app at https://github.com/gabesumner/mobile-security/blob/master/customAttributes.json
USAGE
$ sfdx shane:connectedapp:attributes -n <string> -a <filepath> [-b] [-u <string>] [--apiversion <string>] [--json]
[--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-a, --attributes=attributes (required) json formatted file of
key/values
-b, --showbrowser show the browser...useful for local
debugging
-n, --name=name (required) name of the connected app
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
EXAMPLE
sfdx shane:connectedapp:attributes -n AppAPIName -a attributes.json
See code: src/commands/shane/connectedapp/attributes.ts
sfdx shane:connectedapp:uniquify -p <string> -a <filepath> [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
modify a clientId/consumerKey on a local connected app to guaranatee uniqueness
USAGE
$ sfdx shane:connectedapp:uniquify -p <string> -a <filepath> [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-a, --app=app (required) full path to your
connected app locally
-p, --prefix=prefix (required) add a prefix to the
connected app's consumerKey
--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
EXAMPLE
sfdx shane:connectedapp:uniquify -a force-app/main/default/connectedApps/myConnectedApp.connectedApp-meta.xml -p 5h4n3
// update the consumerKey of myConnectedApp to be unique, but start with 5h4n3
See code: src/commands/shane/connectedapp/uniquify.ts
sfdx shane:contentasset:create -f <filepath> -n <string> [-l <string>] [-t <directory>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
create a ContentAsset from a local image file
USAGE
$ sfdx shane:contentasset:create -f <filepath> -n <string> [-l <string>] [-t <directory>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-f, --file=file (required) the file you want to turn
into an asset
-l, --language=language [default: en_US] language code like
en_US
-n, --name=name (required) api name for the
contentAsset
-t, --target=target [default: force-app/main/default]
where to find the contentassets
folder (will create if it doesn't
exist already)
--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
EXAMPLE
sfdx shane:contentasset:create -f ~/somefile.jpg -n MyContentAsset
// create a contentAsset called MyContentAsset from the local file
See code: src/commands/shane/contentasset/create.ts
sfdx shane:data:dates:update -r <date> [-d <directory>] [-o <directory>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
go through a folder of csv files and modify all the dates relative to a given date
USAGE
$ sfdx shane:data:dates:update -r <date> [-d <directory>] [-o <directory>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-d, --datafolder=datafolder [default: data] Where is all this
data?
-o, --outputfolder=outputfolder [default: data-modified] where to
output the modified CSV files
-r, --relative=relative (required) the date to adjust all
other dates relative to. example:
if "relative" is 8 days ago, then
all dates are moved forward 8 days
--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
EXAMPLE
sfdx shane:data:dates:update -r 1-1-2020
// move all dates in .csv files in /data by the difference between now and 1-1-2020
See code: src/commands/shane/data/dates/update.ts
sfdx shane:data:favorite -w <string> -o <string> [-l <string>] [--start] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
query records and set the match as a favorite
USAGE
$ sfdx shane:data:favorite -w <string> -o <string> [-l <string>] [--start] [-u <string>] [--apiversion <string>]
[--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-l, --name=name the label you want to appear in the
favorites menu
-o, --object=object (required) object API name
(including __c if custom)
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
-w, --where=where (required) SOQL where clause to
match a single record
--apiversion=apiversion override the api version used for
api requests made by this command
--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
--start add the favorite at the beginning of
the menu
ALIASES
$ sfdx shane:data:favourite
EXAMPLE
sfdx shane:data:favorite -o Account -w "name='Salesforce.com'"
// finds the matching record and adds it to the end of the favorites menu
See code: src/commands/shane/data/favorite.ts
sfdx shane:data:file:download [-n <string> | -i <id>] [-f <string>] [-o <directory>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
save a file from the org to the local filesystem
USAGE
$ sfdx shane:data:file:download [-n <string> | -i <id>] [-f <string>] [-o <directory>] [-u <string>] [--apiversion
<string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-f, --filename=filename optional filename. Defaults to the
filename of the contentVersion to
download
-i, --id=id optional ContentDocument ID or
ContentVersion ID that should be
downloaded
-n, --name=name name of the file in Salesforce that
you want to download
-o, --directory=directory [default: .] optional output path to
save the file, if omitted will save
to current directory, if directory
then it will keep the filename and
save into that directory
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
EXAMPLES
sfdx shane:data:file:download -i 0691k000000MXfkAAG -o ./files/
// save a ContentDocument from the org to the files directory, keeping the existing filename
sfdx shane:data:file:download -i 0691k000000MXfkAAG -o ./files/King.jpg
// save a ContentDocument from the org to files/King.jpg
sfdx shane:data:file:download -i 0691k000000MXfkAAG
// save a ContentDocument from the org to the current working directory, keeping the existing filename
sfdx shane:data:file:download -i 0681k000000MXfkAAG -o ./files/King.jpg
// save a ContentVersion from the org to files/King.jpg
sfdx shane:data:file:download -n King
// go find the file named kind and download the latest version of it.
See code: src/commands/shane/data/file/download.ts
sfdx shane:data:file:upload -f <filepath> [-c -p <id>] [-n <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
upload a file from local resources, optionally as a chatter post or attached file on a record
USAGE
$ sfdx shane:data:file:upload -f <filepath> [-c -p <id>] [-n <string>] [-u <string>] [--apiversion <string>] [--json]
[--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-c, --chatter attach as a chatter content post
instead of just as a file
-f, --file=file (required) path to file on local
filesystem
-n, --name=name set the name of the uploaded file
-p, --parentid=parentid optional record ID that the file
should be attached to
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
EXAMPLES
sfdx shane:data:file:upload -f ~/Downloads/King.png
//uploads file from local filesystem as a file
sfdx shane:data:file:upload -f ~/Downloads/King.png -p 0011900000VkJgrAAF
//uploads file from local filesystem as a file and attaches to a record
sfdx shane:data:file:upload -f ~/Downloads/King.png -p 0011900000VkJgrAAF -c
//uploads and attaches it to the indicated record, but as a chatter file post
sfdx shane:data:file:upload -f ~/Downloads/King.png -p 0011900000VkJgrAAF -n CustomName -c
//uploads and attaches it to the indicated record, but as a chatter file post with a name that's not the same
name as the local filesystem used
See code: src/commands/shane/data/file/upload.ts
sfdx shane:data:id:query -o <string> -w <string> [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
query some object and get back the id of the matching record
USAGE
$ sfdx shane:data:id:query -o <string> -w <string> [-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-o, --object=object (required) object
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
-w, --where=where (required) SOQL where clause for
your query
--apiversion=apiversion override the api version used for
api requests made by this command
--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
EXAMPLE
sfdx shane:data:id:query -o User -u platformers -w "Firstname = 'Shane' and Lastname = 'McLaughlin' and username =
'[email protected]'"'
// returns the id of the user. Use these ids between `` in other commands
See code: src/commands/shane/data/id/query.ts
sfdx shane:data:search -q <string> [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sosl search
USAGE
$ sfdx shane:data:search -q <string> [-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-q, --query=query (required) valid sosl query
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
EXAMPLE
sfdx shane:data:search -q "find {stuff}"
See code: src/commands/shane/data/search.ts
sfdx shane:data:tree:import -p <filepath> -d <directory> [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
similar to the original tree:import, but handles more than 200 records at a go, while still preserving relationships. Takes longer.
USAGE
$ sfdx shane:data:tree:import -p <filepath> -d <directory> [-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-d, --filesfolder=filesfolder (required) folder that the plan
lives in
-p, --plan=plan (required) location of plan file
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
EXAMPLE
sfdx shane:data:tree:import -p data/myPlan.json -d data/ // run all the data in the plan, and files mentioned are
relative to ./data
See code: src/commands/shane/data/tree/import.ts
sfdx shane:events:stream [-e <string>] [-d <directory>] [-r <integer>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
USAGE
$ sfdx shane:events:stream [-e <string>] [-d <directory>] [-r <integer>] [-u <string>] [--apiversion <string>]
[--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-d, --dir=dir stream the events to a folder
instead of the console
-e, --event=event the platform event's api name
-r, --replay=replay [default: -1] replay Id to begin
from
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
EXAMPLES
sfdx shane:events:stream -e SomeEvent__e // subscribe to an event stream
sfdx shane:events:stream -e SomeEvent__e -d myDir // stream events to myDir
See code: src/commands/shane/events/stream.ts
sfdx shane:github:action [-p] [-r] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
adds an action to test your repo against https://github.com/mshanemc/deploy-to-sfdx using github actions
USAGE
$ sfdx shane:github:action [-p] [-r] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-p, --skipprod omit the production deployer
-r, --skipprerel omit the pre-release deployer
--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
EXAMPLE
sfdx shane:github:action
// tests against both prod and prerel(gs0) deployers
See code: src/commands/shane/github/action.ts
sfdx shane:github:deploybutton -d <url> -b <url> [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
modify your local readme file to include a deployer link/button
USAGE
$ sfdx shane:github:deploybutton -d <url> -b <url> [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-b, --button=button
(required) [default:
https://raw.githubusercontent.com/mshanemc/deploy-to-sfdx/master/client-src/resources/images/sfdx_it_now.png] the
public url where your button lives
-d, --deployer=deployer
(required) [default: https://hosted-scratch.herokuapp.com/] the base url for your deployer
--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
See code: src/commands/shane/github/deploybutton.ts
sfdx shane:github:package:install -g <string> -r <string> [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
installs a package from github using the sfdx-project.json file (v43+) OR the latestVersion.json file convention
USAGE
$ sfdx shane:github:package:install -g <string> -r <string> [-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-g, --githubuser=githubuser (required) github username where the
package lives
-r, --repo=repo (required) repo where the packages
lives
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
EXAMPLE
sfdx shane:github:package:install -g someUser -r someRepo -u someOrg
// installs packageVersion (04t) from https://github.com/someUser/someRepo/sfdx-project.json or
https://github.com/someUser/someRepo/latestVersion.json
See code: src/commands/shane/github/package/install.ts
sfdx shane:github:src:install -g <string> -r <string> [-p <directory>] [-k] [-c] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
installs a package from github from mdapi src
USAGE
$ sfdx shane:github:src:install -g <string> -r <string> [-p <directory>] [-k] [-c] [-u <string>] [--apiversion
<string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-c, --convert the path folder is sfdx format, not
mdapi, and should be converted first
-g, --githubuser=githubuser (required) github username where the
package lives
-k, --keeplocally keep the cloned repo in local source
instead of deleting it
-p, --path=path [default: src] folder where the
source lives
-r, --repo=repo (required) repo where the packages
lives
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
EXAMPLES
sfdx shane:github:src:install -g someUser -r someRepo -u someOrg
// pulls mdapi-formatted code from https://github.com/someUser/someRepo/src and deploys to the org
sfdx shane:github:src:install -g someUser -r someRepo -u someOrg -p my/folder/tree
// pulls mdapi-formatted code from https://github.com/someUser/someRepo/my/folder/tree and deploys to the org
See code: src/commands/shane/github/src/install.ts
sfdx shane:group:photo [-g <string>] [-f <filepath> | -b <filepath>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Set the photo for a user by first/last name
USAGE
$ sfdx shane:group:photo [-g <string>] [-f <filepath> | -b <filepath>] [-u <string>] [--apiversion <string>] [--json]
[--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-b, --banner=banner local path of the chatter banner
photo to use
-f, --file=file local path of the photo to use
-g, --group=group the name of the group name you want
to set the photo/banner for
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
EXAMPLES
sfdx shane:group:photo -g AwesomePeople -f ~/Downloads/King.png
// sets the chatter photo for the group named AwesomePeople using the local file
sfdx shane:group:photo -b ~/Downloads/King.png -g AwesomePeople
// sets the chatter banner photo for the group named AwesomePeople using the local file
See code: src/commands/shane/group/photo.ts
sfdx shane:heroku:connect -a <string> -f <filepath> [-e <string>] [-p <string>] [-b] [-i <string>] [-u <string>] [--apiversion <string>] [--verbose] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
set up heroku connect on an existing app to an existing org (that you may have just created)
USAGE
$ sfdx shane:heroku:connect -a <string> -f <filepath> [-e <string>] [-p <string>] [-b] [-i <string>] [-u <string>]
[--apiversion <string>] [--verbose] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-a, --app=app
(required) name of the heroku app
-b, --showbrowser
show the browser...useful for local debugging
-e, --environment=sandbox|production|custom
[default: custom] environment of the salesforce org
-f, --configfile=configfile
(required) path to the json file exported from Heroku Connect
-i, --instance=instance
salesforce instance for making login easier. Will be read from org:display if exists...this is the override
-p, --password=password
pass in a password to override the one associated with your org in sfdx, or if you don't have one set properly (like
you used `shane:user:password:set` instead of `force:user:password:generate
-u, --targetusername=targetusername
username or alias for the target org; overrides default target org
--apiversion=apiversion
override the api version used for api requests made by this command
--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
--verbose
emit additional command output to stdout
EXAMPLES
sfdx shane:heroku:connect -a prosaic-samurai-4564 -f assets/myConfig.json
// auth the heroku app to the current default org, assuming password is available from force:org:display, then import
the json config file
sfdx shane:heroku:connect -a prosaic-samurai-4564 -f assets/myConfig.json -p p455w0rd -u [email protected]
// same, but not the default org, with a specified password
See code: src/commands/shane/heroku/connect.ts
sfdx shane:heroku:externalobjects -a <string> [-t <array>] [-c <directory> | -f <filepath>] [-l <string> | undefined] [-b] [-u <string>] [--apiversion <string>] [--verbose] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
set up heroku connect on an existing app with external objects
USAGE
$ sfdx shane:heroku:externalobjects -a <string> [-t <array>] [-c <directory> | -f <filepath>] [-l <string> |
undefined] [-b] [-u <string>] [--apiversion <string>] [--verbose] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-a, --app=app (required) name of the heroku app
-b, --showbrowser show the browser...useful for local
debugging
-c, --createdir=createdir creates an external data source in
the chosen directory
-f, --updatefile=updatefile updates an existing external data
source with username/password/url
-l, --label=label label that will appear for the
external data source you create
-t, --tables=tables comma separated list of postgres
table names to share. If omitted,
you want them all!
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
--verbose emit additional command output to
stdout
EXAMPLES
sfdx shane:heroku:externalobjects -a sneaky-platypus
// enables external objects on all tables
sfdx shane:heroku:externalobjects -a sneak-platypus -t corgis -c force-app/main/default/dataSources -l theDataSource
// enables external objects on the postgres table called corgis and creates an external data source locally
sfdx shane:heroku:externalobjects -a sneak-platypus -f
force-app/main/default/dataSources/existingXDS.dataSource-meta.xml
// enables external objects on all tables and modifies the local file specified
See code: src/commands/shane/heroku/externalobjects.ts
sfdx shane:heroku:repo:deploy -g <string> -r <string> [-b <string>] [-n <string>] [-o <array>] [--envuser <string>] [--envpassword <string>] [-t <string>] [-d <integer>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
deploy a heroku app that has a valid app.json.
USAGE
$ sfdx shane:heroku:repo:deploy -g <string> -r <string> [-b <string>] [-n <string>] [-o <array>] [--envuser <string>]
[--envpassword <string>] [-t <string>] [-d <integer>] [-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-b, --branch=branch [default: master] heroku branch to
deploy
-d, --days=days [default: 1] days you want the
heroku app to live (does nothing
locally)
-g, --githubuser=githubuser (required) github username where the
app lives
-n, --name=name what do you want to Heroku app to be
named
-o, --overrides=overrides an array of key-value pairs, like
SOME_VAR="some Value" (use quotes
where string have spaces!)
-r, --repo=repo (required) repo where the app lives
-t, --team=team assign this new app to an existing
heroku team
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--envpassword=envpassword grab the default scratch org
password and set it to this Heroku
environment var
--envuser=envuser grab the default scratch org
username and set it to this Heroku
environment var
--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
EXAMPLE
sfdx shane:heroku:repo:deploy -g someUser -r someRepo
// deploys code from https://github.com/someUser/someRepo that has a valid app.json
See code: src/commands/shane/heroku/repo/deploy.ts
sfdx shane:iot:activation -n <string> [-r] [-d] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Activate an iot orchestration by name
USAGE
$ sfdx shane:iot:activation -n <string> [-r] [-d] [-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-d, --deactivate deactivate the orchestration
-n, --name=name (required) API name of the
orchestration
-r, --reset reset all instances of the
orchestration
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
EXAMPLES
sfdx shane:iot:activate -n orchName -r
// activates the orchestration, including the context if necessary, optionally resetting all the instances
sfdx shane:iot:activate -n orchName -d
// deactivates the orchestration, without resetting all the instances
See code: src/commands/shane/iot/activation.ts
sfdx shane:label:add -t <string> [--bundle <string>] [-n <string>] [-d <string>] [--protected] [--categories <array>] [-l <string>] [-t <directory>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
create a remote site setting in the local source. Push it when you're done
USAGE
$ sfdx shane:label:add -t <string> [--bundle <string>] [-n <string>] [-d <string>] [--protected] [--categories
<array>] [-l <string>] [-t <directory>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-d, --description=description description for your label
-l, --language=language [default: en_US] language code
-n, --name=name api name for your label
-t, --target=target [default: force-app/main/default]
where to create the folder (if it
doesn't exist already) and
file...defaults to
force-app/main/default
-t, --text=text (required) the text you want to turn
into a label
--bundle=bundle [default: CustomLabels] label bundle
when you want to organize them more
--categories=categories categories to add to your custom
label
--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
--protected mark as protected (packaged,
subscribers cannot change the label
EXAMPLE
sfdx shane:label:add -t "This is some Text"
// create a custom label with the displayed text and all the defaults
See code: src/commands/shane/label/add.ts
sfdx shane:listview:favorite -t <string> -o <string> [-l <string>] [--start] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
favorite a listview
USAGE
$ sfdx shane:listview:favorite -t <string> -o <string> [-l <string>] [--start] [-u <string>] [--apiversion <string>]
[--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-l, --name=name the label you want to appear in the
favorites menu
-o, --object=object (required) object API name
(including __c if custom)
-t, --target=target (required) API name of the list view
you want to favorite
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
--start add the favorite at the beginning of
the menu
ALIASES
$ sfdx shane:listview:favourite
EXAMPLE
sfdx shane:listview:favorite -o Account -t Awesome_Accounts
// finds the matching listview and adds it to the end of the favorites menu
See code: src/commands/shane/listview/favorite.ts
sfdx shane:listview:secure [-d <directory>] [-o <directory>] [-p] [--verbose] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Find list views that are shared everywhere and makes them shared internally only. Local source modification only--to use this command to fix an entire org, retrieve all your objects and then deploy the updated files
USAGE
$ sfdx shane:listview:secure [-d <directory>] [-o <directory>] [-p] [--verbose] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-d, --directory=directory [default: force-app/main/default]
Where is all this metadata? defaults
to force-app/main/default
-o, --object=object only modify list views for a single
object. Api name, including __c if
custom
-p, --noprompt Do not prompt for confirmation
--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
--verbose emit additional command output to
stdout
EXAMPLES
sfdx shane:listview:secure -o Account
// add 'all internal users' sharing to any list view on Account without defined sharing
sfdx shane:listview:secure
// add 'all internal users' sharing to any list view in local source without defined sharing
See code: src/commands/shane/listview/secure.ts
sfdx shane:lwc:create -n <string> -d <directory> [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
create a lwc locally without need for sfdx project
USAGE
$ sfdx shane:lwc:create -n <string> -d <directory> [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-d, --directory=directory (required) where to create the new
lwc's folder
-n, --name=name (required) name it
headsDownCamelCase
--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
EXAMPLE
sfdx shane:lwc:create -n someLWC -d modules/namespace
// creates lwc in the given folder path
See code: src/commands/shane/lwc/create.ts
sfdx shane:lwc:css:merge -f <filepath> -c <directory> [-l <filepath>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
take css from existing file(s), extract component-level relevant selectors and save to a LWC's css file
USAGE
$ sfdx shane:lwc:css:merge -f <filepath> -c <directory> [-l <filepath>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-c, --component=component (required) component directory where
template and js live
-f, --file=file (required) file containing all css
selectors to select from
-l, --localcss=localcss local css file to merge with
contents of --file
--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
EXAMPLES
sfdx shane:lwc:css:merge -c modules/namespace/myComp -f some/big_file.css
// overwrites modules/namespace/myComp/myComp.css with relevant css selectors from big_file.css
sfdx shane:lwc:css:merge -c modules/namespace/myComp -f some/big_file.css -l modules/namespace/myComp/local.css
// overwrites modules/namespace/myComp/myComp.css with relevant css selectors from big_file.css PLUS any relevant
selectors from modules/namespace/myComp/local.css
See code: src/commands/shane/lwc/css/merge.ts
sfdx shane:mdapi:describe [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
what's in the org?
USAGE
$ sfdx shane:mdapi:describe [-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
EXAMPLE
sfdx shane:mdapi:describe -u someOrg
// list the metadata available in the org
See code: src/commands/shane/mdapi/describe.ts
sfdx shane:mdapi:list -t <string> [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
what's in the org?
USAGE
$ sfdx shane:mdapi:list -t <string> [-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-t, --type=type (required) pull only a specific
type. See the metadata api docs for
type names
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
EXAMPLE
sfdx shane:mdapi:list -u someOrg -t CustomObject
// what metadata exists for a specific type
See code: src/commands/shane/mdapi/list.ts
sfdx shane:mdapi:package:get -p <string> [-t <directory>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Gets package from an org, converts, and merges it into the local source
USAGE
$ sfdx shane:mdapi:package:get -p <string> [-t <directory>] [-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-p, --packagename=packagename (required) the name of the package
you want to retrieve
-t, --target=target [default: force-app] where to
convert the result to...defaults to
force-app
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
EXAMPLES
sfdx shane:mdapi:package:get -p MyPkg -u someOrg
// pulls a package from the org and converts/merges it into force-app
sfdx shane:mdapi:package:get -p MyPkg -u someOrg -t someDir
// pulls a package from the org and converts/merges it into /someDir
See code: src/commands/shane/mdapi/package/get.ts
sfdx shane:mdapi:package:xml -p <filepath> [-t <directory>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
gets metadata form an org based on a local package.xml, converts, and merges it into the local source
USAGE
$ sfdx shane:mdapi:package:xml -p <filepath> [-t <directory>] [-u <string>] [--apiversion <string>] [--json]
[--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-p, --xmlpath=xmlpath (required) the location of the
package.xml you want to use
-t, --target=target [default: force-app] where to
convert the result to...defaults to
force-app
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
EXAMPLES
sfdx shane:mdapi:package:xml -p someFolder/package.xml -u someOrg
// pulls a metadat from the org and converts/merges it into force-app
sfdx shane:mdapi:package:xml -p someFolder/package.xml -u someOrg -t someDir
// pulls a package from the org and converts/merges it into /someDir
See code: src/commands/shane/mdapi/package/xml.ts
sfdx shane:mdapi:pull [-c | --all] [-p | undefined] [--wave | undefined] [-s | undefined | -o <string>] [-i | undefined] [--reporting | undefined] [-t <string> | undefined] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
gets unpackaged metadata for you
USAGE
$ sfdx shane:mdapi:pull [-c | --all] [-p | undefined] [--wave | undefined] [-s | undefined | -o <string>] [-i |
undefined] [--reporting | undefined] [-t <string> | undefined] [-u <string>] [--apiversion <string>] [--json]
[--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-c, --code ApexClass,ApexTrigger,ApexComponent,
ApexPage,AuraDefinitionBundle,Static
Resource
-i, --ui CompactLayout,Layout,ListView,Custom
Tab,AppMenu,CustomApplication,Custom
PageWebLink,HomePageComponent,HomePa
geLayout,PathAssistant,WebLink,Custo
mLabels,FlexiPage,QuickAction
-o, --object=object pull metadata for a single object
-p, --perms PermissionSet,Profile,Role,CustomPer
mission,Group
-s, --schema ExternalDataSource,CustomMetadata,Re
cordType,GlobalValueSet,CustomField,
CustomObject,StandardValueSet
-t, --type=type pull only a specific type. See the
metadata api docs for type names
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--all Pulls just about everything. Don't
use this flag with any other subset
of metadata. Not recommended for
really large metadata orgs because
it'll overflow stdout
--apiversion=apiversion override the api version used for
api requests made by this command
--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
--reporting Report,Dashboard
--wave WaveApplication,WaveDashboard,WaveDa
taflow,WaveLens,WaveTemplateBundle,W
avexmd,WaveDataset
EXAMPLES
sfdx shane:mdapi:pull -c -u someOrg
// pulls code kinda stuff from the org and converts/merges it into your project's default pkgDir
sfdx shane:mdapi:pull -u someOrg
// pulls all the external data source metadata from the org and converts/merges it into your project's default pkgDir
See code: src/commands/shane/mdapi/pull.ts
sfdx shane:mdapi:push [-d <directory>] [-k] [-r <directory>] [-w <integer>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
convert and deploy the packaged source
USAGE
$ sfdx shane:mdapi:push [-d <directory>] [-k] [-r <directory>] [-w <integer>] [-u <string>] [--apiversion <string>]
[--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-d, --convertedfolder=convertedfolder [default: mdapiout] where to store
the mdapi-converted source
-k, --keepconverted Don't automatically delete the
converted source
-r, --source=source [default: force-app] deploy a
specific folder that's not force-app
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
-w, --deploymenttimelimit=deploymenttimelimit [default: 200] How many minutes to
wait for the deployment to finish
--apiversion=apiversion override the api version used for
api requests made by this command
--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
EXAMPLE
sfdx shane:mdapi:push -u someOrg
// convert to mdapi format and push to the given org
See code: src/commands/shane/mdapi/push.ts
sfdx shane:msgchannel:create -n <string> [-d <string>] [-t <directory>] [-e] [-f <array>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
create a lightning message channel locally
USAGE
$ sfdx shane:msgchannel:create -n <string> [-d <string>] [-t <directory>] [-e] [-f <array>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-d, --description=description [default: added from sfdx plugin]
optional description so you can
remember why you added this and what
it's for
-e, --exposed accessible outside your namespace
(this is PERMANENT!)
-f, --fields=fields fields to create on the message
channel
-n, --name=name (required) name it (Salesforce API
compliant name)
-t, --target=target [default: force-app/main/default]
where to create the folder (if it
doesn't exist already) and
file...defaults to
force-app/main/default
--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
EXAMPLE
sfdx shane:msgchannel:create -n wkrp -d "it's a message channel, yo" -f Field1,Field2,Field3
// creates a messageChannel with the given name, description, and fields
See code: src/commands/shane/msgchannel/create.ts
sfdx shane:object:create [-t <string>] [-l <string>] [-a <string>] [-p <string>] [--description <string>] [--enterprise] [--sharingmodel <string>] [--activities] [--search] [--reports] [--history] [--feeds] [--nametype <string>] [--namefieldlabel <string>] [--autonumberformat <string>] [--visibility <string>] [--highvolume] [-i] [-d <directory>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
create an object in local source. Only **c (limited support), **b (big objects) and events __e are currently supported
USAGE
$ sfdx shane:object:create [-t <string>] [-l <string>] [-a <string>] [-p <string>] [--description <string>]
[--enterprise] [--sharingmodel <string>] [--activities] [--search] [--reports] [--history] [--feeds] [--nametype
<string>] [--namefieldlabel <string>] [--autonumberformat <string>] [--visibility <string>] [--highvolume] [-i] [-d
<directory>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-a, --api=api api name. Ends with one of the
supported types: [__b, __e]
-d, --directory=directory [default: force-app/main/default]
where to create the folder (if it
doesn't exist already) and
file...defaults to
force-app/main/default
-i, --interactive fully interactive--ask me every
possible question.
-l, --label=label label for the UI
-p, --plural=plural plural label for the UI
-t, --type=custom|cmdt|big|event type of object
--activities the enableActivities flag on an
object (invalid for __b, __e)
--autonumberformat=autonumberformat the display format for the
autonumbering
--description=description [default: added from sfdx plugin]
optional description so you can
remember why you added this and what
it's for
--enterprise enable bulk/sharing/streaming
--feeds the enableFeeds flag on an object
(invalid for __b, __e)
--highvolume high volume, valid only for platform
events (__e)
--history the enableHistory flag on an object
(invalid for __b, __e)
--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
--namefieldlabel=namefieldlabel [default: Name] the label for the
name field
--nametype=Text|AutoNumber name field type
--reports the enableReports flag on an object
(invalid for __b, __e)
--search the enableSearch flag on an object
(invalid for __b, __e)
--sharingmodel=Read|ReadWrite|Private [default: ReadWrite] sharing model
--visibility=Public|Protected|PackageProtected [default: Public] visibility for
custom metadata types
EXAMPLES
sfdx shane:object:create
// without any params, the cli is going to ask you questions to generate your object interactively
sfdx shane:object:create --label "Platypus" --plural "Platypi" --api Platypus__b --directory /my/project/path
// label, plural, api name specified so the tool doesn't have to ask you about them. Creates in a non-default path
sfdx shane:object:create --label "Platypus" --plural "Platypi" --api Platypus__b --directory /my/project/path
// label, plural, api name specified so the tool doesn't have to ask you about them. Creates in a non-default path
sfdx shane:object:create --label "Signal" --plural "Signals" --api Signal__e
// create a platform event
See code: src/commands/shane/object/create.ts
sfdx shane:object:fat -o <string> [-m <integer>] [-y <integer>] [--description <string>] [-d <directory>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
add or update a field audit trail retention policy on an object. Modifies local source--you still need to push/deploy
USAGE
$ sfdx shane:object:fat -o <string> [-m <integer>] [-y <integer>] [--description <string>] [-d <directory>] [--json]
[--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-d, --directory=directory [default: force-app/main/default]
Where is all this metadata? defaults
to force-app/main/default
-m, --archiveaftermonths=archiveaftermonths [default: 18] archive after this
number of months
-o, --object=object (required) object to manage the
policy for
-y, --archiveretentionyears=archiveretentionyears [default: 10] Archive for this many
years
--description=description optional friendly description for
the policy
--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
EXAMPLES
sfdx shane:object:fat -o Account
// set the retention policy on Account to the defaults (archive after 18 months, archive for 10 years)
sfdx shane:object:fat -o Account -m 4 -y 5
// archive history for 5 years, after being in regular history for 4 months
sfdx shane:object:fat -o Account -m 4 -y 5 -d myDir
// same as 2nd example, except metadata is in myDir instead of the default force-app/main/default
sfdx shane:mdapi:pull -o Account -u realOrg && sfdx shane:object:fat -o Account -m 4 -y 5 -d myDir && sfdx
shane:mdapi:push -u realOrg
// get some object you don't have locally, create the policy, and push that back up to where it came from
See code: src/commands/shane/object/fat.ts
sfdx shane:object:field [-o <string>] [-n <string>] [-a <string>] [-t <string>] [--description <string>] [--default <string>] [-r] [-u] [--externalid] [--trackhistory] [--helptext <string>] [-l <integer>] [-s <integer>] [--precision <integer>] [--lookupobject <string>] [--relname <string>] [--rellabel <string>] [--deleteconstraint <string>] [--reparentable] [--writerequiresmasterread] [--picklistvalues <array>] [--picklistdefaultfirst] [--indexposition <integer>] [--indexappend] [--indexdirection <string>] [--noindex] [-i] [-d <directory>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
create or add fields to an existing object
USAGE
$ sfdx shane:object:field [-o <string>] [-n <string>] [-a <string>] [-t <string>] [--description <string>] [--default
<string>] [-r] [-u] [--externalid] [--trackhistory] [--helptext <string>] [-l <integer>] [-s <integer>] [--precision
<integer>] [--lookupobject <string>] [--relname <string>] [--rellabel <string>] [--deleteconstraint <string>]
[--reparentable] [--writerequiresmasterread] [--picklistvalues <array>] [--picklistdefaultfirst] [--indexposition
<integer>] [--indexappend] [--indexdirection <string>] [--noindex] [-i] [-d <directory>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-a, --api=api
API name for the field
-d, --directory=directory
[default: force-app/main/default] Where is this object metadata? defaults to force-app/main/default
-i, --interactive
fully interactive--ask me every possible question.
-l, --length=length
length (for text fields and text area)
-n, --name=name
Label for the field
-o, --object=object
API name of an object to add a field to
-r, --required
field is required
-s, --scale=scale
places right of the decimal
-t, --type=type
field type. Big Objects: Text,Number,DateTime,Lookup,LongTextArea. Events:
Text,Number,DateTime,Date,LongTextArea,Checkbox. Regular Objects:
Text,Number,DateTime,Date,Time,LongTextArea,Checkbox,Url,Email,Phone,Currency,Picklist,Html,Location,Lookup,MasterDe
tail
-u, --unique
field must be unique
--default=default
required for checkbox fields. Express in Salesforce formula language (good luck with that!)
--deleteconstraint=SetNull|Restrict|Cascade
delete behavior
--description=description
optional description for the field so you remember what it's for next year
--externalid
use as an external id
--helptext=helptext
optional inline help text
--indexappend
put next in the big object index
--indexdirection=ASC|DESC
sort direction for the big object index
--indexposition=indexposition
put in a specific position in the big object index (0 is the first element). You're responsible for dealing with
producing a sane array
--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
--lookupobject=lookupobject
API name of the object the lookup goes to
--noindex
do not add this field to the index
--picklistdefaultfirst
use the first value in the picklist as the default
--picklistvalues=picklistvalues
values for the picklist
--precision=precision
maximum allowed digits of a number, including whole and decimal places
--rellabel=rellabel
label for the child relationship (appears on related lists)
--relname=relname
API name for the child relationship
--reparentable
the master detail is parentable
--trackhistory
enable history tracking on the field
--writerequiresmasterread
the master detail is parentable
EXAMPLES
sfdx shane:object:field
// without any params, the cli is going to ask you questions to generate your field interactively
sfdx shane:object:field --api My_Field__c -l 255 -n "My Field" -t Text -o BigTest__b --noindex
// create new text field called My Field (My_Field__c) on BigObject BigTest__b
sfdx shane:object:field --api My_Index_Field__c -l 255 -n "My Index Field" -t Text -o BigTest__b --indexdirection ASC
--indexposition 1
// create new text field called My Field (My_Field__c) on BigObject BigTest__b, add it to the existing index as the
second field
sfdx shane:object:field --api My_Field__c -l 255 -n "My Field" -t Text -o EventTest__e
// create new text field called My Field (My_Field__c) on Platform Event EventTest__e
See code: src/commands/shane/object/field.ts
sfdx shane:object:fields:describe -o <string> [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
what fields are on the object?
USAGE
$ sfdx shane:object:fields:describe -o <string> [-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-o, --object=object (required) the object to describe
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
EXAMPLE
sfdx shane:object:fields:describe -o Account -u someOrg
// list the fields (with type/label) on account
See code: src/commands/shane/object/fields/describe.ts
sfdx shane:object:perms:align [-d <directory>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
align profiles with
USAGE
$ sfdx shane:object:perms:align [-d <directory>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-d, --directory=directory [default: force-app/main/default]
Where is all this metadata?
--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
EXAMPLE
sfdx shane:object:perms:align
// go through all the profiles/permsets in force-app/main/default and remove references to stuff that isn't in local
source
See code: src/commands/shane/object/perms/align.ts
sfdx shane:object:powerofone -o <string> [-l <string>] [-a <string>] [-d <string>] [-t <directory>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
add a "power of one" formula field to any object
USAGE
$ sfdx shane:object:powerofone -o <string> [-l <string>] [-a <string>] [-d <string>] [-t <directory>] [--json]
[--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-a, --api=api [default: Power_Of_One__c] api name
(will include the __c for you if you
don't add it here
-d, --description=description [default: Power of one is used for
formulas, reporting, etc] optional
description so you can remember why
you added this and what it's for
-l, --label=label [default: Power Of One] label
-o, --object=object (required) API name of the object to
add the field to
-t, --target=target [default: force-app/main/default]
where to create the folder (if it
doesn't exist already) and
file...defaults to
force-app/main/default
--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
EXAMPLE
sfdx shane:object:powerofone -a Poo -l "Power of One" -o User
// create a field with api name Poo__c and label "Power of One" on the user object with the default description in the
default folder
See code: src/commands/shane/object/powerofone.ts
sfdx shane:object:recordtype -o <string> -l <string> [-n <string>] [-d <string>] [-t <directory>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
create a new record type for an object
USAGE
$ sfdx shane:object:recordtype -o <string> -l <string> [-n <string>] [-d <string>] [-t <directory>] [--json]
[--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-d, --description=description [default: Created by
shane:sfdx:plugins] optional
description so you can remember why
you added this and what it's for
-l, --label=label (required) [default: Power Of One]
label
-n, --name=name Name for the record Type (defaults
to label if not provided)
-o, --object=object (required) API name of the object to
add the record type to
-t, --target=target [default: force-app/main/default]
where to create the file...defaults
to force-app/main/default
--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
EXAMPLE
sfdx shane:object:recordtype -o Something__c -l 'MyRecordType'
// create a recordtype named MyRecordType and label MyRecordType on the Something__c object with the default
description in the default folder
See code: src/commands/shane/object/recordtype.ts
sfdx shane:object:tab -o <string> -i <integer> [-t <directory>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
create a tab from a custom object, and you have to pick an icon
USAGE
$ sfdx shane:object:tab -o <string> -i <integer> [-t <directory>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-i, --icon=icon (required) icon number from
https://lightningdesignsystem.com/ic
ons/#custom but only up to 100
-o, --object=object (required) object api name
-t, --target=target [default: force-app/main/default]
where to create the folder (if it
doesn't exist already) and
file...defaults to
force-app/main/default
--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
EXAMPLE
sfdx shane:object:tab -o SomeObject__c -i 86
// create a tab for the object using icon #86 from https://lightningdesignsystem.com/icons/#custom
See code: src/commands/shane/object/tab.ts
sfdx shane:object:unperm -o <string> [-d <directory>] [-s <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
remove references to an object from profiles/permsets (all or a specific one)
USAGE
$ sfdx shane:object:unperm -o <string> [-d <directory>] [-s <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-d, --directory=directory [default: force-app/main/default]
Where is all this metadata? defaults
to force-app/main/default
-o, --object=object (required) remove all references to
an object from profiles or permsets
-s, --specific=specific specify a profile or permset by name
to only remove it from that one
--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
EXAMPLE
sfdx shane:object:unperm -o OpportunitySplit
// go through all the profiles/permsets in force-app/main/default and remove the object, field, recordtypes and layout
assignments (profile only) for the named object
See code: src/commands/shane/object/unperm.ts
sfdx shane:org:componentlibrary [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
opens the lightning component library for the specified org
USAGE
$ sfdx shane:org:componentlibrary [-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
EXAMPLES
sfdx shane:org:componentlibrary
// opens /componentReference/suite.app on the default scratch org
sfdx shane:org:componentlibrary -u someOrgAlias
// opens library for specified org
See code: src/commands/shane/org/componentlibrary.ts
sfdx shane:org:create --userprefix <string> -o <string> [-i <string>] [-f <filepath>] [-a <string>] [-d <integer>] [--wait <integer>] [-c] [-n] [-s] [--verbose] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
create an org with a friendly username. wraps force:org:create
USAGE
$ sfdx shane:org:create --userprefix <string> -o <string> [-i <string>] [-f <filepath>] [-a <string>] [-d <integer>]
[--wait <integer>] [-c] [-n] [-s] [--verbose] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-a, --setalias=setalias set an alias for for the created
scratch org
-c, --noancestors do not include second-generation
package ancestors in the scratch org
-d, --durationdays=durationdays [default: 7] duration of the scratch
org (in days) (default:7, min:1,
max:30)
-f, --definitionfile=definitionfile [default:
config/project-scratch-def.json]
path to a scratch org definition
file. Default =
config/project-scratch-def.json
-i, --clientid=clientid connected app consumer key
-n, --nonamespace creates the scratch org with no
namespace
-o, --userdomain=userdomain (required) last part of the
generated username (after the @
sign). Example: 'demo.org' produces
[email protected], [email protected]
-s, --setdefaultusername set the created org as the default
username
--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
--userprefix=userprefix (required) first part of the
generated username. Example:
'shane' produces [email protected],
[email protected]
--verbose emit additional command output to
stdout
--wait=wait [default: 20] the streaming client
socket timeout (in minutes)
(default:20, min:2)
EXAMPLES
sfdx shane:org:create --userprefix shane -o org.test
// creates an org from the default project config/project-scratch-def.json but with username shane[i]@org.test where i
is a unique sequence number for that -u/-o combination
sfdx shane:org:create --userprefix shane -o org.test -a sydneyBristow -d 30 -v myOtherHub -f config/thatOtherFile.json
// above, but with an alias, a longer duration, and not the default hub, and not the default config file
See code: src/commands/shane/org/create.ts
sfdx shane:org:delete [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
delete the default scratch org. Won't prompt you for confirmation
USAGE
$ sfdx shane:org:delete [-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
ALIASES
$ sfdx shane:org:destroy
EXAMPLE
sfdx shane:org:delete // deletes the current default scratch org
See code: src/commands/shane/org/delete.ts
sfdx shane:org:domain:cors [--all] [--liveagent] [-t <directory>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
whitelist the org's domain as a CORS
USAGE
$ sfdx shane:org:domain:cors [--all] [--liveagent] [-t <directory>] [-u <string>] [--apiversion <string>] [--json]
[--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-t, --target=target [default: force-app/main/default]
where to create the folder (if it
doesn't exist already) and
file...defaults to
force-app/main/default
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--all do all of Salesforce, not just this
org's custom domain
--apiversion=apiversion override the api version used for
api requests made by this command
--json format output as json
--liveagent whitelist all of LiveAgent urls
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
this command invocation
EXAMPLE
sfdx shane:org:domain:cors
See code: src/commands/shane/org/domain/cors.ts
sfdx shane:org:domain:csp [--all] [--liveagent] [-t <directory>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
whitelist the org's domain as a CSP Trusted Site
USAGE
$ sfdx shane:org:domain:csp [--all] [--liveagent] [-t <directory>] [-u <string>] [--apiversion <string>] [--json]
[--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-t, --target=target [default: force-app/main/default]
where to create the folder (if it
doesn't exist already) and
file...defaults to
force-app/main/default
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--all do all of Salesforce, not just this
org's custom domain
--apiversion=apiversion override the api version used for
api requests made by this command
--json format output as json
--liveagent whitelist all of LiveAgent urls
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
this command invocation
EXAMPLE
sfdx shane:org:domain:cors
See code: src/commands/shane/org/domain/csp.ts
sfdx shane:org:domain:verify [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Verifies that a domain was successfully setup with MyDomain
USAGE
$ sfdx shane:org:domain:verify [-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
EXAMPLE
sfdx shane:org:domain:verify
See code: src/commands/shane/org/domain/verify.ts
sfdx shane:org:metadatacoverage [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
opens the metadata coverage report page
USAGE
$ sfdx shane:org:metadatacoverage [-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
EXAMPLES
sfdx shane:org:metadatacoverage
// opens /mdcoverage/report.jsp on the default scratch org
sfdx shane:org:metadatacoverage -u someOrgAlias
// opens report for specified org
See code: src/commands/shane/org/metadatacoverage.ts
sfdx shane:org:reauth [-r] [-v <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
reauthenticates (generates a new authinfo) for a scratch org, optionally insisting on custom domain being ready. Requires a hub
USAGE
$ sfdx shane:org:reauth [-r] [-v <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-r, --requirecustomdomain keep trying until you get back an
org with a custom domain on it
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
-v, --targetdevhubusername=targetdevhubusername username or alias for the dev hub
org; overrides default dev hub org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
EXAMPLES
sfdx shane:org:reauth
// reauths, and takes what it can get
sfdx shane:org:reauth --requirecustomdomain
// will try each minute, up to 60 minutes, until an org with a valid mydomain is ready
See code: src/commands/shane/org/reauth.ts
sfdx shane:org:refreshtoken [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Outputs a refresh token from an org that you've already authenticated sfdx to. PLEASE BE CAREFUL WITH THIS AND TREAT IT AS A PASSWORD
USAGE
$ sfdx shane:org:refreshtoken [-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
EXAMPLE
sfdx shane:org:refreshtoken -u someAliasOrUsername
// prints the refresh token for some org that you've already connected to
See code: src/commands/shane/org/refreshtoken.ts
sfdx shane:package2:version:bump [-M | -m | -p] [-c] [-r] [-t <string>] [-v <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
bump the major/minor version number in the packageDirectory
USAGE
$ sfdx shane:package2:version:bump [-M | -m | -p] [-c] [-r] [-t <string>] [-v <string>] [--apiversion <string>]
[--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-M, --major Bump the major version by 1, sets
minor,build to 0
-c, --create create a new packageVersion from the
new versionNumber
-m, --minor Bump the minor version by 1
-p, --patch Bump the patch version by 1
-r, --release set the newly version as released
(out of Beta). Implies create
whether you flag it or not :)
-t, --target=target [default: force-app] name of your
package directory (defaults to
force-app)
-v, --targetdevhubusername=targetdevhubusername username or alias for the dev hub
org; overrides default dev hub org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
ALIASES
$ sfdx shane:package:version:bump
EXAMPLES
sfdx shane:package2:version:bump -m
// bump the minor version up by one (and set patch to 0)
sfdx shane:package2:version:bump -M
// bump the major version up by one (and set minor/patch to 0)
sfdx shane:package2:version:bump -p
// bump the patch version up by one
sfdx shane:package2:version:bump -M -t myDir
// bump the major version up by one for a particular directory that's not the default
sfdx shane:package2:version:bump --minor --create
// bump the minor version up by one and create a new package2version
sfdx shane:package2:version:bump --minor --release
// bump the minor version up by one and create a new package2version, then set that as released
See code: src/commands/shane/package2/version/bump.ts
sfdx shane:permset:check -o <string> [-f <string>] [--users | --permsets | --profiles] [--fieldlevel <string>] [--objectlevel <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
who has access to what
USAGE
$ sfdx shane:permset:check -o <string> [-f <string>] [--users | --permsets | --profiles] [--fieldlevel <string>]
[--objectlevel <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-f, --field=field what field to check
-o, --object=object (required) what object to check
perms on
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--fieldlevel=Read|Edit [default: Read] what level of perms
are you looking for
--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
--objectlevel=Read|Edit|Create|Delete|ViewAll|ModifyAll [default: Read] what level of perms
are you looking for
--permsets return names/ids of permission sets
--profiles return names/ids of profiles
--users return names/ids of users with those
profiles and/or permission sets
EXAMPLES
sfdx shane:permset:check -o Project__c --profiles --permsets
// list the profiles and permsets that have Read access to the object
sfdx shane:permset:check -o Project__c -f Due_Date__c --fieldlevel Edit --profiles --permsets
// list the profiles and permsets that have Edit access to the field on the object
sfdx shane:permset:check -o Project__c -f Due_Date__c --users
// list the users that have Read access to the field on the object, and the profile/permset(s) that are granting
it
See code: src/commands/shane/permset/check.ts
sfdx shane:permset:create -n <string> [-f <string> -o <string>] [-r <string> undefined] [-a <string>] [-d <directory>] [-t] [-c] [-u <string>] [--apiversion <string>] [--verbose] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
create or add stuff to a permset with maximum access
USAGE
$ sfdx shane:permset:create -n <string> [-f <string> -o <string>] [-r <string> undefined] [-a <string>] [-d
<directory>] [-t] [-c] [-u <string>] [--apiversion <string>] [--verbose] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-a, --application=application API name of an application to add
perms for. If blank, then you mean
all the applications
-c, --checkpermissionable some fields' permissions can't be
deducted from metadata, use describe
on org to check if field is
permissionable
-d, --directory=directory [default: force-app/main/default]
Where is all this metadata? defaults
to force-app/main/default
-f, --field=field API name of an field to add perms
for. Required --object If blank,
then you mean all the fields
-n, --name=name (required) path to existing permset.
If it exists, new perms will be
added to it. If not, then it'll be
created for you
-o, --object=object API name of an object to add perms
for. If blank, then you mean ALL
the objects and ALL their fields and
ALL their tabs
-r, --recordtype=recordtype API name of a record type to add
perms for. Required --object If
blank, then you mean all the record
types
-t, --tab also add the tab for the specified
object (or all objects if there is
no specified objects)
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
--verbose emit additional command output to
stdout
EXAMPLES
sfdx shane:permset:create -n MyPermSet1 -o Something__c -f Some_Field__c
// create a permset in force-app/main/default for the object/field. If MyPermSet1 doesn't exist, it will be
created.
sfdx shane:permset:create -n MyPermSet1 -o Something__c
// create a permset in force-app/main/default for every field on Something__c.
sfdx shane:permset:create -n MyPermSet1
// create a permset in force-app/main/default for every field on every object!
sfdx shane:permset:create -n MyPermSet1 -t
// create a permset in force-app/main/default for every field on every object. If there's a tab for any of those
objects, add that tab to the permset, too
sfdx shane:permset:create -n MyPermSet1 -c
// create a permset in force-app/main/default for every field on every object, checking on org that all fields
are permissionable
See code: src/commands/shane/permset/create.ts
sfdx shane:profile:allowip -n <string> [-d <directory>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
allow the whole internet for a profile (no ip verification or 2FA/OTP challenges in dev)
USAGE
$ sfdx shane:profile:allowip -n <string> [-d <directory>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-d, --directory=directory [default: force-app/main/default]
Where is all this metadata? defaults
to force-app/main/default
-n, --name=name (required) profile name
--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
ALIASES
$ sfdx shane:profile:whitelist
EXAMPLE
sfdx shane:profile:allowip -n Admin
// add loginIpRanges of 0.0.0.0 to 255.255.255.255 to an existing profile, or create one if it doesn't exist
See code: src/commands/shane/profile/allowip.ts
sfdx shane:profile:convert -n <string> -p <string> [-d <directory>] [-e | -c] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
convert a profile into a permset
USAGE
$ sfdx shane:profile:convert -n <string> -p <string> [-d <directory>] [-e | -c] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-c, --skinnyclone create a new profile that's the
original profile less permset (does
not modify original profile)
-d, --directory=directory [default: force-app/main/default]
Where is all this metadata? defaults
to force-app/main/default
-e, --editprofile remove metadata from original
profile
-n, --name=name (required) path to existing permset.
If it exists, new perms will be
added to it. If not, then it'll be
created for you
-p, --profile=profile (required) API name of an profile to
convert. If blank, then you mean
ALL the objects and ALL their fields
and ALL their tabs
--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
EXAMPLES
sfdx shane:profile:convert -p Admin -n MyNewPermSet -e
// create a permset in force-app/main/default from the Admin profile (profiles/Admin). If MyNewPermSet doesn't exist,
it will be created. Content is removed from Admin profile (-e)
sfdx shane:profile:convert -p Admin -n MyNewPermSet -c
// create a permset in force-app/main/default from the Admin profile (profiles/Admin). If MyNewPermSet doesn't exist,
it will be created. Leaves the original Admin profile and creates an Admin_Skinny profile that has everything in the
permset removed (-c)
See code: src/commands/shane/profile/convert.ts
sfdx shane:project:create -n <string> [-g <string>] [-v <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
creates an sfdx project
USAGE
$ sfdx shane:project:create -n <string> [-g <string>] [-v <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-g, --gitremote=gitremote full github url for the
remote...overrides the default
generated from git config user.name
and project name
-n, --name=name (required) name and path for the
project
-v, --targetdevhubusername=targetdevhubusername username or alias for the dev hub
org; overrides default dev hub org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
EXAMPLE
sfdx shane:project:create -n myProject
// create a project in the folder with all the default structure
See code: src/commands/shane/project/create.ts
sfdx shane:remotesite:create -u <url> -n <string> [-d <string>] [-t <directory>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
create a remote site setting in the local source. Push it when you're done
USAGE
$ sfdx shane:remotesite:create -u <url> -n <string> [-d <string>] [-t <directory>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-d, --description=description [default: added from sfdx plugin]
optional description so you can
remember why you added this and what
it's for
-n, --name=name (required) name it (Salesforce API
compliant name)
-t, --target=target [default: force-app/main/default]
where to create the folder (if it
doesn't exist already) and
file...defaults to
force-app/main/default
-u, --url=url (required) url that you want to
allow callouts to
--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
EXAMPLES
sfdx shane:remotesite:create -n Test -u https://www.google.com
// create a remote site setting in force-app/main/default
sfdx shane:remotesite:create -n Test -u https://www.google.com -d "my description" -t myOtherDirectory/main/default
// create a remote site setting in myOtherDirectory/main/default with a description
See code: src/commands/shane/remotesite/create.ts
sfdx shane:source:replace -f <filepath> -o <string> -n <string> [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
replace a string in a file with another
USAGE
$ sfdx shane:source:replace -f <filepath> -o <string> -n <string> [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-f, --file=file (required) file to modify
-n, --new=new (required) the text you want it
changed to
-o, --old=old (required) the text you want to
change
--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
See code: src/commands/shane/source/replace.ts
sfdx shane:static:create -n <string> -y <string> [-d <string>] [-t <directory>] [-p] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
create a static resource locally
USAGE
$ sfdx shane:static:create -n <string> -y <string> [-d <string>] [-t <directory>] [-p] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-d, --description=description [default: added from sfdx plugin]
optional description so you can
remember why you added this and what
it's for
-n, --name=name (required) name it (Salesforce API
compliant name)
-p, --public mark the cache control public
-t, --target=target [default: force-app/main/default]
where to create the folder (if it
doesn't exist already) and
file...defaults to
force-app/main/default
-y, --type=zip|css|js|text|xml (required) choose one of the
following: zip, css, js, text, xml
--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
EXAMPLES
sfdx shane:static:create -n myJSResource -y js
// creates /staticresources/myJSResource.js (empty file) and /staticresources/myJSResource.resource-meta.xml
sfdx shane:static:create -n myZipResource -y js -d "my description" -t myOtherDirectory/main/default
// create an empty folder (zips when pushed), the meta.xml, with a description in a non-default directory.
See code: src/commands/shane/static/create.ts
sfdx shane:tab:favorite -t <string> [-l <string>] [--start] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
favorite a tab
USAGE
$ sfdx shane:tab:favorite -t <string> [-l <string>] [--start] [-u <string>] [--apiversion <string>] [--json]
[--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-l, --name=name the label you want to appear in the
favorites menu
-t, --target=target (required) API name of the tab you
want to favorite
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
--start add the favorite at the beginning of
the menu
ALIASES
$ sfdx shane:tab:favourite
EXAMPLES
sfdx shane:tab:favorite -t Tab_API_Name'"
// creates a favorite
sfdx shane:tab:favorite -t someNamespace__Tab_API_Name'"
// creates a favorite for a tab in a namespace
See code: src/commands/shane/tab/favorite.ts
sfdx shane:theme:activate -n <string> [-b] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Activate a LightningExperienceTheme via metadata api. Makes no permanent changes to local source
USAGE
$ sfdx shane:theme:activate -n <string> [-b] [-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-b, --showbrowser show the browser...useful for local
debugging
-n, --name=name (required) name of the theme to
activate
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
See code: src/commands/shane/theme/activate.ts
sfdx shane:tsp:username:update [-n <email>] [-d <directory>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
change the username on all transaction security policies
USAGE
$ sfdx shane:tsp:username:update [-n <email>] [-d <directory>] [-u <string>] [--apiversion <string>] [--json]
[--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-d, --directory=directory [default: force-app/main/default]
Where is all this metadata? defaults
to force-app/main/default
-n, --newusername=newusername manually specify the username,
ignoring your default or any -u
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
EXAMPLES
sfdx shane:tsp:username:update -n [email protected]
// updates the username for executionUser and all notifications in all transaction security policies
sfdx shane:tsp:username:create
// updates the username for executionUser and all notifications in all transaction security policies to the default
org's username
sfdx shane:tsp:username:create -u someAlias
// updates the username for executionUser and all notifications in all transaction security policies to the specified
target org's username
See code: src/commands/shane/tsp/username/update.ts
sfdx shane:uiapi:objectinfo -o <string> [--outputfile <filepath>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
get a ui api response from the objectinfo endpoint: https://developer.salesforce.com/docs/atlas.en-us.uiapi.meta/uiapi/ui_api_resources_object_info.htm
USAGE
$ sfdx shane:uiapi:objectinfo -o <string> [--outputfile <filepath>] [-u <string>] [--apiversion <string>] [--json]
[--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-o, --object=object (required) object api name
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
--outputfile=outputfile local path to save the output to
EXAMPLES
sfdx shane:uiapi:objectinfo -o Account --json
// returns ui-api objectinfo for Account
sfdx shane:uiapi:objectinfo -o Account --json --outputfile accountObjectInfo.json
// returns ui-api objectinfo for Account and saves it to a local file
See code: src/commands/shane/uiapi/objectinfo.ts
sfdx shane:uiapi:record -r <string> -f <array> [--optionalfields <array>] [--outputfile <filepath>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
get a ui api response from the getrecord endpoint: https://developer.salesforce.com/docs/atlas.en-us.uiapi.meta/uiapi/ui_api_resources_record_get.htm
USAGE
$ sfdx shane:uiapi:record -r <string> -f <array> [--optionalfields <array>] [--outputfile <filepath>] [-u <string>]
[--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-f, --fields=fields (required) fields to return.
Specify with the object API name,
like Account.Name, Account.Phone,
etc. If not visible to the running
user, an error is thrown
-r, --recordid=recordid (required) single recordId to
generate the data/metadata
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
--optionalfields=optionalfields optional fields to return. If not
visible to the running user, the
field is just omitted
--outputfile=outputfile local path to save the output to
EXAMPLE
sfdx shane:uiapi:record -r 001R0000003I6CoIAK -f Account.Name --optionalfields
Account.AnnualRevenue,AccountAccount.Number --json
// default ui-api response for a getrecord.
See code: src/commands/shane/uiapi/record.ts
sfdx shane:uiapi:recordui [-r <string> | --recordids <array>] [-l <array>] [-m <array>] [--outputfile <filepath>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
get a ui api response from the record-ui endpoint: https://developer.salesforce.com/docs/atlas.en-us.uiapi.meta/uiapi/ui_api_resources_record_ui.htm
USAGE
$ sfdx shane:uiapi:recordui [-r <string> | --recordids <array>] [-l <array>] [-m <array>] [--outputfile <filepath>]
[-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-l, --layouttypes=layouttypes which layout (Compact, Full or both)
-m, --modes=modes which mode (Create, Edit, View, or
combo)
-r, --recordid=recordid single recordId to generate the
data/metadata
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
--outputfile=outputfile local path to save the output to
--recordids=recordids array of recordIds to generate the
data/metadata
EXAMPLE
sfdx shane:uiapi:recordui -r 001R0000003I6CoIAK --json
// default ui-api response for a single recordId
See code: src/commands/shane/uiapi/recordui.ts
sfdx shane:user:allPhotos [-r <url>] [-f <directory>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
set the chatter photos of anyone who has not set theirs already to encourage them to do so
USAGE
$ sfdx shane:user:allPhotos [-r <url>] [-f <directory>] [-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-f, --folder=folder optional local folder of photos.
Overrides --repo
-r, --repo=repo [default:
https://github.com/mshanemc/badProfi
lePhotos] optional alternate repo of
photos, which contains a folder of
photos named /img
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
EXAMPLE
sfdx shane:user:allphotos -u someAlias
See code: src/commands/shane/user/allPhotos.ts
sfdx shane:user:lightning:debug [-g <string>] [-l <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
set the user to debug mode
USAGE
$ sfdx shane:user:lightning:debug [-g <string>] [-l <string>] [-u <string>] [--apiversion <string>] [--json]
[--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-g, --firstname=firstname first (given) name of the
user--keeping -f for file for
consistency
-l, --lastname=lastname last name of the user
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
EXAMPLES
sfdx shane:user:lightning:debug
// puts the default user in lightning debug mode
sfdx shane:user:lightning:debug -g Sarah -l McLaughlin
// puts the named user in lightning debug mode
See code: src/commands/shane/user/lightning/debug.ts
sfdx shane:user:loginurl [-p <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
generate a long-lived shareable login url for the org
USAGE
$ sfdx shane:user:loginurl [-p <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-p, --starturl=starturl url to open
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
EXAMPLES
sfdx shane:user:loginurl
// generates a url including un and pw query strings to simplify logging into the scratch org
sfdx shane:user:loginurl -p /lightning/setup/ObjectManager/home
// same, but sets the start url to ObjectManager
See code: src/commands/shane/user/loginurl.ts
sfdx shane:user:password:set -g <string> -l <string> -p <string> [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Set the password for a user by first/last name
USAGE
$ sfdx shane:user:password:set -g <string> -l <string> -p <string> [-u <string>] [--apiversion <string>] [--json]
[--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-g, --firstname=firstname (required) first (given) name of the
user--keeping -f for file for
consistency
-l, --lastname=lastname (required) last name of the user
-p, --password=password (required) the password you want the
user to have
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
EXAMPLE
sfdx shane:user:password:set -p sfdx1234 -g User -l User
// sets the password for User User to sfdx1234
See code: src/commands/shane/user/password/set.ts
sfdx shane:user:permset:assign -n <string> [-g <string> -l <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Assign a permset to a user by first/last name, or just the default user. Does not error if permset is already assigned
USAGE
$ sfdx shane:user:permset:assign -n <string> [-g <string> -l <string>] [-u <string>] [--apiversion <string>] [--json]
[--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-g, --firstname=firstname first (given) name of the
user--keeping -f for file for
consistency
-l, --lastname=lastname last name of the user
-n, --name=name (required) the value of the permset
name or label field
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
EXAMPLE
sfdx shane:user:permset:assign -n thePermSet -g User -l User
See code: src/commands/shane/user/permset/assign.ts
sfdx shane:user:photo -l <string> [-g <string>] [-f <filepath> | -b <filepath>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Set the photo for a user by first/last name
USAGE
$ sfdx shane:user:photo -l <string> [-g <string>] [-f <filepath> | -b <filepath>] [-u <string>] [--apiversion
<string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-b, --banner=banner local path of the chatter banner
photo to use
-f, --file=file local path of the photo to use
-g, --firstname=firstname first (given) name of the
user--keeping -f for file for
consistency
-l, --lastname=lastname (required) last name of the user
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
EXAMPLES
sfdx shane:user:photo -f ~/Downloads/King.png -g User -l User
// sets the chatter photo for the user named User User using the local file
sfdx shane:user:photo -b ~/Downloads/King.png -g User -l User
// sets the chatter banner photo for the user named User User using the local file
sfdx shane:user:photo -f ~/Downloads/King.png -b ~/Downloads/OtherPhoto.jpg -g User -l User
// sets the chatter banner photo AND user photo at the same time
See code: src/commands/shane/user/photo.ts
sfdx shane:user:psl -l <string> -n <filepath> [-g <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Assign a permset license already in an org for a user
USAGE
$ sfdx shane:user:psl -l <string> -n <filepath> [-g <string>] [-u <string>] [--apiversion <string>] [--json]
[--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-g, --firstname=firstname first (given) name of the
user--keeping -f for file for
consistency
-l, --lastname=lastname (required) last name of the user
-n, --name=name (required) developer name or label
of the PermSetLicense
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
EXAMPLE
sfdx shane:user:psl -n SomePSL -g User -l User
// assign the PSL named 'somePSL' for the user named User User
See code: src/commands/shane/user/psl.ts
sfdx streaming:list [-t <array>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
What kinds of things can I subscribe to?
USAGE
$ sfdx streaming:list [-t <array>] [-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-t, --types=types [default: cdc,event,topic] optional
specify which types to query
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
ALIASES
$ sfdx shane:streaming:list
EXAMPLES
sfdx streaming:list // list everything
sfdx streaming:list -t cdc,topic // list CDC and PushTopic but not standard and custom PlatformEvents
See code: @mshanemc/plugin-streaming
sfdx streaming:pushtopic:create -n <string> -q <string> [-d <integer>] [-f <string>] [-o <array>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Create push topics
USAGE
$ sfdx streaming:pushtopic:create -n <string> -q <string> [-d <integer>] [-f <string>] [-o <array>] [-u <string>]
[--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-d, --description=description add a description to the push topic
-f, --notifyforfields=All|Referenced|Select|Where [default: Referenced] Specifies
which fields are evaluated to
generate a notification
-n, --name=name (required) name for the push topic
-o, --operations=operations [default:
create,update,delete,undelete] which
operations should produce a
notification
-q, --query=query (required) The SOQL query statement
that determines which record changes
trigger events to be sent to the
channel.
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
ALIASES
$ sfdx shane:streaming:pushtopic:create
EXAMPLES
sfdx streaming:pushtopic:create -n myTopic -q "select Id,Name from account"
// creates the push topic
sfdx streaming:pushtopic:create -n myTopic -q "select Id from account" -f All -o create,update
// creates the push topic and sets operations and watches all fields
See code: @mshanemc/plugin-streaming
sfdx streaming:pushtopic:deactivate -n <string> [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
deactivate push topics
USAGE
$ sfdx streaming:pushtopic:deactivate -n <string> [-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-n, --name=name (required) name for the push topic
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
ALIASES
$ sfdx shane:streaming:pushtopic:deactivate
EXAMPLE
sfdx streaming:pushtopic:deactivate -n myTopic
See code: @mshanemc/plugin-streaming
sfdx streaming:pushtopic:delete -n <string> [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Delete a push topic
USAGE
$ sfdx streaming:pushtopic:delete -n <string> [-u <string>] [--apiversion <string>] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-n, --name=name (required) name for the push topic
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
ALIASES
$ sfdx shane:streaming:pushtopic:delete
EXAMPLE
sfdx streaming:pushtopic:delete -n myTopic
See code: @mshanemc/plugin-streaming
sfdx streaming:pushtopic:update -n <string> [-d <integer>] [-f <string>] [-o <array>] [-q <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
Update push topics
USAGE
$ sfdx streaming:pushtopic:update -n <string> [-d <integer>] [-f <string>] [-o <array>] [-q <string>] [-u <string>]
[--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-d, --description=description add a description to the push topic
-f, --notifyforfields=All|Referenced|Select|Where Specifies which fields are evaluated
to generate a notification
-n, --name=name (required) name for the push topic
-o, --operations=operations which operations should produce a
notification
-q, --query=query The SOQL query statement that
determines which record changes
trigger events to be sent to the
channel.
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
ALIASES
$ sfdx shane:streaming:pushtopic:update
EXAMPLES
sfdx streaming:pushtopic:update -n myTopic -q "select Id,Name from account"
// modifies the push topic
sfdx streaming:pushtopic:update -n myTopic -q "select Id from account" -f All -o create,update
// modifies the push topic and sets operations and watches all fields
See code: @mshanemc/plugin-streaming
sfdx streaming:subscribe [-t <string>] [-n <string>] [-r <integer>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
USAGE
$ sfdx streaming:subscribe [-t <string>] [-n <string>] [-r <integer>] [-u <string>] [--apiversion <string>] [--json]
[--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-n, --name=name name of the topic/event/dataEvent
-r, --replay=replay [default: -1] replay Id to begin
from
-t, --type=event|topic|cdc [default: event] the type of thing
you want to subscribe to
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
--apiversion=apiversion override the api version used for
api requests made by this command
--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
ALIASES
$ sfdx shane:streaming:subscribe
EXAMPLES
sfdx streaming:subscribe -t cdc -n ChangeEvents // subscribe to all CDC
sfdx streaming:subscribe -t cdc -n AccountChangeEvent // subscribe to cdc for a standard object
sfdx streaming:subscribe -t event -n Something__e // subscribe to platform event
sfdx streaming:subscribe -t event -n Something__e -r 6744 // subscribe to platform event with a replay ID
sfdx streaming:subscribe -t topic -n myTopic // subscribe to a push topic
See code: @mshanemc/plugin-streaming
I take PRs from users. CI tests are going to run with heroku-ci.
If you want to run tests locally, you'll need a dev hub already auth'd, and also a heroku api key (you could avoid that last part by putting .skip on the whole heroku test I guess).
Tests are really mostly integration tests, using jest. I'm as concerned about sfdx cli/mdapi bugs/changes as I am about your bugs and my bugs and that stuff is rather nasty (and somewhat pointless) to try to mock out. If you want to, that's cool.
- that your commands get all the parameters in, correctly
- if you modify sfdx source code, that whatever your plugin is making is still deployable
- that it properly returns both --json and non---json scenarios (I've forgotten this a few times and it's bit me)
- if you're calling Salesforce rest apis, that it works
I had to use puppeteer inside some of the commands to get around non-api-enabled features, so feel free to use it in your tests it you want to open some org.
Be sure to clean up after your tests (delete scratch orgs, etc).