diff --git a/apps/marketing/astro.config.mjs b/apps/marketing/astro.config.mjs index d1e9890bc..340868f3b 100644 --- a/apps/marketing/astro.config.mjs +++ b/apps/marketing/astro.config.mjs @@ -1,10 +1,14 @@ import { defineConfig } from "astro/config"; +import tailwindcss from "@tailwindcss/vite"; /** Set in deploy (e.g. preview URL) so canonical and Open Graph URLs resolve. */ const site = process.env.PUBLIC_SITE_URL; export default defineConfig({ ...(site ? { site } : {}), + vite: { + plugins: [tailwindcss()], + }, server: { port: Number(process.env.PORT ?? 4173), }, diff --git a/apps/marketing/package.json b/apps/marketing/package.json index 607e982c1..fccb79a48 100644 --- a/apps/marketing/package.json +++ b/apps/marketing/package.json @@ -12,10 +12,14 @@ }, "dependencies": { "@fontsource-variable/dm-sans": "^5.2.8", - "astro": "^6.0.4" + "@fontsource-variable/inter": "^5.1.1", + "@fontsource-variable/jetbrains-mono": "^5.1.1", + "astro": "^6.1.2" }, "devDependencies": { "@astrojs/check": "^0.9.7", + "@tailwindcss/vite": "^4.0.17", + "tailwindcss": "^4.0.17", "typescript": "catalog:", "vitest": "catalog:" } diff --git a/apps/marketing/src/components/Capabilities.astro b/apps/marketing/src/components/Capabilities.astro new file mode 100644 index 000000000..a13d4865b --- /dev/null +++ b/apps/marketing/src/components/Capabilities.astro @@ -0,0 +1,73 @@ +--- +const capabilities = [ + { + icon: ``, + title: "Lightning Fast Generation", + description: "Generate production-ready code in seconds with our optimized AI models trained on millions of repositories.", + }, + { + icon: ``, + title: "Enterprise Security", + description: "SOC 2 compliant with end-to-end encryption. Your code never leaves your infrastructure.", + }, + { + icon: ``, + title: "Multi-Language Support", + description: "Native support for 50+ programming languages including TypeScript, Python, Rust, Go, and more.", + }, + { + icon: ``, + title: "Team Collaboration", + description: "Real-time collaboration with shared context, code reviews, and seamless Git integration.", + }, + { + icon: ``, + title: "Intelligent Debugging", + description: "AI-powered error detection and automatic fixes. Debug smarter, not harder.", + }, + { + icon: ``, + title: "Context Aware", + description: "Understands your entire codebase. Get suggestions that fit your architecture and coding style.", + }, +]; +--- + +
+ +
+ +
+ +
+
+ + Capabilities +
+

+ Everything you need to ship faster +

+

+ A complete toolkit designed for modern development teams who want to build and deploy with confidence. +

+
+ + +
+ {capabilities.map((capability, index) => ( +
+ +
+ +
+
+ +
+

{capability.title}

+

{capability.description}

+
+
+ ))} +
+
+
diff --git a/apps/marketing/src/components/Footer.astro b/apps/marketing/src/components/Footer.astro new file mode 100644 index 000000000..7ea514ffc --- /dev/null +++ b/apps/marketing/src/components/Footer.astro @@ -0,0 +1,156 @@ +--- +const footerLinks = { + product: [ + { label: "Features", href: "#capabilities" }, + { label: "Pricing", href: "#pricing" }, + { label: "Changelog", href: "#" }, + { label: "Roadmap", href: "#" }, + ], + resources: [ + { label: "Documentation", href: "#" }, + { label: "API Reference", href: "#" }, + { label: "Guides", href: "#" }, + { label: "Blog", href: "#" }, + ], + company: [ + { label: "About", href: "#" }, + { label: "Careers", href: "#" }, + { label: "Contact", href: "#" }, + { label: "Press", href: "#" }, + ], + legal: [ + { label: "Privacy", href: "#" }, + { label: "Terms", href: "#" }, + { label: "Security", href: "#" }, + ], +}; + +const socialLinks = [ + { + label: "GitHub", + href: "https://github.com/OpenKnots/okcode", + icon: ``, + }, + { + label: "X (Twitter)", + href: "#", + icon: ``, + }, + { + label: "Discord", + href: "#", + icon: ``, + }, + { + label: "LinkedIn", + href: "#", + icon: ``, + }, +]; +--- + + diff --git a/apps/marketing/src/components/GlobalEdge.astro b/apps/marketing/src/components/GlobalEdge.astro new file mode 100644 index 000000000..63c23a79e --- /dev/null +++ b/apps/marketing/src/components/GlobalEdge.astro @@ -0,0 +1,126 @@ +--- +const regions = [ + { name: "San Francisco", latency: "8ms", x: "15%", y: "38%" }, + { name: "New York", latency: "12ms", x: "25%", y: "35%" }, + { name: "London", latency: "15ms", x: "46%", y: "28%" }, + { name: "Frankfurt", latency: "18ms", x: "50%", y: "30%" }, + { name: "Singapore", latency: "22ms", x: "75%", y: "55%" }, + { name: "Tokyo", latency: "20ms", x: "82%", y: "38%" }, + { name: "Sydney", latency: "28ms", x: "85%", y: "72%" }, + { name: "Sao Paulo", latency: "32ms", x: "30%", y: "68%" }, +]; + +const stats = [ + { value: "50+", label: "Edge Locations" }, + { value: "<50ms", label: "Avg Response" }, + { value: "99.99%", label: "Uptime SLA" }, + { value: "6", label: "Continents" }, +]; +--- + +
+ +
+ +
+ +
+
+ + Infrastructure +
+

+ Global edge network +

+

+ Lightning-fast responses from edge locations worldwide. Your AI assistant is always nearby. +

+
+ + +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + {regions.map((region) => ( +
+ +
+ +
+ +
+ + +
+
{region.name}
+
{region.latency}
+ + +
+
+ ))} +
+
+ + +
+ {stats.map((stat) => ( +
+
{stat.value}
+
{stat.label}
+
+ ))} +
+
+
diff --git a/apps/marketing/src/components/Header.astro b/apps/marketing/src/components/Header.astro new file mode 100644 index 000000000..c4cb56fb4 --- /dev/null +++ b/apps/marketing/src/components/Header.astro @@ -0,0 +1,123 @@ +--- +const navLinks = [ + { href: "#capabilities", label: "Capabilities" }, + { href: "#workflow", label: "How It Works" }, + { href: "#global", label: "Infrastructure" }, + { href: "#pricing", label: "Pricing" }, +]; +--- + + + + + + + diff --git a/apps/marketing/src/components/Hero.astro b/apps/marketing/src/components/Hero.astro index 57adbd9c9..34a09c952 100644 --- a/apps/marketing/src/components/Hero.astro +++ b/apps/marketing/src/components/Hero.astro @@ -1,167 +1,148 @@ --- -/** - * Hero section — ClawDash-style centered hero with OK Code content. - */ --- -
-