/** * Starter Kit Templates * * Define GitHub templates that users can clone when creating new projects. */ export interface StarterTemplate { id: string; name: string; description: string; repoUrl: string; techStack: string[]; features: string[]; category: "fullstack" | "frontend" | "backend" | "ai" | "other"; author: string; } export const starterTemplates: StarterTemplate[] = [ { id: "agentic-jumpstart", name: "Agentic Jumpstart", description: "A starter template for building agentic AI applications with a pre-configured development environment including database setup, Docker support, and TypeScript configuration.", repoUrl: "https://github.com/webdevcody/agentic-jumpstart-starter-kit", techStack: ["TypeScript", "Vite", "Drizzle ORM", "Docker", "PostCSS"], features: [ "Pre-configured VS Code settings", "Docker Compose setup", "Database migrations with Drizzle", "Type-safe development", "Environment setup with .env.example" ], category: "ai", author: "webdevcody" }, { id: "full-stack-campus", name: "Full Stack Campus", description: "A feature-driven development template for building community platforms. Includes authentication, Stripe payments, file uploads, and real-time features using TanStack Start.", repoUrl: "https://github.com/webdevcody/full-stack-campus", techStack: ["TanStack Start", "PostgreSQL", "Drizzle ORM", "Better Auth", "Tailwind CSS", "Radix UI", "Stripe", "AWS S3/R2"], features: [ "Community posts with comments and reactions", "User profiles and portfolios", "Calendar event management", "Direct messaging", "Member discovery directory", "Real-time notifications", "Tiered subscriptions (free/basic/pro)", "File uploads with presigned URLs" ], category: "fullstack", author: "webdevcody" } ]; export function getTemplateById(id: string): StarterTemplate | undefined { return starterTemplates.find(t => t.id === id); } export function getTemplatesByCategory(category: StarterTemplate["category"]): StarterTemplate[] { return starterTemplates.filter(t => t.category === category); }