🌐 US-Proxy
class="logged-out env-production page-responsive" style="word-wrap: break-word;" >
Skip to content

feat(site): add wizard shell, step registry, and feature flag gate - #26423

Merged
jeremyruppel merged 1 commit into
mainfrom
jeremy/devex-282-fe-route-wizard-shell-and-feature-flag-gating
Jun 16, 2026
Merged

feat(site): add wizard shell, step registry, and feature flag gate#26423
jeremyruppel merged 1 commit into
mainfrom
jeremy/devex-282-fe-route-wizard-shell-and-feature-flag-gating

Conversation

@jeremyruppel

@jeremyruppel jeremyruppel commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Add the template builder wizard route at /templates/new/builder with feature flag gating, step navigation, and wizard state management.

  • Read template_builder.disabled from deployment config and redirect to /templates/new when disabled
  • Five-step wizard registry with skip logic for base-parameters (no params) and module-settings (no configurable vars)
  • Reducer managing base selection, module selection, variable values, and template customizations with state preservation across navigation
  • Two-column layout with step content area, SelectionSummary sidebar, and back/forward navigation
  • Page/PageView separation using Margins, PageHeader, and standard layout components

Part 1 of the Template Builder stack. Relates to DEVEX-282.

Note

This PR was authored with Coder Agents.

…, and feature flag gate

Add the template builder wizard route at /templates/new/builder with:

- Feature flag gate: reads template_builder.disabled from deployment
  config; redirects to /templates/new when disabled
- Step registry (steps.ts): five-step wizard with skip logic for
  base-parameters (when base has no params) and module-settings
  (when no modules have configurable vars)
- Wizard state (wizardState.ts): reducer managing base selection,
  module selection, variable values, and template customizations
  with state preservation across navigation
- Wizard shell (TemplateBuilderPage.tsx): two-column layout with
  step content area, SelectionSummary sidebar, and back/forward
  navigation controls
- Route wiring in router.tsx nesting builder under /templates/new

Step content renders placeholder text; real step components will be
wired in follow-up issues.
@linear-code

linear-code Bot commented Jun 16, 2026

Copy link
Copy Markdown

DEVEX-282

@jeremyruppel
jeremyruppel marked this pull request as ready for review June 16, 2026 17:46
@jeremyruppel jeremyruppel changed the title feat(site/src/pages/TemplateBuilder): add wizard shell, step registry, and feature flag gate feat(site): add wizard shell, step registry, and feature flag gate Jun 16, 2026

@zenithwolf1000 zenithwolf1000 left a comment

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.

Nit and a question to address then good to go

// Index 1 (base-parameters) is skipped, nearest backward is 0 (base-infra).
expect(nearestVisible(1, allSkippable)).toBe(0);
});
});

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.

Really like the rigorous step tests!

Comment thread site/src/pages/TemplateBuilder/steps.ts
Comment thread site/src/pages/TemplateBuilder/steps.ts
@jeremyruppel
jeremyruppel merged commit 0fc25d3 into main Jun 16, 2026
56 of 57 checks passed
@jeremyruppel
jeremyruppel deleted the jeremy/devex-282-fe-route-wizard-shell-and-feature-flag-gating branch June 16, 2026 20:38
@github-actions github-actions Bot locked and limited conversation to collaborators Jun 16, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants