|
1 | 1 | import Link from 'next/link'; |
| 2 | +import { |
| 3 | + GitBranch, |
| 4 | + Database, |
| 5 | + WifiOff, |
| 6 | + Network, |
| 7 | + Terminal, |
| 8 | + BookOpen, |
| 9 | + Map, |
| 10 | + Mail, |
| 11 | + ArrowRight, |
| 12 | + Github |
| 13 | +} from 'lucide-react'; |
2 | 14 |
|
3 | 15 | export default function HomePage() { |
4 | 16 | return ( |
5 | | - <div className="flex flex-col justify-center text-center flex-1"> |
6 | | - <h1 className="text-2xl font-bold mb-4">Hello World</h1> |
7 | | - <p> |
8 | | - You can open{' '} |
9 | | - <Link href="/docs" className="font-medium underline"> |
10 | | - /docs |
11 | | - </Link>{' '} |
12 | | - and see the documentation. |
13 | | - </p> |
| 17 | + <div className="flex flex-col min-h-screen"> |
| 18 | + <section className="relative flex flex-col items-center justify-center py-24 text-center lg:py-32 overflow-hidden"> |
| 19 | + <div className="absolute inset-0 -z-10 bg-[radial-gradient(ellipse_at_top,_var(--tw-gradient-stops))] from-sky-900/20 via-slate-900/0 to-slate-900/0"></div> |
| 20 | + |
| 21 | + <div className="inline-flex items-center gap-2 px-3 py-1 mb-6 text-sm font-medium rounded-full bg-sky-500/10 text-sky-400 border border-sky-500/20 animate-in fade-in slide-in-from-bottom-4 duration-500"> |
| 22 | + <span className="relative flex h-2 w-2"> |
| 23 | + <span className="animate-ping absolute inline-flex h-full w-full rounded-full bg-sky-400 opacity-75"></span> |
| 24 | + <span className="relative inline-flex rounded-full h-2 w-2 bg-sky-500"></span> |
| 25 | + </span> |
| 26 | + AI-Native Developer Tools |
| 27 | + </div> |
| 28 | + |
| 29 | + <h1 className="text-4xl font-extrabold tracking-tight sm:text-6xl md:text-7xl mb-6 max-w-4xl mx-auto animate-in fade-in slide-in-from-bottom-8 duration-700 delay-100"> |
| 30 | + Tools that <span className="text-gradient">Remember</span> |
| 31 | + <br /> for the Agentic Era |
| 32 | + </h1> |
| 33 | + |
| 34 | + <p className="max-w-2xl mx-auto text-lg text-slate-400 mb-10 animate-in fade-in slide-in-from-bottom-8 duration-700 delay-200"> |
| 35 | + A monorepo of CLI tools powered by HelixDB. Give your AI agents persistent, structured memory with graph traversal and vector search. |
| 36 | + </p> |
| 37 | + |
| 38 | + <div className="flex flex-col sm:flex-row gap-4 animate-in fade-in slide-in-from-bottom-8 duration-700 delay-300"> |
| 39 | + <Link |
| 40 | + href="/docs" |
| 41 | + className="inline-flex items-center justify-center px-8 py-3 text-base font-medium text-white transition-all bg-sky-500 rounded-lg hover:bg-sky-400 hover:shadow-[0_0_20px_-5px_rgba(14,165,233,0.5)] active:scale-95" |
| 42 | + > |
| 43 | + Read Documentation |
| 44 | + <ArrowRight className="ml-2 h-4 w-4" /> |
| 45 | + </Link> |
| 46 | + <a |
| 47 | + href="https://github.com/kevinmichaelchen/helix-tools" |
| 48 | + target="_blank" |
| 49 | + rel="noopener noreferrer" |
| 50 | + className="inline-flex items-center justify-center px-8 py-3 text-base font-medium text-slate-300 transition-all bg-white/5 border border-white/10 rounded-lg hover:bg-white/10 hover:text-white active:scale-95" |
| 51 | + > |
| 52 | + <Github className="mr-2 h-4 w-4" /> |
| 53 | + View on GitHub |
| 54 | + </a> |
| 55 | + </div> |
| 56 | + </section> |
| 57 | + |
| 58 | + <section className="px-4 py-16 mx-auto max-w-7xl sm:px-6 lg:px-8"> |
| 59 | + <h2 className="text-2xl font-bold text-center mb-12 text-slate-200">Built on Core Principles</h2> |
| 60 | + <div className="grid grid-cols-1 gap-6 md:grid-cols-2 lg:grid-cols-4"> |
| 61 | + <FeatureCard |
| 62 | + icon={<GitBranch className="h-6 w-6 text-sky-400" />} |
| 63 | + title="Git-First" |
| 64 | + description="Data stored in human-readable Markdown, YAML, and JSONL. Your repo is the source of truth." |
| 65 | + /> |
| 66 | + <FeatureCard |
| 67 | + icon={<WifiOff className="h-6 w-6 text-indigo-400" />} |
| 68 | + title="Offline-First" |
| 69 | + description="Full functionality without network. Local embeddings via fastembed means no cloud dependencies." |
| 70 | + /> |
| 71 | + <FeatureCard |
| 72 | + icon={<Network className="h-6 w-6 text-purple-400" />} |
| 73 | + title="Graph Intelligence" |
| 74 | + description="Traverse relationships between entities. Navigate your codebase structure naturally." |
| 75 | + /> |
| 76 | + <FeatureCard |
| 77 | + icon={<Database className="h-6 w-6 text-emerald-400" />} |
| 78 | + title="Hybrid Search" |
| 79 | + description="Combine vector semantic search with traditional BM25 keyword matching for best results." |
| 80 | + /> |
| 81 | + </div> |
| 82 | + </section> |
| 83 | + |
| 84 | + <section className="px-4 py-16 mx-auto max-w-7xl sm:px-6 lg:px-8"> |
| 85 | + <div className="flex flex-col md:flex-row items-end justify-between mb-8 gap-4"> |
| 86 | + <div> |
| 87 | + <h2 className="text-3xl font-bold text-slate-100">The Helix Suite</h2> |
| 88 | + <p className="mt-2 text-slate-400"> specialized tools composing via standard interfaces</p> |
| 89 | + </div> |
| 90 | + </div> |
| 91 | + |
| 92 | + <div className="grid grid-cols-1 gap-6 md:grid-cols-2"> |
| 93 | + <ToolCard |
| 94 | + icon={<Terminal className="h-8 w-8" />} |
| 95 | + name="hbd" |
| 96 | + tag="In Development" |
| 97 | + tagColor="bg-yellow-500/10 text-yellow-400 border-yellow-500/20" |
| 98 | + description="Git-first issue tracker for AI-supervised workflows. Bridge the gap between conceptual specs and tasks." |
| 99 | + /> |
| 100 | + <ToolCard |
| 101 | + icon={<BookOpen className="h-8 w-8" />} |
| 102 | + name="helix-docs" |
| 103 | + tag="Planned" |
| 104 | + tagColor="bg-slate-500/10 text-slate-400 border-slate-500/20" |
| 105 | + description="Local cache for fetched documentation. Give your agents instant access to library docs during research." |
| 106 | + /> |
| 107 | + <ToolCard |
| 108 | + icon={<Map className="h-8 w-8" />} |
| 109 | + name="helix-map" |
| 110 | + tag="Planned" |
| 111 | + tagColor="bg-slate-500/10 text-slate-400 border-slate-500/20" |
| 112 | + description="Codebase structure cache for fast exploration. Helps agents understand project architecture." |
| 113 | + /> |
| 114 | + <ToolCard |
| 115 | + icon={<Mail className="h-8 w-8" />} |
| 116 | + name="helix-mail" |
| 117 | + tag="Planned" |
| 118 | + tagColor="bg-slate-500/10 text-slate-400 border-slate-500/20" |
| 119 | + description="Agent-to-agent messaging and coordination system for multi-agent workflows." |
| 120 | + /> |
| 121 | + </div> |
| 122 | + </section> |
| 123 | + |
| 124 | + <footer className="mt-auto py-12 border-t border-white/5 bg-black/20 text-center"> |
| 125 | + <p className="text-slate-500 text-sm"> |
| 126 | + Built with <span className="text-sky-500">HelixDB</span> & Next.js |
| 127 | + </p> |
| 128 | + </footer> |
| 129 | + </div> |
| 130 | + ); |
| 131 | +} |
| 132 | + |
| 133 | +function FeatureCard({ icon, title, description }: { icon: React.ReactNode, title: string, description: string }) { |
| 134 | + return ( |
| 135 | + <div className="glow-card h-full flex flex-col"> |
| 136 | + <div className="mb-4 p-3 bg-white/5 rounded-lg w-fit border border-white/5"> |
| 137 | + {icon} |
| 138 | + </div> |
| 139 | + <h3 className="text-lg font-semibold text-slate-100 mb-2">{title}</h3> |
| 140 | + <p className="text-slate-400 text-sm leading-relaxed">{description}</p> |
| 141 | + </div> |
| 142 | + ); |
| 143 | +} |
| 144 | + |
| 145 | +function ToolCard({ icon, name, description, tag, tagColor }: { icon: React.ReactNode, name: string, description: string, tag: string, tagColor: string }) { |
| 146 | + return ( |
| 147 | + <div className="glow-card group"> |
| 148 | + <div className="flex items-start justify-between mb-4"> |
| 149 | + <div className="p-3 bg-sky-500/10 text-sky-400 rounded-lg group-hover:bg-sky-500 group-hover:text-white transition-colors duration-300"> |
| 150 | + {icon} |
| 151 | + </div> |
| 152 | + <span className={`px-2.5 py-0.5 rounded-full text-xs font-medium border ${tagColor}`}> |
| 153 | + {tag} |
| 154 | + </span> |
| 155 | + </div> |
| 156 | + <h3 className="text-xl font-bold text-slate-100 mb-2 group-hover:text-sky-400 transition-colors">{name}</h3> |
| 157 | + <p className="text-slate-400">{description}</p> |
14 | 158 | </div> |
15 | 159 | ); |
16 | 160 | } |
0 commit comments