saleor-core について
saleor-core は、Saleor のソースコードに基づく動作リファレンスです。割引、プロモーション、在庫機能を開発・デバッグする開発者向けに、公開 API リファレンスだけでは分かりにくい内部ルールや注意点をソース参照とともに説明します。
主な機能
- 01割引の優先順位と併用ルール
- 02注文割引の配分ロジック
- 03在庫可用性モードの説明
- 04Dashboard の注意点とアンチパターン
- 05ソースレベルのルール参照
活用シーン
- 01適用されないクーポンやプロモーションの調査
- 02注文割引の明細ごとの配分の再構築
- 03商品在庫の購入可否に関する問題の診断
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ saleor/ agent-skills --skill saleor-coreインストール後、Claude Code で/saleor-coreを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdrules/discount-precedence.mdorder-discount-allocation.mdstock-availability-modes.md詳細
Saleor Core
Saleor のコアソースコードに基づく、バックエンドの動作に関するリファレンスです。公開 API リファレンスでは十分に説明されていない内部の仕組み(割引の優先順位、在庫の利用可能性モード、非正規化フィールド、既知の Dashboard の落とし穴など)を扱います。
適用する場面
- Dashboard で割引/プロモーションの UI を構築またはデバッグする場合
- バウチャーやプロモーションが適用されない理由を調査する場合
- 注文レベルと明細レベルの割引の優先順位を理解する場合
OrderDiscount/OrderLineDiscountオブジェクトを扱う場合OrderLineのunit_discount_valueをデバッグする場合- 割引が併用されるのか、互いに抑制し合うのかを判断する場合
- 確定済みの注文を対象とする価格説明/ウォーターフォールツールを構築する場合
- 注文レベルの割引が明細にどのように配分されたかを再現する場合
- 無料ギフトの注文明細(
OrderLine.isGift = true)を扱う場合 - 在庫の利用可能性、配送ゾーン、倉庫、または
Shop.useLegacyShippingZoneStockAvailabilityを扱う場合 PRODUCT_VARIANT_*_IN_CHANNELWebhook が発火しない理由をデバッグする場合- 利用可能性の問題を説明する診断/「doctor」ツールを構築する場合
- 「available」/「in stock」/「purchasable」を使用する Dashboard の文言を監査する場合
ルールのカテゴリ
| 優先度 | カテゴリ | 影響度 | プレフィックス |
|---|---|---|---|
| 1 | 割引 | CRITICAL | discount- |
| 2 | 在庫 | CRITICAL | stock- |
クイックリファレンス
1. 割引(CRITICAL)
discount-precedence— 優先順位の完全な階層、併用ルール、手動割引・バウチャー・プロモーションの相互作用、非正規化フィールドの意味、既知の Dashboard のバグorder-discount-allocation— 注文レベルの割引を 2 回のパスで計算する方法(パス A ではレコードを単一の subtotal_discount に集約し、パス B では明細ごとに比例配分して、最後の明細で端数を吸収します)、API が公開する内容(明細ごとの合計、レコードごとの注文単位の金額)と公開しない内容(レコードごと・明細ごとの内訳)、ギフト明細の形式に関する注意点(isGift = trueの場合、OrderLine.discounts[]にORDER_PROMOTIONが含まれます)、利用側での再構築方法
2. 在庫(CRITICAL)
stock-availability-modes—Shop.useLegacyShippingZoneStockAvailability(3.23 以降)、購入可能性と配送可能性の違い、サーバー側のクエリセットの振り分け、モードに応じた Webhook、Dashboard の UI/文言/重大度のルール、移行時の落とし穴、テスト用フィクスチャ
使い方
詳しい説明とソースコードレベルの根拠については、各ルールファイルを参照してください。
rules/discount-precedence.md
rules/order-discount-allocation.md
rules/stock-availability-modes.md
各ルールファイルには、次の内容が含まれています。
- 優先順位の階層または計算ルール
- 関数名とファイルパスを示した
saleor/のソースコードへの参照 - アンチパターンと既知のバグ
コメント
Markdown 対応