Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .claude/skills/scaffold-app/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,11 +57,11 @@ If the user's description clearly indicates type, proceed directly. Otherwise as
**Folder Structure:** Apps must be at `{domain}/{appName}/` where `{appName}` matches the "id" field. Installation URL: `https://raw.githubusercontent.com/{owner}/{repo}/{tag}/{domain}/{appName}/{zipFileName}`

**UI-only and Fullstack also need:**
- **Target IDs:** Commerce apps typically span multiple UI targets (e.g., checkout flow + order summary + header). Ask which targets the app needs rather than assuming single-component usage. Common patterns:
- Tax/shipping: `checkout.shippingOptions`, `checkout.orderSummary`, `orderSummary.tax.after`
- Payment: `checkout.payment`, `checkout.payment.paymentMethods`, `checkout.placeOrder.before`
- Loyalty: `header.before.cart`, `checkout.orderSummary`, `orderSummary.adjustments.after`
- Reviews: `pdp.after.addToCart`, header/footer links
- **Target IDs:** All target IDs use the `sfcc.` prefix. Commerce apps typically span multiple UI targets (e.g., checkout flow + order summary + header). Ask which targets the app needs rather than assuming single-component usage. Common patterns:
- Tax/shipping: `sfcc.checkout.shippingOptions`, `sfcc.checkout.orderSummary`, `sfcc.orderSummary.tax`
- Payment: `sfcc.checkout.payment`, `sfcc.checkout.payment.paymentMethods`, `sfcc.checkout.placeOrder.before`
- Loyalty: `sfcc.header.before.cart`, `sfcc.checkout.orderSummary`, `sfcc.orderSummary.adjustments`
- Reviews: `sfcc.pdp.reviews.summary`, `sfcc.pdp.reviews.list`, `sfcc.pdp.reviews.form`, `sfcc.productCard.reviews.rating`

**Backend-only and Fullstack also need:**
- Cartridge name (convention: `int_<vendor>_<appname>`, max 50 characters)
Expand Down
8 changes: 4 additions & 4 deletions .claude/skills/scaffold-app/evals/evals.json
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@
"id": 3,
"eval_name": "fullstack-loyalty-program",
"prompt": "We need a complete loyalty rewards program - PointsPlus from LoyaltyMax. Full stack: backend for calculating points during checkout and calling their API, plus frontend components to show point balance in the header (right before the cart icon) and redemption options on the cart page. App: pointsplus-loyalty, v1.0.0, cartridge: int_loyaltymax_points, service: loyaltymax.points.api, loyalty domain. Publisher: LoyaltyMax at https://loyaltymax.com.",
"expected_output": "Should create fullstack structure with both storefront-next (with target-config.json using targetId) AND cartridges/impex. UI should use TypeScript, i18n, proper tests, and useConfig() with PUBLIC__ prefix. Target config should target 'header.before.cart' slot.",
"expected_output": "Should create fullstack structure with both storefront-next (with target-config.json using targetId) AND cartridges/impex. UI should use TypeScript, i18n, proper tests, and useConfig() with PUBLIC__ prefix. Target config should target 'sfcc.header.before.cart' slot.",
"files": [],
"assertions": [
{
Expand Down Expand Up @@ -715,7 +715,7 @@
"id": 16,
"eval_name": "multi-locale-and-eslint-compliance",
"prompt": "Build a UI-only wishlist feature - HeartList from WishCo, v1.0.0. Display a heart icon on product cards that users can click to save items. I need it to work in English (US and UK) and Italian since we're expanding to Europe. Make sure the code follows all the quality standards and best practices. Publisher: WishCo at https://wishco.io. Show the wishlist icon in the header before the cart icon.",
"expected_output": "Should create UI-only app with all three locales (en-US, en-GB, it-IT) and follow ESLint rules (single quotes, import type, no hardcoded colors, no console statements). Target config should use header.before.cart slot.",
"expected_output": "Should create UI-only app with all three locales (en-US, en-GB, it-IT) and follow ESLint rules (single quotes, import type, no hardcoded colors, no console statements). Target config should use sfcc.header.before.cart slot.",
"files": [],
"assertions": [
{
Expand Down Expand Up @@ -803,8 +803,8 @@
"description": "JSX closing > on same line as last prop (Prettier: bracketSameLine: true)"
},
{
"name": "target-config.json uses header.before.cart",
"description": "Uses correct targetId from Complete Target ID Reference"
"name": "target-config.json uses sfcc.header.before.cart",
"description": "Uses correct targetId with sfcc. prefix from Complete Target ID Reference"
}
]
}
Expand Down
Loading
Loading