diff --git a/apps/docs/app/[lang]/page.tsx b/apps/docs/app/[lang]/page.tsx
index 8ded42d862..398c751017 100644
--- a/apps/docs/app/[lang]/page.tsx
+++ b/apps/docs/app/[lang]/page.tsx
@@ -1,12 +1,67 @@
-import { redirect } from 'next/navigation';
-import { i18n } from '@/lib/i18n';
+import type { Metadata } from 'next';
+import Link from 'next/link';
+import { ArrowRight } from 'lucide-react';
+import { HomeLayout } from 'fumadocs-ui/layouts/home';
+import { baseOptions, gitConfig } from '@/lib/layout.shared';
-export default async function HomePage({
- params,
-}: {
- params: Promise<{ lang: string }>;
-}) {
- const { lang } = await params;
+export const metadata: Metadata = {
+ title: {
+ absolute: 'ObjectStack โ a metadata protocol and TypeScript toolkit for AI-native business apps',
+ },
+ description:
+ 'Describe objects, permissions, workflows, APIs, UI, and AI tools once as typed Zod metadata โ ObjectStack derives the TypeScript types, REST API, client SDK, UI, and MCP tools.',
+};
- redirect(lang === i18n.defaultLanguage ? '/docs' : `/${lang}/docs`);
+export default function HomePage() {
+ return (
+
+
+
+ Open source ยท Apache-2.0
+
+
+ A metadata protocol and TypeScript toolkit for AI-native business apps
+
+
+ Describe your objects, permissions, workflows, APIs, UI, and AI tools once as typed,
+ version-controlled Zod metadata. ObjectStack derives the TypeScript types, REST API,
+ client SDK, UI, and MCP tools from that single definition.
+
+
+
+ Get started
+
+
+
+ Documentation
+
+
+ GitHub
+
+
+
+ ObjectStack is the open-source developer framework.{' '}
+ Need the official hosted runtime with AI built in?{' '}
+
+ Try ObjectOS
+
+
+
+
+
+ );
}
diff --git a/apps/docs/app/favicon.ico b/apps/docs/app/favicon.ico
new file mode 100644
index 0000000000..718d6fea48
Binary files /dev/null and b/apps/docs/app/favicon.ico differ
diff --git a/apps/docs/app/layout.tsx b/apps/docs/app/layout.tsx
index b215131960..d92fe60df3 100644
--- a/apps/docs/app/layout.tsx
+++ b/apps/docs/app/layout.tsx
@@ -9,7 +9,7 @@ export const metadata: Metadata = {
},
description: 'Documentation for the ObjectStack Protocol and runtime.',
icons: {
- icon: 'https://objectstack.ai/logo.png',
+ icon: '/logo.svg',
},
};
diff --git a/apps/docs/lib/layout.shared.tsx b/apps/docs/lib/layout.shared.tsx
index a566acdc15..e976ca3478 100644
--- a/apps/docs/lib/layout.shared.tsx
+++ b/apps/docs/lib/layout.shared.tsx
@@ -1,5 +1,4 @@
import type { BaseLayoutProps } from 'fumadocs-ui/layouts/shared';
-import Image from 'next/image';
export const gitConfig = {
user: 'objectstack-ai',
@@ -12,16 +11,16 @@ export function baseOptions(): BaseLayoutProps {
nav: {
title: (
-
+ {/* Served from public/ โ the retired objectstack.ai marketing site no longer hosts assets. */}
+
ObjectStack