About commerce-blueprint
commerce-blueprint is an e-commerce domain skill for developers implementing carts, inventory, and checkout. It outlines cart-state and price-snapshot rules, checkout transitions, inventory safeguards, and payment idempotency.
Key features
- 01Guest and account cart strategies
- 02Cart merging after login
- 03Price snapshots for cart items
- 04State-based checkout flow
- 05Inventory locking and payment idempotency
Use cases
- 01Designing guest and signed-in carts
- 02Preventing cart prices from changing unexpectedly
- 03Modeling checkout and order transitions
- 04Reducing overselling and duplicate payment processing
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ gravito-framework/ gravito --skill commerce-blueprintAfter installing, type/commerce-blueprintin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
assets/.keepreferences/.keepscripts/.keepDetails
From the project READMECommerce 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)
- Architecture Choice: Decide whether to use
mvc-masteroradr-scaffold. - Domain Mapping: Define
SKU,Inventory, andOrdermodels. - Cart Strategy: Implement the Cart service (Redis/DB).
- Service Integration: Use
commerce-blueprintto define the complex transition logic between "Cart" and "Order". - 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 Servicesto keep Models clean. - Audit Logs: Every status change in an Order MUST be logged.