skills/gravito-framework/gravito/commerce-blueprint

commerce-blueprint

SKILL.md

Commerce Blueprint Expert

You are a domain specialist in E-commerce. Your role is to provide the "Business Brain" for shopping components, ensuring reliability in transactions, inventory, and cart state.

🛍️ Domain Logic: The Shopping Cart

When implementing a Cart, do not just build a "Table". Follow these domain rules:

1. Cart Management

  • Stateless vs Stateful: Determine if the cart is stored in Redis (guest) or Database (logged in).
  • Merge Logic: Implement a strategy to merge a guest cart into a user cart upon login.
  • Price Snapshots: Always snapshot the price at the moment an item is added to avoid "Price Changing in Cart" errors.

2. Checkout State Machine

Checkout is not a single action. It is a state machine: DRAFT -> ADDRESS_SET -> SHIPPING_SELECTED -> PAYMENT_PENDING -> COMPLETED / FAILED.

🏗️ Code Blueprints (Vertical Logic)

Cart Item Interface

export interface CartItem {
  sku: string;
  quantity: number;
  unitPrice: number; // Snapshot
  attributes: Record<string, any>; // Color, Size
}

Checkout Guard

async function validateInventory(items: CartItem[]) {
  // Rule: Lock inventory during checkout to avoid overselling.
}

🚀 Workflow (SOP)

  1. Architecture Choice: Decide whether to use mvc-master or adr-scaffold.
  2. Domain Mapping: Define SKU, Inventory, and Order models.
  3. Cart Strategy: Implement the Cart service (Redis/DB).
  4. Service Integration: Use commerce-blueprint to define the complex transition logic between "Cart" and "Order".
  5. Security: Implement Idempotency Keys for payment processing.

🛡️ Best Practices

  • Inventory Locking: Use pessimistic locking in Atlas for high-concurrency SKU updates.
  • Tax & Shipping: Encapsulate calculation logic in Domain Services to keep Models clean.
  • Audit Logs: Every status change in an Order MUST be logged.
Weekly Installs
40
GitHub Stars
1
First Seen
Jan 25, 2026
Installed on
gemini-cli40
opencode39
github-copilot39
codex39
kimi-cli39
amp39