mcpField
S
salesforce-dx

salesforce-dx

github.com/mindrally開発287693 回インストール3 週間前に更新
リポジトリ

salesforce-dx について

salesforce-dxは、Salesforceアプリを開発・デプロイする開発者向けのSalesforce DX開発スキルです。Apex、Lightning Web Components、scratch org、メタデータ、CLIの運用方法を扱います。

主な機能

  1. 01Apex設計と一括処理の指針
  2. 02トリガーハンドラのパターン
  3. 03Lightning Web Componentsの実践
  4. 04メタデータとscratch orgの設定
  5. 05SFDX CLIとパッケージ開発の手順

活用シーン

  1. 01Apexコードとトリガーのレビュー
  2. 02アクセシブルなLightning Web Componentsの構築
  3. 03scratch org開発の管理
  4. 04パッケージとCI/CDワークフローの準備

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mindrally/skills --skill salesforce-dx

インストール後、Claude Code で/salesforce-dxを入力して読み込まれたか確認します。

詳細

Salesforce DX 開発

Salesforce DX(SFDX)開発に精通しており、最新の Salesforce 開発ワークフロー、スクラッチ組織、ソース駆動型開発に対応します。

Apex コード標準

  • 適切な関心の分離を実装し、再利用可能な関数を Utility クラスに移すことを提案します
  • 効率的な SOQL クエリを活用し、ループ内でのクエリを防止します
  • エラー処理を実装し、必要に応じてカスタム例外クラスを作成します
  • CRUD と FLS の検証を含む、Salesforce のセキュリティに関するベストプラクティスを適用します
  • 一貫した命名規則を使用します。クラス名には PascalCase、メソッド名と変数名には camelCase を使用します
  • 適切なインデントとコードの書式を維持します
  • 保守性を高めるため、ApexDocs コメントを使用してクラス、メソッド、複雑なコードブロックを文書化します
  • バルク化によって大規模なデータセットを効率的に処理できるようにコードを設計します

Apex トリガー

  • オブジェクトごとにトリガーを 1 つにするアーキテクチャパターンに従います
  • トリガーのロジックをトリガー自体から分離するため、トリガーハンドラークラスを実装します
  • レコードにアクセスするため、Trigger コンテキスト変数を戦略的に使用します
  • static の boolean フラグを使用して、トリガーの再帰実行を防ぎます
  • パフォーマンス向上のため、データを一括処理します
  • 運用上の要件に応じて before/after ロジックを適用します
  • ApexDocs を使用してトリガーを十分に文書化します
  • DML 操作中に CRUD と FLS のチェックを実施します

Lightning Web コンポーネント

  • @wire デコレーターを使用してデータを効率的に取得し、標準の Lightning Data Service を優先します
  • lightning-card コンポーネントを通じて、アクセシビリティに配慮したエラーメッセージを表示します
  • 一貫したデザインとレイアウトのために SLDS を適用します
  • ARIA 属性とキーボード操作のサポートを実装します
  • データ操作には lightning-record-edit-form を使用します
  • force:navigateToComponent イベントでナビゲーションします
  • Flow との互換性のために lightning:availableForFlowScreens インターフェースを追加します

メタデータとコード生成

  • 既存の Salesforce オブジェクトと項目を優先し、必要な場合に限り、根拠を文書化したうえで新しいものを作成します
  • JavaScript、HTML、CSS、Apex、XML のメタデータファイルをすべて用意します
  • 重要な設計判断について、要点を絞ったコメントを含めます
  • 一貫性のある開発環境のため、スクラッチ組織定義ファイルを使用します
  • デプロイ管理のために package.xml マニフェストを実装します

SFDX CLI のベストプラクティス

  • スクラッチ組織での開発には、sfdx force:source:push と sfdx force:source:pull を使用します
  • 不要なファイルを除外するため、適切な .forceignore ファイルを実装します
  • スクラッチ組織を管理するには、sfdx force:org:create を使用します
  • テストデータの管理には、sfdx force:data:tree コマンドを活用します
  • SFDX CLI コマンドを使用して CI/CD パイプラインを実装します

プロジェクト構成

force-app/
├── main/
│   └── default/
│       ├── classes/
│       ├── lwc/
│       ├── triggers/
│       ├── objects/
│       ├── permissionsets/
│       └── profiles/
├── config/
│   └── project-scratch-def.json
├── scripts/
└── sfdx-project.json

スクラッチ組織の設定

  • project-scratch-def.json で機能と設定を定義します
  • 複雑な設定には組織形状を使用します
  • 開発用のデータ投入スクリプトを実装します
  • ユーザー権限とプロファイルを設定します

バージョン管理の統合

  • Git をソース管理に使用し、意味のあるコミットメッセージを記述します
  • ブランチ戦略(機能ブランチ、GitFlow)を実装します
  • コードレビューにはプルリクエストを使用します
  • CI/CD ツール(GitHub Actions、Jenkins、GitLab CI)と統合します

パッケージ開発

  • モジュール型の開発にはアンロックパッケージを使用します
  • パッケージのバージョン管理戦略を実装します
  • リリース前にスクラッチ組織でパッケージをテストします
  • ISV 開発には名前空間付きパッケージを使用します

コメント