diff --git a/apps/console/src/app/components/section-onboarding/section-onboarding.tsx b/apps/console/src/app/components/section-onboarding/section-onboarding.tsx
index ae860f8459e..efc33a0edeb 100644
--- a/apps/console/src/app/components/section-onboarding/section-onboarding.tsx
+++ b/apps/console/src/app/components/section-onboarding/section-onboarding.tsx
@@ -158,7 +158,7 @@ export function SectionOnboarding() {
const useCases = useMemo(() => (onboarding?.use_cases ?? '').split(',').filter(Boolean), [onboarding?.use_cases])
const hasEphemeralEnvironments = useCases.includes('ephemeral-environments')
- const hasRde = useCases.includes('rde')
+ const hasRde = ['rde', 'ai-workflows', 'spec-to-prod'].some((useCase) => useCases.includes(useCase))
const { data: deploymentRule } = useDeploymentRule({
environmentId: firstEnvironment?.id ?? '',
@@ -313,7 +313,7 @@ export function SectionOnboarding() {
{
highlight: true,
tag: 'Recommended',
- title: 'Qovery managed',
+ title: 'Create a new cluster (Qovery Managed)',
description:
'Qovery will install and manage the Kubernetes cluster and the underlying infrastructure on your cloud provider account.',
icon: ,
@@ -347,10 +347,10 @@ export function SectionOnboarding() {
{
highlight: false,
tag: 'Demo',
- title: 'Local machine',
+ title: 'Local Machine',
icon: 'laptop-code',
description:
- 'Deploy a local Kubernetes cluster on your laptop using Docker Desktop. No cloud account or credit card required!',
+ 'The best choice for exploration and testing. Deploy a local Kubernetes cluster on your laptop using Docker Desktop, no cloud account or credit card required!',
compatibleWith: null,
action: 'installation-guide' as const,
isDemo: true,
@@ -467,7 +467,7 @@ export function SectionOnboarding() {
isClusterDeployed ? 'text-neutral-subtle line-through' : 'text-neutral'
)}
>
- Create and deploy my first cluster
+ Install Qovery
{isClusterDeployed ? (
@@ -575,7 +575,7 @@ export function SectionOnboarding() {
: 'text-neutral-subtle'
)}
>
- Create and deploy my first application
+ Go to my environment to create and deploy my first application
{isServiceDeployed ? (
@@ -639,7 +639,7 @@ export function SectionOnboarding() {
size="sm"
color="neutral"
variant="solid"
- to="/organization/$organizationId/project/$projectId/environment/$environmentId/service/new"
+ to="/organization/$organizationId/project/$projectId/environment/$environmentId/overview"
params={{
organizationId,
projectId: firstProject?.id ?? '',
@@ -647,7 +647,7 @@ export function SectionOnboarding() {
}}
>
- New Service
+ Go to my environment
) : null}
diff --git a/libs/domains/environments/feature/src/lib/create-clone-environment-modal/__snapshots__/create-clone-environment-modal.spec.tsx.snap b/libs/domains/environments/feature/src/lib/create-clone-environment-modal/__snapshots__/create-clone-environment-modal.spec.tsx.snap
index 15937c0f0f6..74fc7c4789f 100644
--- a/libs/domains/environments/feature/src/lib/create-clone-environment-modal/__snapshots__/create-clone-environment-modal.spec.tsx.snap
+++ b/libs/domains/environments/feature/src/lib/create-clone-environment-modal/__snapshots__/create-clone-environment-modal.spec.tsx.snap
@@ -66,6 +66,98 @@ exports[`CreateCloneEnvironmentModal should match snapshots 1`] = `
+
@@ -84,7 +176,7 @@ exports[`CreateCloneEnvironmentModal should match snapshots 1`] = `
>
Select...
)}
/>
- {environmentToClone && (
- (
- ({
- value: p.id,
- label: p.name,
- }))}
- portal
- />
- )}
- />
- )}
+ (
+ ({
+ value: p.id,
+ label: p.name,
+ }))}
+ disabled={!environmentToClone}
+ portal
+ />
+ )}
+ />
= [
label: 'Enable my non-tech team to ship apps',
iconName: 'users',
},
+ {
+ value: 'spec-to-prod',
+ label: 'Go from spec to production with AI coding agents',
+ iconName: 'diagram-project',
+ },
{
value: 'automate-deployments',
label: 'Automate deployments without manual steps',
@@ -84,13 +89,13 @@ export function StepUseCases({ onSubmit, onBack }: StepUseCasesProps) {
What are you looking to do?
Select all that apply.
- {USE_CASES.map((useCase, index) => (
+ {USE_CASES.map((useCase) => (