forked from TanStack/tanstack.com
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtemplates.ts
More file actions
116 lines (113 loc) · 2.44 KB
/
Copy pathtemplates.ts
File metadata and controls
116 lines (113 loc) · 2.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
/**
* Template Presets
*
* Hardcoded preset configurations for common app types.
* Users can select a template to pre-populate features, then modify freely.
*/
import type { LucideIcon } from 'lucide-react'
import {
Rocket,
Bot,
LayoutDashboard,
FileText,
Server,
Radio,
Globe,
HardDrive,
Plus,
} from 'lucide-react'
export interface Template {
id: string
name: string
description: string
icon: LucideIcon
color: string
features: Array<string>
}
export const TEMPLATES: Array<Template> = [
{
id: 'blank',
name: 'Blank',
description: 'Start from scratch',
icon: Plus,
color: '#6B7280', // gray
features: ['cloudflare'],
},
{
id: 'saas',
name: 'SaaS Starter',
description: 'Auth, database, monitoring',
icon: Rocket,
color: '#F97316', // orange
features: [
'cloudflare',
'clerk',
'neon',
'sentry',
'shadcn',
'tanstack-form',
],
},
{
id: 'ai-chat',
name: 'AI Chat',
description: 'LLM-powered app',
icon: Bot,
color: '#8B5CF6', // violet
features: ['cloudflare', 'ai', 'tanstack-store', 'shadcn'],
},
{
id: 'dashboard',
name: 'Dashboard',
description: 'Admin panels, data tables',
icon: LayoutDashboard,
color: '#3B82F6', // blue
features: [
'cloudflare',
'tanstack-table',
'tanstack-query',
'shadcn',
'tanstack-form',
],
},
{
id: 'blog',
name: 'Blog / CMS',
description: 'Content-driven site',
icon: FileText,
color: '#EC4899', // pink
features: ['cloudflare', 'strapi', 'tanstack-query'],
},
{
id: 'api-first',
name: 'API-First',
description: 'Type-safe backend APIs',
icon: Server,
color: '#10B981', // emerald
features: ['cloudflare', 'trpc', 'tanstack-query', 'drizzle'],
},
{
id: 'realtime',
name: 'Realtime',
description: 'Live, collaborative features',
icon: Radio,
color: '#EF4444', // red
features: ['cloudflare', 'convex', 'tanstack-query'],
},
{
id: 'i18n',
name: 'Multi-Language',
description: 'Internationalized app',
icon: Globe,
color: '#06B6D4', // cyan
features: ['cloudflare', 'paraglide', 'shadcn'],
},
{
id: 'local-first',
name: 'Local-First',
description: 'Offline-capable, sync-enabled',
icon: HardDrive,
color: '#F59E0B', // amber
features: ['cloudflare', 'tanstack-db', 'tanstack-query', 'tanstack-store'],
},
]