import type { Metadata } from "next" import type { JSX, SVGProps } from "react" import { getTranslations } from "next-intl/server" import { Layers, Star, Check, Zap, Search, Code2, Brain, Eye, MessageSquare, Shield, Lightbulb, Route, HardDrive, ArrowRight, Target, Users, Network, Terminal, Wrench, Sparkles, Sword, } from "lucide-react" import { HeroStats } from "@/components/landing/hero-stats" import { InstallCommand } from "@/components/landing/install-command" import { TerminalTypewriter } from "@/components/landing/motion-wrappers" import { Badge } from "@/components/ui/badge" import { Button } from "@/components/ui/button" import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card" import { Link } from "@/i18n/routing" import { formatStats, getStats } from "@/lib/stats" const FALLBACK_STATS = { stars: "40k+", totalDownloads: "1M+", monthlyDownloads: "580k+", weeklyDownloads: "90k+", } export const landingMetadata: Metadata = { title: "Oh My OpenAgent — The Best Agent Harness", description: "Meet Sisyphus: The batteries-included agent that codes like you. Multi-model orchestration, Team Mode, background agents, 54+ lifecycle hooks.", } export async function LandingPage(): Promise { const t = await getTranslations("landing") let formattedStats = FALLBACK_STATS try { const stats = await getStats() formattedStats = formatStats(stats) } catch { formattedStats = FALLBACK_STATS } const subAgentKeys = ["oracle", "librarian", "explore", "metis", "momus"] as const type SubAgentKey = (typeof subAgentKeys)[number] const agentStyles: Record< SubAgentKey, { color: string; border: string; bg: string; icon: typeof Brain } > = { oracle: { color: "text-purple-400", border: "border-zinc-800", bg: "bg-purple-400/5", icon: Eye, }, librarian: { color: "text-green-400", border: "border-zinc-800", bg: "bg-green-400/5", icon: Search, }, explore: { color: "text-blue-400", border: "border-zinc-800", bg: "bg-blue-400/5", icon: Code2, }, metis: { color: "text-pink-400", border: "border-zinc-800", bg: "bg-pink-400/5", icon: MessageSquare, }, momus: { color: "text-red-400", border: "border-zinc-800", bg: "bg-red-400/5", icon: Check }, } const reviewKeys = ["review1", "review2", "review3", "review4", "review5", "review6"] as const const principleKeys = [ "specialization", "trustVerify", "wisdom", "modelOptimization", "categories", "continuity", ] as const type PrincipleKey = (typeof principleKeys)[number] const principleIcons: Record = { specialization: Target, trustVerify: Shield, wisdom: Lightbulb, modelOptimization: Zap, categories: Route, continuity: HardDrive, } return (
{t("ulw.badge")}

{t("ulw.title")}

{t("ulw.headline")}

{t("ulw.description")}

{t("ulw.autoPlanning")} {t("ulw.deepResearch")} {t("ulw.selfCorrection")} {t("ulw.parallelAgents")}

{t("ulw.tagline")}

{t("ulw.terminalTitle")}
~
{t("ulw.steps.scanning")}
{t("ulw.steps.context")}
{t("ulw.steps.planning")}
{t("ulw.steps.delegating")}
{t("ulw.steps.verifying")}
{t("ulw.steps.complete")}
~ _
{t("sisyphus.badge")} {t("sisyphus.model")}

{t("sisyphus.title")}

{t("sisyphus.headline")}

{t("sisyphus.description")}

{(["intent", "explore", "delegate", "verify"] as const).map((phase, i) => (
PHASE {i + 1}
{t(`sisyphus.phases.${phase}.title`)}

{t(`sisyphus.phases.${phase}.description`)}

))}

{t("sisyphus.boulderTitle")}

{t("sisyphus.boulderDescription")}

{t("prometheusAtlas.badge")}

{t("prometheusAtlas.title")}

{t("prometheusAtlas.headline")}

{t("prometheusAtlas.prometheus.model")}
{t("prometheusAtlas.prometheus.name")} {t("prometheusAtlas.prometheus.role")}

{t("prometheusAtlas.prometheus.description")}

    {([0, 1, 2, 3] as const).map((i) => (
  • {t(`prometheusAtlas.prometheus.features.${i}`)}
  • ))}
{t("prometheusAtlas.atlas.model")}
{t("prometheusAtlas.atlas.name")} {t("prometheusAtlas.atlas.role")}

{t("prometheusAtlas.atlas.description")}

    {([0, 1, 2, 3] as const).map((i) => (
  • {t(`prometheusAtlas.atlas.features.${i}`)}
  • ))}
{([1, 2, 3, 4, 5] as const).map((step, i) => (
{step}
{t(`prometheusAtlas.workflow.step${step}`)}
{i < 4 && ( )}
))}

{t("prometheusAtlas.whyItWorks")}

{t("hephaestus.badge")} {t("hephaestus.model")}

{t("hephaestus.title")}

{t("hephaestus.headline")}

{t("hephaestus.description")}

{(["explore", "plan", "decide", "execute", "verify"] as const).map((step, i) => (
0{i + 1}

{t(`hephaestus.loop.${step}`)}

))}

{t("hephaestus.tagline")}

{t("teamMode.badge")} opt-in

{t("teamMode.title")}

{t("teamMode.headline")}

{t("teamMode.description")}

{( [ { key: "lead", icon: Network }, { key: "parallel", icon: Users }, { key: "tmux", icon: Terminal }, { key: "tools", icon: Wrench }, ] as const ).map(({ key, icon: Icon }) => (
{t(`teamMode.features.${key}.title`)}

{t(`teamMode.features.${key}.description`)}

))}
{t("teamMode.poweredBy")}
{( [ { key: "hyperplan", icon: Sword, accent: "purple" as const }, { key: "securityResearch", icon: Shield, accent: "rose" as const }, ] as const ).map(({ key, icon: Icon, accent }) => (
{t(`teamMode.skills.${key}.name`)}

{t(`teamMode.skills.${key}.description`)}

))}
{t("teamMode.optIn")}

{t("teamMode.tagline")}

{t("agents.title")}

{t("agents.subtitle")}

{subAgentKeys.map((key) => { const style = agentStyles[key] const Icon = style.icon return (
{t(`agents.${key}.model`)}
{t(`agents.${key}.name`)} {t(`agents.${key}.role`)}

{t(`agents.${key}.description`)}

) })}
{t("agents.dynamicSystem.role")}
{t("agents.dynamicSystem.name")} {t("agents.dynamicSystem.description")}

Category Routing

{[ { cat: "visual-engineering", model: "Gemini 3.1 Pro" }, { cat: "ultrabrain", model: "GPT 5.5 xHigh" }, { cat: "artistry", model: "Gemini 3.1 Pro" }, { cat: "quick", model: "GPT 5.4 Mini" }, { cat: "deep", model: "GPT 5.5 Medium" }, { cat: "writing", model: "Kimi K2.5" }, { cat: "git", model: "Claude Haiku 4.5" }, ].map((item) => (
{item.cat} {item.model}
))}

Skill Injection

{["playwright", "git-master", "frontend-ui-ux", "team-mode"].map( (skill) => (
{skill}
), )}

"The right model + right expertise, every time."

{t("architecture.title")}

{t("architecture.subtitle")}

{principleKeys.map((key) => { const Icon = principleIcons[key] return (
{t(`architecture.principles.${key}.title`)}

{t(`architecture.principles.${key}.description`)}

) })}

{t("reviews.title")}

{reviewKeys.map((key) => (

“{t(`reviews.${key}.text`)}”

— {t(`reviews.${key}.author`)}

))}

{t("cta.title")}

{t("cta.subtitle")}

$ {t("cta.installCommand")}
) } function GithubIcon(props: SVGProps) { return ( GitHub ) }