Skip to content

Commit 8be0939

Browse files
committed
Add fraud domain and additional folders within the UI extensions directory
1 parent 827826b commit 8be0939

15 files changed

Lines changed: 71 additions & 25 deletions

File tree

.claude/skills/extract-and-inspect/SKILL.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,15 @@ commerce-<appName>-app-v<version>/
110110
│ └── bm_cartridges/<bm_cartridge_name>/
111111
├── storefront-next/src/extensions/<app-name>/
112112
│ ├── target-config.json
113-
│ └── components/
113+
│ ├── components/
114+
│ ├── context/
115+
│ ├── hooks/
116+
│ ├── locales/
117+
│ ├── middlewares/
118+
│ ├── providers/
119+
│ ├── routes/
120+
│ ├── stores/
121+
│ └── tests/
114122
├── impex/
115123
│ ├── install/
116124
│ │ ├── services.xml

.claude/skills/generate-commerce-app/SKILL.md

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Gather from the user (or infer from context):
2222
|-------|---------|----------|
2323
| App name (kebab-case) | `avalara-tax` | Yes |
2424
| Display name | `Avalara Tax` | Yes |
25-
| Domain | `tax` | Yes (one of: `tax`, `payment`, `shipping`, `gift-cards`, `ratings-and-reviews`, `loyalty`, `search`, `address-verification`, `analytics`, `approaching-discounts`) |
25+
| Domain | `tax` | Yes (one of: `tax`, `payment`, `shipping`, `gift-cards`, `ratings-and-reviews`, `loyalty`, `search`, `address-verification`, `analytics`, `approaching-discounts`, `fraud`) |
2626
| Version | `0.2.8` | Yes |
2727
| Description | `Automated tax compliance by Avalara` | Yes |
2828
| Publisher name | `Avalara` | Yes |
@@ -50,7 +50,15 @@ commerce-<appName>-app-v<version>/
5050
│ └── bm_cartridges/<bm_cartridge_name>/ # BM extensions (can be empty)
5151
├── storefront-next/src/extensions/<app-name>/
5252
│ ├── target-config.json # Extension target mappings
53-
│ └── components/ # React components
53+
│ ├── components/ # React components
54+
│ ├── context/ # React context providers
55+
│ ├── hooks/ # Custom React hooks
56+
│ ├── locales/ # i18n translation files
57+
│ ├── middlewares/ # Middleware functions
58+
│ ├── providers/ # Data/service providers
59+
│ ├── routes/ # Route definitions
60+
│ ├── stores/ # State management stores
61+
│ └── tests/ # Extension tests
5462
├── impex/
5563
│ ├── install/
5664
│ │ ├── services.xml # Service credential, profile, definition
@@ -145,7 +153,7 @@ Find the entry for your app in the appropriate domain array (e.g., `tax`, `payme
145153
}
146154
```
147155

148-
Valid domains: `tax`, `payment`, `shipping`, `gift-cards`, `ratings-and-reviews`, `loyalty`, `search`, `address-verification`, `analytics`, `approaching-discounts`.
156+
Valid domains: `tax`, `payment`, `shipping`, `gift-cards`, `ratings-and-reviews`, `loyalty`, `search`, `address-verification`, `analytics`, `approaching-discounts`, `fraud`.
149157

150158
**For new apps:** Add a new entry to the appropriate domain array.
151159
**For updates:** Update the existing entry's `version`, `zip`, and `sha256` fields.

.claude/skills/scaffold-commerce-app/SKILL.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Gather the following information from the user:
1616

1717
| Input | Example | Notes |
1818
|-------|---------|-------|
19-
| Domain | `tax` | One of: `tax`, `payment`, `shipping`, `gift-cards`, `ratings-and-reviews`, `loyalty`, `search`, `address-verification`, `analytics`, `approaching-discounts` |
19+
| Domain | `tax` | One of: `tax`, `payment`, `shipping`, `gift-cards`, `ratings-and-reviews`, `loyalty`, `search`, `address-verification`, `analytics`, `approaching-discounts`, `fraud` |
2020
| ISV/Vendor name | `avalara` | Your company name (lowercase, hyphens) |
2121
| App name (kebab-case) | `avalara-tax` | Unique app identifier |
2222
| Display name | `Avalara Tax` | Human-readable name with vendor |
@@ -47,6 +47,7 @@ Gather the following information from the user:
4747
- `address-verification` - Address validation and standardization
4848
- `analytics` - Analytics and reporting
4949
- `approaching-discounts` - Approaching discount notifications
50+
- `fraud` - Fraud detection and prevention
5051

5152
## Step 2: Create domain and ISV directories
5253

@@ -82,7 +83,7 @@ mkdir -p cartridges/site_cartridges/<cartridgeName>/test/{mocks,unit}
8283
mkdir -p cartridges/bm_cartridges/bm_<appName>
8384

8485
# Storefront Next extensions
85-
mkdir -p storefront-next/src/extensions/<appName>/components
86+
mkdir -p storefront-next/src/extensions/<appName>/{components,context,hooks,locales,middlewares,providers,routes,stores,tests}
8687

8788
# Impex structure
8889
mkdir -p impex/install/meta

.claude/skills/validate-commerce-app/SKILL.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Run comprehensive validation checks on a commerce app before submitting a PR.
1414
## Step 1: Identify the app to validate
1515

1616
Gather or infer:
17-
- Domain (one of: `tax`, `payment`, `shipping`, `gift-cards`, `ratings-and-reviews`, `loyalty`, `search`, `address-verification`, `analytics`, `approaching-discounts`)
17+
- Domain (one of: `tax`, `payment`, `shipping`, `gift-cards`, `ratings-and-reviews`, `loyalty`, `search`, `address-verification`, `analytics`, `approaching-discounts`, `fraud`)
1818
- App name (e.g., `avalara-tax`)
1919
- Version to validate (or use latest ZIP in directory)
2020

@@ -46,7 +46,7 @@ Check that the app entry in `commerce-apps-manifest/manifest.json` contains all
4646
- `name` - human-readable display name
4747
- `description` - app description
4848
- `iconName` - icon filename (e.g., `avalara.png`)
49-
- `domain` - must be one of: `tax`, `payment`, `shipping`, `gift-cards`, `ratings-and-reviews`, `loyalty`, `search`, `address-verification`, `analytics`, `approaching-discounts`
49+
- `domain` - must be one of: `tax`, `payment`, `shipping`, `gift-cards`, `ratings-and-reviews`, `loyalty`, `search`, `address-verification`, `analytics`, `approaching-discounts`, `fraud`
5050
- `type` - must be `"app"`
5151
- `provider` - must be `"thirdParty"`
5252
- `version` - semantic version (e.g., `0.2.8`)

.cursor/skills/extract-and-inspect/SKILL.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,15 @@ commerce-<appName>-app-v<version>/
110110
│ └── bm_cartridges/<bm_cartridge_name>/
111111
├── storefront-next/src/extensions/<app-name>/
112112
│ ├── target-config.json
113-
│ └── components/
113+
│ ├── components/
114+
│ ├── context/
115+
│ ├── hooks/
116+
│ ├── locales/
117+
│ ├── middlewares/
118+
│ ├── providers/
119+
│ ├── routes/
120+
│ ├── stores/
121+
│ └── tests/
114122
├── impex/
115123
│ ├── install/
116124
│ │ ├── services.xml

.cursor/skills/generate-commerce-app/SKILL.md

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Gather from the user (or infer from context):
2222
|-------|---------|----------|
2323
| App name (kebab-case) | `avalara-tax` | Yes |
2424
| Display name | `Avalara Tax` | Yes |
25-
| Domain | `tax` | Yes (one of: `tax`, `payment`, `shipping`, `gift-cards`, `ratings-and-reviews`, `loyalty`, `search`, `address-verification`, `analytics`, `approaching-discounts`) |
25+
| Domain | `tax` | Yes (one of: `tax`, `payment`, `shipping`, `gift-cards`, `ratings-and-reviews`, `loyalty`, `search`, `address-verification`, `analytics`, `approaching-discounts`, `fraud`) |
2626
| Version | `0.2.8` | Yes |
2727
| Description | `Automated tax compliance by Avalara` | Yes |
2828
| Publisher name | `Avalara` | Yes |
@@ -50,7 +50,15 @@ commerce-<appName>-app-v<version>/
5050
│ └── bm_cartridges/<bm_cartridge_name>/ # BM extensions (can be empty)
5151
├── storefront-next/src/extensions/<app-name>/
5252
│ ├── target-config.json # Extension target mappings
53-
│ └── components/ # React components
53+
│ ├── components/ # React components
54+
│ ├── context/ # React context providers
55+
│ ├── hooks/ # Custom React hooks
56+
│ ├── locales/ # i18n translation files
57+
│ ├── middlewares/ # Middleware functions
58+
│ ├── providers/ # Data/service providers
59+
│ ├── routes/ # Route definitions
60+
│ ├── stores/ # State management stores
61+
│ └── tests/ # Extension tests
5462
├── impex/
5563
│ ├── install/
5664
│ │ ├── services.xml # Service credential, profile, definition
@@ -128,7 +136,7 @@ Copy the hex digest (the long string before the filename).
128136

129137
**CRITICAL:** Update the root manifest at `commerce-apps-manifest/manifest.json`:
130138

131-
Find the entry for your app in the appropriate domain array (`tax`, `shipping`, `payment`, `gift-cards`, `ratings-and-reviews`, `loyalty`, `search`, `address-verification`, `analytics`, `approaching-discounts`) and update it:
139+
Find the entry for your app in the appropriate domain array (`tax`, `shipping`, `payment`, `gift-cards`, `ratings-and-reviews`, `loyalty`, `search`, `address-verification`, `analytics`, `approaching-discounts`, `fraud`) and update it:
132140

133141
```json
134142
{

.cursor/skills/scaffold-commerce-app/SKILL.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Gather the following information from the user:
1616

1717
| Input | Example | Notes |
1818
|-------|---------|-------|
19-
| Domain | `tax` | One of: `tax`, `payment`, `shipping`, `gift-cards`, `ratings-and-reviews`, `loyalty`, `search`, `address-verification`, `analytics`, `approaching-discounts` |
19+
| Domain | `tax` | One of: `tax`, `payment`, `shipping`, `gift-cards`, `ratings-and-reviews`, `loyalty`, `search`, `address-verification`, `analytics`, `approaching-discounts`, `fraud` |
2020
| ISV/Vendor name | `avalara` | Your company name (lowercase, hyphens) |
2121
| App name (kebab-case) | `avalara-tax` | Unique app identifier |
2222
| Display name | `Avalara Tax` | Human-readable name with vendor |
@@ -47,6 +47,7 @@ Gather the following information from the user:
4747
- `address-verification` - Address validation and standardization
4848
- `analytics` - Analytics and reporting
4949
- `approaching-discounts` - Approaching discount notifications
50+
- `fraud` - Fraud detection and prevention
5051

5152
## Step 2: Create domain and ISV directories
5253

@@ -82,7 +83,7 @@ mkdir -p cartridges/site_cartridges/<cartridgeName>/test/{mocks,unit}
8283
mkdir -p cartridges/bm_cartridges/bm_<appName>
8384

8485
# Storefront Next extensions
85-
mkdir -p storefront-next/src/extensions/<appName>/components
86+
mkdir -p storefront-next/src/extensions/<appName>/{components,context,hooks,locales,middlewares,providers,routes,stores,tests}
8687

8788
# Impex structure
8889
mkdir -p impex/install/meta

.cursor/skills/update-app-version/SKILL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ Copy the hex digest (the long string before the filename).
119119

120120
**CRITICAL:** Update the root manifest at `commerce-apps-manifest/manifest.json`:
121121

122-
Find your app's entry in the appropriate domain array (`tax`, `shipping`, `payment`, `gift-cards`, `ratings-and-reviews`, `loyalty`, `search`, `address-verification`, `analytics`, `approaching-discounts`) and update:
122+
Find your app's entry in the appropriate domain array (`tax`, `shipping`, `payment`, `gift-cards`, `ratings-and-reviews`, `loyalty`, `search`, `address-verification`, `analytics`, `approaching-discounts`, `fraud`) and update:
123123

124124
```json
125125
{

.cursor/skills/validate-commerce-app/SKILL.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Run comprehensive validation checks on a commerce app before submitting a PR.
1414
## Step 1: Identify the app to validate
1515

1616
Gather or infer:
17-
- Domain (one of: `tax`, `payment`, `shipping`, `gift-cards`, `ratings-and-reviews`, `loyalty`, `search`, `address-verification`, `analytics`, `approaching-discounts`)
17+
- Domain (one of: `tax`, `payment`, `shipping`, `gift-cards`, `ratings-and-reviews`, `loyalty`, `search`, `address-verification`, `analytics`, `approaching-discounts`, `fraud`)
1818
- App name (e.g., `avalara-tax`)
1919
- Version to validate (or use latest ZIP in directory)
2020

@@ -31,7 +31,7 @@ Check that ZIP file exists at `<domain>/<isv-name>/<appName>-v<version>.zip`
3131

3232
2. Read the root manifest at `commerce-apps-manifest/manifest.json`
3333

34-
3. Find your app's entry in the appropriate domain array (`tax`, `shipping`, `payment`, `gift-cards`, `ratings-and-reviews`, `loyalty`, `search`, `address-verification`, `analytics`, `approaching-discounts`)
34+
3. Find your app's entry in the appropriate domain array (`tax`, `shipping`, `payment`, `gift-cards`, `ratings-and-reviews`, `loyalty`, `search`, `address-verification`, `analytics`, `approaching-discounts`, `fraud`)
3535

3636
4. Compare computed hash with `sha256` field in the manifest entry
3737

@@ -46,7 +46,7 @@ Check that the app entry in `commerce-apps-manifest/manifest.json` contains all
4646
- `name` - human-readable display name
4747
- `description` - app description
4848
- `iconName` - icon filename (e.g., `avalara.png`)
49-
- `domain` - must be one of: `tax`, `payment`, `shipping`, `gift-cards`, `ratings-and-reviews`, `loyalty`, `search`, `address-verification`, `analytics`, `approaching-discounts`
49+
- `domain` - must be one of: `tax`, `payment`, `shipping`, `gift-cards`, `ratings-and-reviews`, `loyalty`, `search`, `address-verification`, `analytics`, `approaching-discounts`, `fraud`
5050
- `type` - must be `"app"`
5151
- `provider` - must be `"thirdParty"`
5252
- `version` - semantic version (e.g., `0.2.8`)

.github/ISSUE_TEMPLATE/new_app.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ body:
4444
- address-verification
4545
- analytics
4646
- approaching-discounts
47+
- fraud
4748
validations:
4849
required: true
4950

0 commit comments

Comments
 (0)