import { Badge } from '@thedaviddias/design-system/badge' import { Breadcrumb } from '@thedaviddias/design-system/breadcrumb' import { Button } from '@thedaviddias/design-system/button' import { getBaseUrl } from '@thedaviddias/utils/get-base-url' import { ArrowRight, ExternalLink, Github, Plus, Star } from 'lucide-react' import type { Metadata } from 'next' import Link from 'next/link' import { GitHubProjectCard } from '@/components/github/github-project-card' import { Card, CardContent } from '@/components/ui/card' import { fetchGitHubProjects, type GitHubProject } from '@/lib/github' import { getRoute } from '@/lib/routes' import { generateBaseMetadata } from '@/lib/seo/seo-config' export const metadata: Metadata = generateBaseMetadata({ title: 'Open Source Projects', description: 'Explore open-source projects, tools, and libraries implementing the llms.txt standard.', path: '/projects', keywords: ['open source', 'GitHub projects', 'llms.txt tools', 'libraries', 'implementations'] }) // Revalidate Projects page hourly to reduce API load export const revalidate = 3600 export default async function ProjectsPage() { // Fetch projects with both topics concurrently const [projects1, projects2] = await Promise.all([ fetchGitHubProjects('llms-txt'), fetchGitHubProjects('llmstxt') ]) // Create a Map to deduplicate projects by full name const projectsMap = new Map() // Add all projects to the map, with full name as key const allProjects = [...projects1, ...projects2] allProjects.forEach(project => { projectsMap.set(project.fullName, project) }) // Convert map back to array and sort by stars const sortedProjects = Array.from(projectsMap.values()).sort((a, b) => b.stars - a.stars) // Featured project is the one with most stars const featuredProject = sortedProjects[0] const remainingProjects = sortedProjects.slice(1) return (
{/* Header */}

Open Source Projects

Discover open-source projects, tools, and libraries implementing the llms.txt standard. Add the{' '} llms-txt {' '} or{' '} llmstxt {' '} topic to your GitHub repository to be listed.

{/* Featured Project */} {featuredProject && (
Most Starred
{featuredProject.stars.toLocaleString()}

{featuredProject.fullName}

{featuredProject.description}

View project
)} {/* All Projects Grid */} {remainingProjects.length > 0 && (

All Projects ({remainingProjects.length})

{remainingProjects.map((project, index) => ( ))}
)} {/* Submit Project CTA */}

Have a Project to Share?

Add the{' '} llms-txt{' '} topic to your GitHub repository to have it listed here automatically.

) }