Skip to content

Analyze any GitHub repository with AI. Input a repository URL, and chat with an AI assistant about the codebase.

Notifications You must be signed in to change notification settings

ateendra24/GitBuster

Repository files navigation

GitBuster

AI-Powered GitHub Repository Analyzer & Chat Assistant

Next.js React TypeScript Tailwind CSS License

Features β€’ Demo β€’ Getting Started β€’ Tech Stack β€’ Structure β€’ Contributing


Homepage

About

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

Features

Core Features

  • 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

🎨 User Experience

  • 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

πŸ”’ Additional Features

  • 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

Getting Started

Prerequisites

  • Node.js 18.x or higher
  • npm or yarn or pnpm
  • Git

Installation

  1. Clone the repository

    git clone https://github.com/ateendra24/gitbuster.git
    cd gitbuster
  2. Install dependencies

    npm install
    # or
    yarn install
    # or
    pnpm install
  3. Set up environment variables

    Create a .env.local file in the root directory:

    # Add your environment variables here
    NEXT_PUBLIC_API_URL=your_backend_api_url
  4. Run the development server

    npm run dev
    # or
    yarn dev
    # or
    pnpm dev
  5. Open your browser

    Navigate to http://localhost:3000

Build for Production

npm run build
npm run start

Tech Stack

Frontend Framework

Styling & UI

Data Visualization

State & Data Fetching

Development Tools

Project Structure

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

Architecture

Feature-Based Organization

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

Key Design Patterns

  • 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

Key Components

Repository Analysis

  • RepoVisualizer: 3D visualization of repository structure
  • DependencyGraph: Interactive dependency relationship graph
  • FolderStructure: File browser with search functionality
  • Details: Repository metadata and statistics

Chat Interface

  • Chat: AI-powered chat interface
  • CodeBlock: Syntax-highlighted code display
  • QuickActions: Pre-built analysis prompts
  • SummaryInterface: Repository summary display

Layout

  • BaseNavbar: Main navigation with theme toggle
  • RepoPageNavbar: Repository-specific navigation
  • Footer: Site footer with links
  • PageWrapper: Consistent page layout wrapper

Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch
    git checkout -b feature/amazing-feature
  3. Commit your changes
    git commit -m 'Add amazing feature'
  4. Push to the branch
    git push origin feature/amazing-feature
  5. Open a Pull Request

Development Guidelines

  • 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

License

This project is licensed under the MIT License - see the LICENSE file for details.

Author

Ateendra

Acknowledgments

  • 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

Contact & Support


Made by Ateendra

Star this repo if you find it helpful

About

Analyze any GitHub repository with AI. Input a repository URL, and chat with an AI assistant about the codebase.

Topics

Resources

Stars

Watchers

Forks