You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/pages/app-development/app-submission-guidelines.md
+26-39Lines changed: 26 additions & 39 deletions
Original file line number
Diff line number
Diff line change
@@ -45,6 +45,7 @@ The following requirements must be met for your app to be accepted. If your app
45
45
-**Developer documentation**: Include links to relevant Adobe developer documentation (example: App Builder [getting started guide](https://developer.adobe.com/app-builder/docs/get_started/)).
46
46
-**Environment setup**: Provide a `.env.dist` file with all required environment variables, clearly labeled with guidance.
47
47
-**PaaS support**: Documentation must include installation steps for PaaS merchants. This means if you are submitting an app for Adobe Commerce as a Cloud Service (SaaS), you also need to support Adobe Commerce on cloud infrastructure (PaaS) and Adobe Commerce on-premises (on-prem).
48
+
-**Action scoping**: All runtime actions must be scoped and documented, if they are exposed as webhooks.
48
49
49
50
- Security awareness
50
51
-**Screenshot security**: Ensure no screenshots contain access tokens, secrets, or API keys.
@@ -83,10 +84,18 @@ The following requirements must be met for your app to be accepted. If your app
83
84
### Project structure
84
85
85
86
- Configuration files
86
-
- **Environment variables**: Provide a clear `.env.dist` file containing all needed keys. Remove any unused keys.
87
-
- **YAML configuration**: Review `deploy.yaml` and `app.config.yaml` for accurate app IDs, event configs, and scopes.
88
-
- **Commerce product**: Define `commerce` as a required product in `app.config.yaml`. See [required products](https://developer.adobe.com/commerce/extensibility/app-development/required-products/) for more information.
87
+
- **Environment variables**: Provide a clear `.env.dist` file containing all needed keys used by YAML files. Remove any unused keys.
89
88
- **Package metadata**: Ensure `package.json` is updated with an app-specific `name`, `version`, and `author`.
89
+
- **YAML configuration**: Review `deploy.yaml` and `app.config.yaml` for accurate app IDs, event configs, and scopes.
90
+
- **Commerce product**: Define `commerce` as a required product in `app.config.yaml`. See [required products](https://developer.adobe.com/app-builder/docs/guides/app_builder_guides/distribution#required-products) for more information.
91
+
92
+
```yaml
93
+
productDependencies:
94
+
- code: COMMC
95
+
minVersion: 2.4.5
96
+
```
97
+
98
+
- **Events configuration**: Review [`events.config.yaml`](/starter-kit/checkout/configure/#eventsconfigyaml) to verify event providers and registrations, document usage, and prefix events with your app's scope to avoid collisions. Remove this file if your app does not use events.
90
99
91
100
- Project cleanup
92
101
- **Unused folders**: Remove any unused or unnecessary folders.
@@ -101,27 +110,17 @@ The following requirements must be met for your app to be accepted. If your app
- ​<Edition name="saas" /> IMS Auth instead of OAuth1
105
-
- ​<Edition name="saas" /> Base URL with tenantId and without "rest"
106
-
- **Action scoping**: All runtime actions must be scoped and documented, if they are exposed as webhooks.
107
-
108
-
### Dependencies
113
+
- ​<Edition name="saas" /> Use [IMS](/starter-kit/checkout/connect/#adobe-identity-management-service-ims) for authentication instead of [Commerce integrations (OAuth1)](/starter-kit/checkout/connect/#create-a-commerce-integration).
114
+
- ​<Edition name="saas" /> Configure [the Commerce Base URL](/starter-kit/checkout/connect/) to include tenantId without `/rest`.
109
115
110
-
- Dependency management
111
-
- **Unused dependencies**: Remove any unused dependencies reported by `npx npm-check`.
112
-
- **Direct dependencies**: Ensure all direct dependencies are declared in `package.json`.
113
-
- **Version updates**: Update major versions of critical packages.
114
-
115
-
### Cleanup and quality assurance
116
-
117
-
- Code cleanup
116
+
- Quality assurance
118
117
- **Test suite**: Ensure tests all tests are passing. Run `npm test` to validate.
119
118
120
-
### Configuration
119
+
### Dependency management
121
120
122
-
- Configuration best practices
123
-
- **Input validation**: Ensure that all inputs in YAML files are defined as variables in the `.env.dist` file.
124
-
- **Commerce product**: Define `commerce` as a required product in `app.config.yaml`. See [required products](https://developer.adobe.com/commerce/extensibility/app-development/required-products/) for more information.
121
+
- Version management
122
+
- **Direct dependencies**: Check for missing dependencies using `npx npm-check` (`PKG ERR` label).
123
+
- **SDK migration**: Fully migrate Admin UI SDK 1.x extension points to 3.x if applicable.
125
124
126
125
## Best practices
127
126
@@ -162,36 +161,24 @@ In cases where it is not possible to provide test credentials or a demo environm
162
161
163
162
**Option 2**: Submit a recorded video demonstrating the app's functionality to the Adobe review team
164
163
165
-
### Cleanup and quality assurance
164
+
### Code review
166
165
167
166
- Code cleanup
168
167
- **Development artifacts**: Remove `TODO` comments and unused scripts or handlers.
169
168
- **Test scripts**: Add or remove test scripts in `package.json` based on actual test coverage.
170
169
- **Development logs**: Remove unused development logs and console outputs.
171
-
172
-
### Code review
170
+
- **Handler cleanup**: Clean up any unused handlers or unused code, such as empty `preProcess` or `transformData` functions.
173
171
174
172
- Code quality
175
-
- **Unused imports**: Remove any unused `imports` and validate with `npx npm-check`.
176
173
- **Action consistency**: Ensure consistency and correctness in action names and routes.
177
-
- **SDK migration**: Fully migrate Admin UI SDK 1.x extension points to 3.x if applicable.
178
-
- **Hardcoded values**: Look for hardcoded values that should be configurable
179
174
- **Duplicated logic**: Avoid duplicating SDK logic unnecessarily, such as OAuth or fetch wrappers.
180
-
- **Action scoping**: All runtime actions must be scoped and documented, if they are exposed as webhooks.
181
175
182
-
### Dependencies and maintenance
176
+
- Configuration best practices
177
+
- **Package-level inputs**: Use package-level inputs in YAML files instead of repeating environment variables.
178
+
- **Environment variables**: Avoid structured data in environment variables, unless necessary.
179
+
180
+
### Dependency management
183
181
184
182
- Version management
185
183
- **Package updates**: Check for up-to-date package versions using `npx npm-check` (`MAJOR UP` label).
186
184
- **Unused dependency check**: Check for unused dependencies using `npx npm-check` (`NOTUSED?` label).
187
-
188
-
- Code optimization
189
-
- **Handler cleanup**: Clean up any unused handlers or unused code, such as empty `preProcess` or `transformData` functions.
190
-
- **Development cleanup**: Remove any unused logs that were during development.
191
-
- **SDK logic**: Avoid duplicating SDK logic unnecessarily, such as OAuth or fetch wrappers.
192
-
193
-
### Configuration
194
-
195
-
- Configuration best practices
196
-
- **Package-level inputs**: Use package-level inputs in YAML files instead of repeating environment variables.
197
-
- **Environment variables**: Avoid structured data in environment variables, unless necessary.
0 commit comments