Files
vercel-labs--zerolang/docs/app/layout.tsx
T
wehub-resource-sync e7738de6d2
CI / Deep Native Runtime Cases (1/6) (push) Has been skipped
CI / Native Preflight (push) Failing after 1s
CI / Native Runtime Cases (1/2) (push) Failing after 0s
CI / Native Runtime Cases (2/2) (push) Failing after 1s
CI / Native Metadata Reports (push) Failing after 0s
CI / Native Direct Backend Artifacts (push) Failing after 0s
CI / Native Sanitizer Smoke (push) Failing after 1s
CI / Command Contract Snapshots (push) Failing after 1s
CI / Deep Conformance Suite (push) Has been skipped
CI / Graph Build Perf (push) Failing after 1s
CI / Deep Native Preflight (push) Has been skipped
CI / Deep Native Runtime Cases (2/6) (push) Has been skipped
CI / Deep Native Runtime Cases (3/6) (push) Has been skipped
CI / Conformance Suite (push) Failing after 1s
CI / Workspace Checks (push) Failing after 0s
CI / Deep Native Runtime Cases (5/6) (push) Has been skipped
CI / Deep Native Runtime Cases (6/6) (push) Has been skipped
CI / Deep Native Runtime Cases (4/6) (push) Has been skipped
CI / Deep Graph Build Perf (push) Has been skipped
chore: import upstream snapshot with attribution
2026-07-13 12:29:30 +08:00

62 lines
1.8 KiB
TypeScript

import "./globals.css";
import "@xyflow/react/dist/style.css";
import { Analytics } from "@vercel/analytics/next";
import { SpeedInsights } from "@vercel/speed-insights/next";
import type { Metadata, Viewport } from "next";
import type { ReactNode } from "react";
import { ThemeProvider } from "@/components/theme-provider";
import { SiteHeader } from "@/components/site-header";
import { DocsChat } from "@/components/docs-chat";
import { getStarCount } from "@/lib/github";
const SITE_URL = process.env.NEXT_PUBLIC_SITE_URL || "https://zerolang.ai";
const SITE_DESCRIPTION =
"Zero is a pre-1 agent-first language experiment. Expect breaking changes and run it only in safe, non-production environments.";
export const metadata: Metadata = {
metadataBase: new URL(SITE_URL),
title: {
default: "Zero - Agent-first language experiment.",
template: "%s | Zero",
},
description: SITE_DESCRIPTION,
openGraph: {
type: "website",
locale: "en_US",
url: SITE_URL,
siteName: "Zero",
title: "Zero - Agent-first language experiment.",
description: SITE_DESCRIPTION,
images: [{ url: "/og", width: 1200, height: 630, alt: "Zero" }],
},
twitter: {
card: "summary_large_image",
title: "Zero - Agent-first language experiment.",
description: SITE_DESCRIPTION,
images: ["/og"],
},
};
export const viewport: Viewport = {
width: "device-width",
initialScale: 1,
};
export default async function RootLayout({ children }: Readonly<{ children: ReactNode }>) {
const stars = await getStarCount();
return (
<html lang="en" suppressHydrationWarning>
<body className="bg-bg text-fg antialiased">
<ThemeProvider>
<SiteHeader stars={stars} />
{children}
<DocsChat />
</ThemeProvider>
<Analytics />
<SpeedInsights />
</body>
</html>
);
}