"use client"; import { useEffect, useState } from "react"; import { useParams } from "next/navigation"; import Link from "next/link"; interface Project { id: string; status?: string; prd?: string; giteaRepoUrl?: string; } const BUILD_FEATURES = [ "Authentication system", "Database schema", "API endpoints", "Core UI", "Business logic", "Tests", ]; export default function BuildPage() { const params = useParams(); const projectId = params.projectId as string; const workspace = params.workspace as string; const [project, setProject] = useState(null); const [loading, setLoading] = useState(true); useEffect(() => { fetch(`/api/projects/${projectId}`) .then((r) => r.json()) .then((d) => { setProject(d.project); setLoading(false); }) .catch(() => setLoading(false)); }, [projectId]); if (loading) { return (
Loading…
); } const hasRepo = Boolean(project?.giteaRepoUrl); const hasPRD = Boolean(project?.prd); if (!hasPRD) { return (
🔒

Complete your PRD first

Finish your discovery with Atlas, then the builder unlocks automatically.

Continue with Atlas →
); } if (!hasRepo) { return (

PRD ready — build coming soon

The Architect agent will generate your project structure and kick off the build pipeline. This feature is in active development.

); } return (

Build progress

{BUILD_FEATURES.map((f, i) => (
{f}
0%
))}
); }