
commerce-app-init
Scaffold a new Adobe Commerce app using the aio-commerce-sdk. Creates the base project structure and app.commerce.config file with metadata. Use when the user wants to create a new Commerce app from scratch or initialize a bare Commerce app project. After scaffolding, chains to appbuilder-project-init for Developer Console setup (project, workspace, API subscriptions) when the user wants to deploy. Does not configure extensibility domains — use commerce-app-eventing, commerce-app-webhooks, commerce-app-business-config, commerce-app-admin-ui, or commerce-app-storage for that.
- Installs
- 86
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/adobe/aio-commerce-sdk --skill commerce-app-init- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads commerce-app-init automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Initialize a new Commerce App
Scaffolds a bare Adobe Commerce app: creates app.commerce.config.ts with metadata,
then runs init to install dependencies and generate all required project files.
Extensibility domains (events, webhooks, business config) are added separately via domain skills.
Step 1 — Create the config
If app.commerce.config.ts already exists in the project root, do not overwrite it — skip straight to Step 2 (this skill is safe to re-invoke on an app that already has a config). Otherwise, derive values for the following fields from the user's intent, confirm, and write the file to the project root:
// app.commerce.config.ts
import { defineConfig } from "@adobe/aio-commerce-lib-app/config";
export default defineConfig({
metadata: {
id: "my-commerce-app", // alphanumeric + hyphens only, max 100 chars
displayName: "My Commerce App", // shown in App Management UI, max 50 chars
description: "...", // max 255 chars
upgradeMode: "manual", // optional; currently defaults to "manual" while upgrade execution stabilizes (will default to "auto" once ready); "auto" (experimental) runs upgrades after deploy and waits for completion, "manual" returns plans without executing them
version: "1.0.0", // Major.Minor.Patch only, no pre-release identifiers
},
});
See assets/app.commerce.config.ts for the full annotated template.
Step 2 — Initialize the project
Always run init — it finds the existing config, validates it, and handles project setup:
npx @adobe/aio-commerce-lib-app init
Since app.commerce.config.ts already exists, init skips the interactive prompts. Re-running is safe: when a config is present it installs dependencies and (re)generates the project files — the app-management package is regenerated, while user packages under src/commerce-extensibility-1/actions/ are preserved (see Project structure below).
For a TypeScript Commerce config, init also creates missing webpack-config.cjs and root tsconfig.json files, installs compatible typescript, ts-loader, @tsconfig/bases, and @types/node development dependencies, and adds typecheck:actions to the project's composed typecheck script. Generated Runtime actions remain JavaScript. Once this scaffolding is in place, user-authored runtime actions (added via the domain skills below) and custom installation scripts (commerce-app-storage) can be written in .ts — see the aio-commerce-lib-app usage guide for the full migration steps if converting an existing JavaScript project.
Project structure
After init, the project has two types of directories under src/:
src/commerce-extensibility-1/actions/— custom runtime actions for webhooks and events. Register them insrc/commerce-extensibility-1/ext.config.yamlunder a user-defined package name (any name exceptapp-management, which is reserved by the framework). These surviveaio app build— the generator only regenerates theapp-managementpackage.src/commerce-extensibility-1/.generated/— auto-generated byaio app build. Treat as read-only; any manual edits here will be overwritten.src/commerce-configuration-1/— managed byaio app build. Treat as read-only.- Root
tsconfig.json— checks the TypeScript Commerce config and generated Runtime actions while excluding Admin UIweb-src, which has its own TypeScript configuration.
Step 3 — Verify the config
Build the project to confirm everything is valid:
aio app build
If the config is invalid, the build fails with a detailed validation error pointing to the offending field.
Common Issues
idvalidation error:metadata.idaccepts alphanumeric characters and hyphens only — no dots, underscores, or spaces. It cannot change during an upgrade; uninstall and reinstall the app to use a different ID.versionvalidation error: Only numeric semver is accepted (1.0.0). Pre-release identifiers (1.0.0-beta) are not supported.defineConfignot found: Ensure@adobe/aio-commerce-lib-appis installed and imported from@adobe/aio-commerce-lib-app/config.
Quality Bar
aio app buildcompletes without errors
Chaining
After aio app build passes:
-
Bootstrap the Developer Console — for any follow-up topic related to App Builder setup (Console project/workspace, API subscriptions, deploy, run, workspace wiring), invoke skill
appbuilder-project-init(fromadobe/skills). Tell it:- Skip the
aio app initsteps — the Commerce scaffold already exists - Subscribe
AdobeIOManagementAPISDK(I/O Management API) as part of the workspace bootstrap — required for IMS credential syncing at runtime - Once the workspace is created, ask the user whether their Commerce backend is ACCS (Adobe Commerce as Cloud Service) or PaaS. If ACCS,
ACCS-REST-APImust also be subscribed: runaio console opento open the workspace in the browser, then add it manually through the Developer Console UI. Do not proceed until the user confirms it has been added.
If
appbuilder-project-initis not installed, ask the user to install it first:npx skills add adobe/skills --skill appbuilder-project-init -y - Skip the
-
Extend with domain skills — once the workspace is wired:
commerce-app-eventing— manage Commerce and external event sourcescommerce-app-webhooks— manage webhook interceptioncommerce-app-business-config— manage custom business configurationcommerce-app-admin-ui— extend the Commerce Admin UI with custom columns, mass actions, order view buttons, or menu entriescommerce-app-storage— back runtime actions with persistent, queryable DB storage
References
- assets/app.commerce.config.ts — Minimal config template
FAQ
What does the commerce-app-init skill do?
Scaffold a new Adobe Commerce app using the aio-commerce-sdk. Creates the base project structure and app.commerce.config file with metadata. Use when the user wants to create a new Commerce app from scratch or initialize a bare Commerce app project. After scaffolding, chains to appbuilder-project-init for Developer Console setup (project, workspace, API subscriptions) when the user wants to deploy. Does not configure extensibility domains — use commerce-app-eventing, commerce-app-webhooks, commerce-app-business-config, commerce-app-admin-ui, or commerce-app-storage for that.
How do I install commerce-app-init?
Run npx skills add https://github.com/adobe/aio-commerce-sdk --skill commerce-app-init in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/commerce-app-init/ (personal) or .claude/skills/commerce-app-init/ (project).
Which AI agents can use commerce-app-init?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is commerce-app-init safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains commerce-app-init?
It is published by adobe in adobe/aio-commerce-sdk. It has 86 recorded installs.
More from adobe/aio-commerce-sdk
commerce-app-eventing
adobe/aio-commerce-sdk
Open the skill to read its SKILL.md instructions.
commerce-app-business-config
adobe/aio-commerce-sdk
Open the skill to read its SKILL.md instructions.
commerce-app-webhooks
adobe/aio-commerce-sdk
Open the skill to read its SKILL.md instructions.
commerce-app-storage
adobe/aio-commerce-sdk
Open the skill to read its SKILL.md instructions.
Popular frontend & design skills
setup-matt-pocock-skills
mattpocock/skills
Configure this repo for the engineering skills: set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.
frontend-design
anthropics/skills
Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.
hyperframes-animation
heygen-com/hyperframes
All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). Also covers auditing an existing composition's choreography (animation map) and 24 named text-animation effects. HyperFrames-native: single paused timeline, seek-safe, deterministic.
prototype
mattpocock/skills
Build a throwaway prototype to answer a design question. Use when the user wants to sanity-check whether a state model or logic feels right, or explore what a UI should look like.
hyperframes-core
heygen-com/hyperframes
The HyperFrames composition contract — build one renderable project. Use for composition structure, the data- timing attributes, class="clip", tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Read before writing composition HTML.
vercel-react-best-practices
vercel-labs/agent-skills
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.