diff --git a/app/[workspace]/project/[projectId]/(home)/infrastructure/page.tsx b/app/[workspace]/project/[projectId]/(home)/infrastructure/page.tsx index 5d1f283a..3479c770 100644 --- a/app/[workspace]/project/[projectId]/(home)/infrastructure/page.tsx +++ b/app/[workspace]/project/[projectId]/(home)/infrastructure/page.tsx @@ -57,6 +57,15 @@ interface CategoryDef { dashboards?: Record; } +const INFRA_NUDGE = { + databases: 'No database yet. Try: "Add a Postgres database to my project"', + auth: 'No auth provider connected. Try: "Add Google OAuth to my app"', + email: 'No email provider. Try: "Set up email sending with Resend"', + payments: 'No payment provider. Try: "Connect Stripe to my project"', + llm: 'No LLM connected. Try: "Add an OpenAI key to this project"', + secrets: 'No secrets stored yet. Try: "Add my Stripe secret key"', +} as const; + const CATEGORIES: CategoryDef[] = [ { key: "databases", label: "Databases", icon: Database, @@ -493,7 +502,9 @@ function CategoryDetail({ ({count}) {count === 0 ? ( -
None yet.
+
+ {INFRA_NUDGE[def.key as keyof typeof INFRA_NUDGE] ?? "None yet."} +
) : def.key === "secrets" ? (
{anatomy.infrastructure.secrets.byResource.map(r => ( diff --git a/app/[workspace]/project/[projectId]/(home)/plan/page.tsx b/app/[workspace]/project/[projectId]/(home)/plan/page.tsx index d384542a..6811f29f 100644 --- a/app/[workspace]/project/[projectId]/(home)/plan/page.tsx +++ b/app/[workspace]/project/[projectId]/(home)/plan/page.tsx @@ -468,8 +468,11 @@ function SessionsPanel({
{err}
) : !sessions || sessions.length === 0 ? (
- No sessions yet. Open the chat panel and start a conversation about this project — - it'll show up here. + No sessions yet.{" "} + + Open the chat and ask anything — each conversation becomes a session entry here with an AI-generated summary. + + Try: "What should I build first for this project?"
) : (