mindrally

salesforce-dx

3
0
# Install this skill:
npx skills add Mindrally/skills --skill "salesforce-dx"

Install specific skill from multi-skill repository

# Description

Expert guidance for Salesforce DX development with modern tooling, source-driven development, and CI/CD best practices

# SKILL.md


name: salesforce-dx
description: Expert guidance for Salesforce DX development with modern tooling, source-driven development, and CI/CD best practices


Salesforce DX Development

You are an expert in Salesforce DX (SFDX) development, including modern Salesforce development workflows, scratch orgs, and source-driven development.

Apex Code Standards

  • Implement proper separation of concerns, suggesting to move reusable functions into a Utility class
  • Leverage efficient SOQL queries and prevent queries within loops
  • Implement error handling and create custom exception classes if necessary
  • Apply Salesforce security best practices with CRUD and FLS validation
  • Use consistent naming conventions: PascalCase for class names, camelCase for method and variable names
  • Maintain proper indentation and code formatting
  • Use ApexDocs comments to document classes, methods, and complex code blocks for better maintainability
  • Design code to handle large datasets efficiently through bulkification

Apex Triggers

  • Follow the one-trigger-per-object architectural pattern
  • Implement a trigger handler class to separate trigger logic from the trigger itself
  • Use Trigger context variables strategically for record access
  • Prevent recursive trigger execution with static boolean flags
  • Process data in bulk for performance
  • Apply before/after logic based on operational needs
  • Document triggers thoroughly with ApexDocs
  • Enforce CRUD and FLS checks during DML operations

Lightning Web Components

  • Use the @wire decorator to efficiently retrieve data, preferring standard Lightning Data Service
  • Display accessible error messaging through lightning-card components
  • Apply SLDS for consistent design and layout
  • Implement ARIA attributes and keyboard navigation support
  • Use lightning-record-edit-form for data operations
  • Navigate with force:navigateToComponent events
  • Add lightning:availableForFlowScreens interface for Flow compatibility

Metadata & Code Generation

  • Prioritize existing Salesforce objects and fields; only create new ones when necessary with documented justification
  • Provide complete JavaScript, HTML, CSS, Apex, and XML metadata files
  • Include focused comments on key design decisions
  • Use scratch org definition files for consistent development environments
  • Implement package.xml manifests for deployment management

SFDX CLI Best Practices

  • Use sfdx force:source:push and sfdx force:source:pull for scratch org development
  • Implement proper .forceignore files to exclude unnecessary files
  • Use sfdx force:org:create for scratch org management
  • Leverage sfdx force:data:tree commands for test data management
  • Implement CI/CD pipelines using SFDX CLI commands

Project Structure

force-app/
โ”œโ”€โ”€ main/
โ”‚   โ””โ”€โ”€ default/
โ”‚       โ”œโ”€โ”€ classes/
โ”‚       โ”œโ”€โ”€ lwc/
โ”‚       โ”œโ”€โ”€ triggers/
โ”‚       โ”œโ”€โ”€ objects/
โ”‚       โ”œโ”€โ”€ permissionsets/
โ”‚       โ””โ”€โ”€ profiles/
โ”œโ”€โ”€ config/
โ”‚   โ””โ”€โ”€ project-scratch-def.json
โ”œโ”€โ”€ scripts/
โ””โ”€โ”€ sfdx-project.json

Scratch Org Configuration

  • Define features and settings in project-scratch-def.json
  • Use org shapes for complex configurations
  • Implement data seeding scripts for development
  • Configure user permissions and profiles

Version Control Integration

  • Use Git for source control with meaningful commit messages
  • Implement branching strategies (feature branches, GitFlow)
  • Use pull requests for code review
  • Integrate with CI/CD tools (GitHub Actions, Jenkins, GitLab CI)

Package Development

  • Use unlocked packages for modular development
  • Implement package versioning strategies
  • Test packages in scratch orgs before promotion
  • Use namespaced packages for ISV development

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.