AI-Powered GitHub Repository Analyzer & Chat Assistant
Features β’ Demo β’ Getting Started β’ Tech Stack β’ Structure β’ Contributing
GitBuster is an intelligent GitHub repository analyzer that leverages AI to help developers understand codebases faster. Simply paste a GitHub repository URL, and GitBuster will analyze the entire codebase, providing interactive visualizations, dependency graphs, and an AI-powered chat interface to answer questions about the code.
Perfect for:
- Code Review: Quickly understand new repositories
- Learning: Explore open-source projects with AI guidance
- Onboarding: Help new team members navigate large codebases
- Development: Get instant answers about project structure and implementation
- AI Chat Assistant: Ask questions about any part of the codebase and get intelligent responses
- Repository Visualization: Interactive 3D visualization of repository structure using D3.js
- Dependency Graph: Visualize project dependencies and their relationships
- Folder Structure Explorer: Browse files and folders with search functionality
- Code Highlighting: Syntax-highlighted code blocks with copy-to-clipboard
- Quick Actions: Pre-built prompts for common analysis tasks
- Dark/Light Mode: Seamless theme switching with
next-themes - Responsive Design: Optimized for desktop, tablet, and mobile devices
- Smooth Animations: Framer Motion powered transitions
- Loading States: Beautiful loading animations during analysis
- Error Handling: Graceful error messages and fallbacks
- Privacy First: Clear terms of service and privacy policy
- Health Check: Monitor backend service status
- FAQ Section: Comprehensive answers to common questions
- Cookie Policy: Transparent data usage information
- Node.js 18.x or higher
- npm or yarn or pnpm
- Git
-
Clone the repository
git clone https://github.com/ateendra24/gitbuster.git cd gitbuster -
Install dependencies
npm install # or yarn install # or pnpm install
-
Set up environment variables
Create a
.env.localfile in the root directory:# Add your environment variables here NEXT_PUBLIC_API_URL=your_backend_api_url
-
Run the development server
npm run dev # or yarn dev # or pnpm dev
-
Open your browser
Navigate to http://localhost:3000
npm run build
npm run start- Next.js 15.3 - React framework with App Router
- React 19 - UI library
- TypeScript 5 - Type safety
- Tailwind CSS 4 - Utility-first CSS
- shadcn/ui - Component library
- Radix UI - Headless UI primitives
- Framer Motion - Animation library
- Lucide React - Icon library
- D3.js - Data visualization
- React Syntax Highlighter - Code highlighting
- ESLint - Code linting
- TypeScript ESLint - TypeScript linting
- PostCSS - CSS processing
front/
βββ src/
β βββ app/ # Next.js App Router pages
β β βββ (routes)/ # Route groups
β β β βββ [username]/[repo]/ # Dynamic repo page
β β β βββ about/ # About page
β β β βββ faq/ # FAQ page
β β β βββ health/ # Health check page
β β β βββ privacy/ # Privacy policy
β β β βββ terms/ # Terms of service
β β β βββ cookies/ # Cookie policy
β β βββ home/ # Home page
β β βββ layout.tsx # Root layout
β β βββ page.tsx # Landing page
β β βββ globals.css # Global styles
β β
β βββ components/ # Reusable components
β β βββ ui/ # shadcn/ui components
β β βββ magicui/ # Custom UI components
β β βββ layout/ # Layout components
β β β βββ BaseNavbar.tsx
β β β βββ Footer.tsx
β β β βββ Navbar.tsx
β β β βββ RepoPageNavbar.tsx
β β βββ icons/ # Icon components
β β βββ pages/ # Page-specific components
β β βββ Wrappers/ # Layout wrappers
β β
β βββ containers/ # Page containers
β β βββ aboutpage/ # About page sections
β β βββ homepage/ # Home page sections
β β βββ repopage/ # Repository page sections
β β βββ faq-page/ # FAQ sections
β β βββ [policy-pages]/ # Policy page sections
β β
β βββ config/ # Configuration files
β β βββ siteConfig.js # Site configuration
β β
β βββ lib/ # Utility functions
β β βββ utils.ts # Helper utilities
β β
β βββ hooks/ # Custom React hooks
β β βββ use-mobile.ts # Mobile detection hook
β β
β βββ types/ # TypeScript type definitions
β βββ repo.ts # Repository types
β
βββ public/ # Static assets
βββ pages/ # API routes
β βββ api/
β βββ chat.js # Chat API endpoint
β βββ health.js # Health check endpoint
β βββ process-repo.js # Repository processing endpoint
β
βββ components.json # shadcn/ui configuration
βββ next.config.ts # Next.js configuration
βββ tailwind.config.ts # Tailwind CSS configuration
βββ tsconfig.json # TypeScript configuration
βββ package.json # Dependencies
The project follows a feature-based architecture where components are organized by their purpose:
/app: Next.js 15 App Router with file-based routing/components: Shared, reusable UI components/containers: Page-level containers that compose components/features: Feature-specific logic and components (planned)/lib: Utility functions and helpers/hooks: Custom React hooks for shared logic/types: TypeScript type definitions
- Component Composition: Small, focused components composed into larger features
- Separation of Concerns: UI, business logic, and data fetching separated
- Type Safety: Comprehensive TypeScript coverage
- Responsive Design: Mobile-first approach with Tailwind CSS
- Accessibility: ARIA labels and keyboard navigation support
RepoVisualizer: 3D visualization of repository structureDependencyGraph: Interactive dependency relationship graphFolderStructure: File browser with search functionalityDetails: Repository metadata and statistics
Chat: AI-powered chat interfaceCodeBlock: Syntax-highlighted code displayQuickActions: Pre-built analysis promptsSummaryInterface: Repository summary display
BaseNavbar: Main navigation with theme toggleRepoPageNavbar: Repository-specific navigationFooter: Site footer with linksPageWrapper: Consistent page layout wrapper
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch
git checkout -b feature/amazing-feature
- Commit your changes
git commit -m 'Add amazing feature' - Push to the branch
git push origin feature/amazing-feature
- Open a Pull Request
- Follow the existing code style and structure
- Write meaningful commit messages
- Add TypeScript types for new code
- Test thoroughly before submitting
- Update documentation as needed
This project is licensed under the MIT License - see the LICENSE file for details.
Ateendra
- Twitter: @ateendra24
- GitHub: @ateendra24
- LinkedIn: ateendra24
- Next.js for the amazing framework
- Vercel for hosting and deployment
- shadcn/ui for beautiful components
- D3.js for powerful visualizations
- All open-source contributors
- Feedback: Submit feedback
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Made by Ateendra
Star this repo if you find it helpful
