@ragrabbit/mcp

by madarco
Verified
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@repo/design/shadcn/card"; import { Button } from "@repo/design/shadcn/button"; import Link from "next/link"; import { ArrowRight, Database, Bot, Code2, MessageSquare, Settings, Code, BookOpen } from "@repo/design/base/icons"; import { LucideIcon } from "@repo/design/base/icons"; import { Metadata } from "next"; import { authOrLogin } from "@repo/auth"; export const metadata: Metadata = { title: "RagRabbit", description: "Your all-in-one solution for building powerful RAG applications.", }; const sections = [ { title: "Chat", description: "Chat with your indexed data using AI", href: "/chat", icon: MessageSquare, }, { title: "Indexing", description: "Index and manage your data sources for efficient retrieval", href: "/dashboard/indexing", icon: Database, }, { title: "Widget Builder", description: "Set up custom chat widgets for your website", href: "/dashboard/widget", icon: Code2, }, { title: "LLM.txt", description: "Configure and customize your LLM.txt generation", href: "/dashboard/llm", icon: Bot, }, { title: "Documentation", description: "View the documentation on GitHub", href: "https://github.com/madarco/ragrabbit", icon: BookOpen, }, { title: "Demo", description: "See the widget in action", href: "/widget/demo", icon: Code, secondary: true, }, ]; export default async function Home() { return ( <div className="container mx-auto py-12 space-y-8"> {/* Hero Section */} <div className="text-center space-y-4"> <h1 className="text-4xl font-bold">Welcome to RagRabbit</h1> <p className="text-xl text-muted-foreground max-w-3xl mx-auto"> The all-in-one solution for building powerful RAG applications and AI Site Search. <br /> Index your data, embed a chat widget in your website, and generate a LLM.txt file automatically. </p> </div> {/* Tools Grid */} <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 pt-8"> {sections.map((section) => { const Icon = section.icon; return ( <Card key={section.href} className="hover:shadow-lg transition-shadow"> <CardHeader> <CardTitle className="flex items-center gap-2"> <Icon className="w-5 h-5" /> {section.title} </CardTitle> <CardDescription>{section.description}</CardDescription> </CardHeader> <CardContent> <Link href={section.href}> <Button className="w-full" variant={section.secondary ? "secondary" : "default"}> Go to {section.title} <ArrowRight className="w-4 h-4 ml-2" /> </Button> </Link> </CardContent> </Card> ); })} </div> </div> ); }