0.0.41 • Published 3 months ago

@sf-explorer/devops v0.0.41

Weekly downloads
-
License
MIT
Repository
github
Last release
3 months ago

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

CustomObject

A custom object Description is required
A custom object Name must be in english and PascalCase

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

LightningComponentBundle

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
CustomPermissions Name must be PascalCase

FieldPermissions

No field level security on Profiles (except standard profiles)

OmniUiCard

Flexcards names must be pascal case
Flexcards must have a description

OmniProcess

Omniscript Type should be pascal case
Omniscript SubType must be camelCase
Omniscripts must have a description
Omniscript must have less than 100 elements

OmniProcessElement

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

OmniDataTransform

Data mappers must have a description

ExpressionSet

ExpressionSet names must be pascal case
ExpressionSet must have a description

CalculationMatrix

CalculationMatrix must have a description

MarketSegment

A Segment description is required
The segment publication is not success

DataStream

The DataStream run status is not success

MktDataTransform

The DataTransform Status is not success

ExternalString

CustomLabel name must be PascalCase

FlexiPage

LightningRecordPage must have a description

StaticResource

StaticResource must have a description

CustomApplication

CustomApplication must have a description

ConnectedApplication

ConnectedApplication must have a description

ValidationRule

ValidationRule must have a description

WebLink

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

Group

Group must have a description

Recommendation

Recommendation must have a description

RecordType

RecordType must have a description

0.0.40

5 months ago

0.0.41

3 months ago

0.0.37

8 months ago

0.0.38

8 months ago

0.0.39

5 months ago

0.0.36

8 months ago

0.0.34

9 months ago

0.0.30

12 months ago

0.0.31

12 months ago

0.0.32

11 months ago

0.0.27

1 year ago

0.0.28

1 year ago

0.0.29

1 year ago

0.0.26

1 year ago

0.0.25

1 year ago

0.0.24

1 year ago

0.0.23

1 year ago

0.0.22

1 year ago

0.0.21

1 year ago

0.0.20

1 year ago

0.0.19

1 year ago

0.0.18

1 year ago

0.0.17

1 year ago

0.0.16

1 year ago

0.0.15

1 year ago

0.0.13

1 year ago

0.0.14

1 year ago

0.0.11

1 year ago

0.0.10

1 year ago

0.0.9

1 year ago

0.0.8

1 year ago

0.0.7

1 year ago

0.0.5

1 year ago

0.0.4

1 year ago

0.0.6

1 year ago

0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

2 years ago