salesforce-dx について
salesforce-dxは、Salesforceアプリを開発・デプロイする開発者向けのSalesforce DX開発スキルです。Apex、Lightning Web Components、scratch org、メタデータ、CLIの運用方法を扱います。
主な機能
- 01Apex設計と一括処理の指針
- 02トリガーハンドラのパターン
- 03Lightning Web Componentsの実践
- 04メタデータとscratch orgの設定
- 05SFDX CLIとパッケージ開発の手順
活用シーン
- 01Apexコードとトリガーのレビュー
- 02アクセシブルなLightning Web Componentsの構築
- 03scratch org開発の管理
- 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 開発には名前空間付きパッケージを使用します
コメント
Markdown 対応