@@ -5,10 +5,26 @@ import { useRouter } from "next/navigation";
55import { Button } from "@/components/ui/button" ;
66import { Input } from "@/components/ui/input" ;
77import { Textarea } from "@/components/ui/textarea" ;
8- import { Card , CardContent , CardDescription , CardHeader , CardTitle } from "@/components/ui/card" ;
9- import { Github , Sparkles , ChevronDown , ChevronUp , AlertCircle } from "lucide-react" ;
8+ import {
9+ Card ,
10+ CardContent ,
11+ CardDescription ,
12+ CardHeader ,
13+ CardTitle ,
14+ } from "@/components/ui/card" ;
15+ import {
16+ Github ,
17+ Sparkles ,
18+ ChevronDown ,
19+ ChevronUp ,
20+ AlertCircle ,
21+ } from "lucide-react" ;
1022import { Alert , AlertDescription } from "@/components/ui/alert" ;
11- import { Collapsible , CollapsibleContent , CollapsibleTrigger } from "@/components/ui/collapsible" ;
23+ import {
24+ Collapsible ,
25+ CollapsibleContent ,
26+ CollapsibleTrigger ,
27+ } from "@/components/ui/collapsible" ;
1228
1329const exampleQuestions = [
1430 "What is the architecture of this codebase?" ,
@@ -35,7 +51,7 @@ const exampleRepos = [
3551 {
3652 name : "VS Code" ,
3753 url : "https://github.com/microsoft/vscode" ,
38- description : "Visual Studio Code" ,
54+ description : "GitHub repository for VS Code" ,
3955 stars : "158k" ,
4056 warning : true , // Large repo
4157 } ,
@@ -52,7 +68,10 @@ export default function Home() {
5268 const validateGitHubUrl = ( url : string ) : boolean => {
5369 try {
5470 const urlObj = new URL ( url ) ;
55- return urlObj . hostname === "github.com" && urlObj . pathname . split ( "/" ) . length >= 3 ;
71+ return (
72+ urlObj . hostname === "github.com" &&
73+ urlObj . pathname . split ( "/" ) . length >= 3
74+ ) ;
5675 } catch {
5776 return false ;
5877 }
@@ -118,24 +137,26 @@ export default function Home() {
118137 < div className = "container mx-auto px-4 py-16 md:py-24 max-w-4xl" >
119138 < div className = "text-center space-y-6 mb-12" >
120139 < div className = "flex items-center justify-center gap-2 mb-4" >
121- < Github className = "w-12 h-12 " />
122- < Sparkles className = "w-12 h-12 " />
140+ < Github className = "w-8 h-8 " />
141+ < Sparkles className = "w-8 h-8 " />
123142 </ div >
124143
125- < h1 className = "text-5xl md:text-6xl font-bold tracking-tight" >
144+ < h1 className = "text-3xl md:text-4xl font-bold tracking-tight" >
126145 Analyze any GitHub Repository
127146 </ h1 >
128147
129148 < p className = "text-xl text-muted-foreground max-w-2xl mx-auto" >
130- Ask questions about any public GitHub repository and get detailed AI-powered analysis.
149+ Ask questions about any public GitHub repository and get detailed
150+ AI-powered analysis, powered by Trigger.dev and Claude.
131151 </ p >
132152 </ div >
133153
134154 < Card className = "max-w-2xl mx-auto" >
135155 < CardHeader >
136156 < CardTitle > Repository Analysis</ CardTitle >
137157 < CardDescription >
138- Enter a GitHub repository URL and ask a question about the codebase
158+ Enter a GitHub repository URL and ask a question about the
159+ codebase
139160 </ CardDescription >
140161 </ CardHeader >
141162 < CardContent >
@@ -172,7 +193,12 @@ export default function Home() {
172193 { /* Example Questions */ }
173194 < Collapsible open = { showExamples } onOpenChange = { setShowExamples } >
174195 < CollapsibleTrigger asChild >
175- < Button type = "button" variant = "ghost" size = "sm" className = "w-full" >
196+ < Button
197+ type = "button"
198+ variant = "ghost"
199+ size = "sm"
200+ className = "w-full"
201+ >
176202 { showExamples ? (
177203 < >
178204 < ChevronUp className = "w-4 h-4 mr-2" />
@@ -209,7 +235,12 @@ export default function Home() {
209235 </ Alert >
210236 ) }
211237
212- < Button type = "submit" className = "w-full" size = "lg" disabled = { isLoading } >
238+ < Button
239+ type = "submit"
240+ className = "w-full"
241+ size = "lg"
242+ disabled = { isLoading }
243+ >
213244 { isLoading ? (
214245 < >
215246 < div className = "mr-2 h-4 w-4 animate-spin rounded-full border-2 border-background border-t-transparent" />
@@ -236,40 +267,36 @@ export default function Home() {
236267 { exampleRepos . map ( ( repo ) => (
237268 < Card
238269 key = { repo . url }
239- className = "cursor-pointer hover:shadow-lg transition-all duration-200 hover:scale-105 "
270+ className = "cursor-pointer transition-all duration-200 flex flex-col "
240271 onClick = { ( ) => handleExampleRepo ( repo . url ) }
241272 >
242- < CardHeader className = "pb-2" >
243- < CardTitle className = "flex items-center gap-2 text-base" >
273+ < CardHeader className = "pb-2 flex flex-1 " >
274+ < CardTitle className = "flex items-center gap-2 text-base " >
244275 < Github className = "w-4 h-4" />
245276 { repo . name }
246277 </ CardTitle >
247- < CardDescription className = "text-xs" > { repo . description } </ CardDescription >
278+ < CardDescription className = "text-xs" >
279+ { repo . description }
280+ </ CardDescription >
248281 </ CardHeader >
249- < CardContent >
282+ < CardContent className = "mt-auto" >
250283 < div className = "flex items-center justify-between" >
251284 < div className = "flex items-center text-xs text-muted-foreground" >
252- < svg className = "w-3 h-3 mr-1 fill-current" viewBox = "0 0 16 16" >
285+ < svg
286+ className = "w-3 h-3 mr-1 fill-current"
287+ viewBox = "0 0 16 16"
288+ >
253289 < path d = "M8 .25a.75.75 0 01.673.418l1.882 3.815 4.21.612a.75.75 0 01.416 1.279l-3.046 2.97.719 4.192a.75.75 0 01-1.088.791L8 12.347l-3.766 1.98a.75.75 0 01-1.088-.79l.72-4.194L.818 6.374a.75.75 0 01.416-1.28l4.21-.611L7.327.668A.75.75 0 018 .25z" />
254290 </ svg >
255291 { repo . stars }
256292 </ div >
257- { repo . warning && (
258- < AlertCircle className = "w-3 h-3 text-yellow-500" title = "Large repository" />
259- ) }
260293 </ div >
261294 </ CardContent >
262295 </ Card >
263296 ) ) }
264297 </ div >
265298 </ div >
266-
267- < div className = "mt-12 text-center text-sm text-muted-foreground" >
268- < p >
269- Powered by Claude AI and Trigger.dev • Public repositories only
270- </ p >
271- </ div >
272299 </ div >
273300 </ div >
274301 ) ;
275- }
302+ }
0 commit comments