Skip to content

Restructure template for easier developer onboarding#34

Open
dominicaligent wants to merge 5 commits intomainfrom
feat/template-improvements
Open

Restructure template for easier developer onboarding#34
dominicaligent wants to merge 5 commits intomainfrom
feat/template-improvements

Conversation

@dominicaligent
Copy link
Copy Markdown

@dominicaligent dominicaligent commented Apr 23, 2026

Description

Remove sample actions from the deployable codebase and save them as
reference documentation in docs/examples/ so developers can copy what
they need without shipping demo code in production.

Replace the standalone frontend (src/web) with a Commerce Admin panel
extension (commerce-backend-ui-1) that includes IMS authentication,
Experience Cloud Shell integration, and a minimal starter page.

Add a pre-build hook that automatically creates webpack configs for
commerce extensions with auto-generated code, so developers do not
need to set up webpack manually after running aio generate.

Other changes:

  • Add .env.sample with all available environment variables
  • Make the telemetry service name configurable via environment variable
  • Rename telemetry config to newrelic-otel-config for clarity
  • Update all dependencies to their latest stable versions
  • Remove unused packages (cloudevents, uuid, ts-loader)
  • Consolidate shared TypeScript settings into the base config
  • Set minimum Node version to 22 to match the runtime target
  • Update README with current architecture and setup instructions

@dominicaligent dominicaligent force-pushed the feat/template-improvements branch 4 times, most recently from f532ed9 to b5ee582 Compare April 24, 2026 00:13
@dominicaligent dominicaligent marked this pull request as ready for review April 24, 2026 00:16
@dominicaligent dominicaligent requested review from a team as code owners April 24, 2026 00:16
@dominicaligent dominicaligent force-pushed the feat/template-improvements branch 2 times, most recently from 1d15d03 to d6e4da7 Compare April 24, 2026 00:30
Copy link
Copy Markdown
Contributor

@aligent-lturner aligent-lturner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dominicaligent I would agree that this is closer to what most apps will look like. But I'm wondering if we're going about this the wrong way.
Rather than having a single template with instructions to add this, remove that, change this file, etc. I think something like using an nx generator (we're already using nx for the monorepo) to scaffold a new app would be "nicer" for devs. Answer a few questions about what you need in the app, and have it all done without the manual steps.
Akin to what happens now with npx @adobe/aio-commerce-lib-app init

cc @nathaniel-cruz-aligent @quangdo-aligent

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't agree with renaming this. New Relic is not the only option here - it's used as the example implementation.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reverted the change. My change aimed for single responsibility, but I agree that the change will generate multiple files. Developers can decide on that.

Comment thread app.config.yaml
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file is still needed though, even if we don't have the sample actions.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added with basic details

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would move this and useLazyAppBuilderAction to the equivalent directory under commerce-backend-ui-1

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done. added some example in MainPage.tsx

Remove sample actions from the deployable codebase and save them as
reference documentation in docs/examples/ so developers can copy what
they need without shipping demo code in production.

Replace the standalone frontend (src/web) with a Commerce Admin panel
extension (commerce-backend-ui-1) that includes IMS authentication,
Experience Cloud Shell integration, and a minimal starter page.

Add a pre-build hook that automatically creates webpack configs for
commerce extensions with auto-generated code, so developers do not
need to set up webpack manually after running aio generate.

Other changes:
- Add .env.sample with all available environment variables
- Make the telemetry service name configurable via environment variable
- Rename telemetry config to newrelic-otel-config for clarity
- Update all dependencies to their latest stable versions
- Remove unused packages (cloudevents, uuid, ts-loader)
- Consolidate shared TypeScript settings into the base config
- Set minimum Node version to 22 to match the runtime target
- Update README with current architecture and setup instructions
@dominicaligent dominicaligent force-pushed the feat/template-improvements branch from d6e4da7 to e1a3974 Compare April 24, 2026 00:58
Copy link
Copy Markdown

@nathaniel-cruz-aligent nathaniel-cruz-aligent left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just minor changes

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Filename typo — app.config.yaml.extentions should be extensions

<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
<meta name="theme-color" content="#333333" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Product Labels</title>
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hardcoded 'Product Labels' title in HTML doesn't match extension ID 'sample'
must be left over from your product labels app

Comment thread extension-manifest.json Outdated
@@ -0,0 +1,9 @@

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove line

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants