@sf-explorer/devops

0.0.27 • Public • Published

SF Explorer Devops Rules

A set of declarative rules to validate best practices in your org: report

Pre-requisite

  • nodejs
  • sf or sfdx connected on a default org

Running the rules

Run the command:

npx @sf-explorer/devops.cli -o myOrg -d 2024-03-01 --exclude '@Sys admin' --exclude 'CustomField.*_del'

The command will generate an output file name testReport.xml similar to the one you can find here.

Options

Options:
      --version         Show version number                            [boolean]
  -d, --from-date       From date execution, in format YYYY-MM-DD
                                                         [default: "2024-04-01"]
  -e, --exclude         Exclude specified author, in format @name, multiple
                        values are supported
  -o, --target-org      Username or alias of the target org. Not required if the
                        `target-org` configuration variable is already set.
  -u, --sfdx-url       sfdx auth url
  -r, --print-rules     Print rules
  -h, --help            Show help                                      [boolean]

The command will generate:

  • an xml file named testReport.xml similar to the one you can find here
  • an csv file named errors.csv
  • an json file named errors.json

Customize the rules

You can ignore specific errors with a file named .sfexplorerignore (using regex similar to a .gitignore file)

  • ignore an author with @ and the author name
  • ignore a record with its type and target

Default Rules

EntityDefinition

A custom object Name must be in english and PascalCase
A custom object Description is required
Less than 100 custom fields
Maximum one custom trigger per object
Maximum 15 record types per object

CustomField

A CustomField API Name must be in english and PascalCase
Custom Fields must have a Description (at least 10 chars)

Flow

Flow Description is required (at least 10 chars)
Flow Label must be Short Yet Meaningful

ApexClass

An Apex class name must be PascalCase and use a correct Suffix
An ApexClass must follow the best practices
An ApexClass must have a Description
An ApexClass must have an author
Apex variables must be camelCase
Apex methods must be camelCase

LightningComponentResource

An LWC must have an author
An LWC must have a description

PermissionSet

Name is following project convention
Description is required (more than 10 chars)

PermissionSetGroup

PermissionSetGroup must have a description (more than 10 chars)

CustomPermission

CustomPermissions must have a description

FieldPermissions

No field level security on Profiles (except System Administrator)

OmniUiCard

Flexcards names must be pascal case
Flexcards must have a description

OmniProcess

Omniscript Type should be camel case (for LWC compatibility)
Omniscript SubType must be PascalCase
Omniscripts must have a description
Omniscript must have less than 100 elements

OmniProcessElement

Remote action and DataRaptor Actions must have a description
Set Values and Set Errors must start with Set+PascalCase
Remote Action must start with 'Invoke+PascalCase'
DataRaptor Extract must start with 'DRE+PascalCase'
DataRaptor Post must start with 'DRP+PascalCase'
Integration Procedure must start with 'IP+PascalCase'

OmniDataTransform

DataRaptors must have a description

ExternalString

CustomLabel name must be PascalCase

StaticResource

StaticResource must have a description

CustomApplication

CustomApplication must have a description

ValidationRule

ValidationRule must have a description

WebLink

Custom Button must have a description
Custom Button name must be pascal case

Readme

Keywords

Package Sidebar

Install

npm i @sf-explorer/devops

Weekly Downloads

97

Version

0.0.27

License

MIT

Unpacked Size

149 kB

Total Files

29

Last publish

Collaborators

  • ndespres