feat: add Atlas discovery chat UI and API route

- components/AtlasChat.tsx — conversational PRD discovery UI (violet theme)
- app/api/projects/[projectId]/atlas-chat/route.ts — proxy + DB persistence
- overview/page.tsx — show Atlas for new projects, Orchestrator once PRD done

Made-with: Cursor
This commit is contained in:
2026-03-01 15:56:32 -08:00
parent 35675b7d86
commit 26a11412b5
3 changed files with 495 additions and 5 deletions

View File

@@ -13,6 +13,7 @@ import {
import { Button } from "@/components/ui/button";
import { Badge } from "@/components/ui/badge";
import { OrchestratorChat } from "@/components/OrchestratorChat";
import { AtlasChat } from "@/components/AtlasChat";
import {
GitBranch,
GitCommit,
@@ -78,6 +79,9 @@ interface Project {
deploymentUrl?: string;
// Theia
theiaWorkspaceUrl?: string;
// Stage
stage?: 'discovery' | 'architecture' | 'building' | 'active';
prd?: string;
// Context
contextSnapshot?: ContextSnapshot;
stats?: { sessions: number; costs: number };
@@ -199,11 +203,18 @@ export default function ProjectOverviewPage() {
return (
<div className="container mx-auto py-8 px-6 max-w-5xl space-y-6">
{/* ── Orchestrator Chat ── */}
<OrchestratorChat
projectId={projectId}
projectName={project.productName}
/>
{/* ── Agent Panel — Atlas for discovery, Orchestrator once PRD is done ── */}
{(!project.stage || project.stage === 'discovery') ? (
<AtlasChat
projectId={projectId}
projectName={project.productName}
/>
) : (
<OrchestratorChat
projectId={projectId}
projectName={project.productName}
/>
)}
{/* ── Header ── */}
<div className="flex items-start justify-between">