An open API service indexing awesome lists of open source software.

https://github.com/notshrirang/gitrender

A vibe coded app around @karpathy's rendergit
https://github.com/notshrirang/gitrender

Last synced: 9 months ago
JSON representation

A vibe coded app around @karpathy's rendergit

Awesome Lists containing this project

README

          

# πŸš€ GitRender

**Transform any GitHub repository into a single, searchable HTML page.**

> A vibe coded app around [@karpathy](https://github.com/karpathy)'s [rendergit](https://github.com/karpathy/rendergit)

[![License: Apache 2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)

---

_Perfect for code review, exploration, and instant Ctrl+F across entire codebases_

**🎯 Simple Usage**: Replace `github.com` in any repo URL with `gitrender.vercel.app` and see the magic!

_Example: `https://github.com/user/repo` β†’ `https://gitrender.vercel.app/user/repo`_

---

## ✨ What is GitRender?

GitRender flattens any GitHub repository into a **single, searchable HTML page** with beautiful syntax highlighting and intuitive navigation. No more clicking through complex file hierarchiesβ€”just pure, instant access to all the code you need.

### 🎯 Perfect for:

- **Code Review**: See the entire codebase at once
- **Learning**: Explore open-source projects effortlessly
- **AI Analysis**: Export codebases in LLM-friendly format
- **Documentation**: Quick reference for project structure
- **Research**: Compare implementations across multiple files

---

## πŸš€ Quick Start

### 🌐 Web Interface (Recommended)

Simply visit our hosted version and paste any GitHub repository URL:

**[🌐 GitRender Web App](https://your-vercel-deployment.vercel.app)**

### πŸ’» Command Line Interface

#### Installation

```bash
# Clone the repository
git clone https://github.com/NotShrirang/GitRender.git
cd GitRender

# Or with uv (recommended)
uv venv .venv
source .venv/bin/activate # Linux/Mac
# .venv\Scripts\activate # Windows
uv pip install -r requirements.txt
```

## ✨ Features

### 🎨 **Dual View Modes**

- **πŸ‘€ Human View**: Beautiful interface with syntax highlighting and navigation
- **πŸ€– LLM View**: Raw CXML format perfect for AI code analysis

### πŸ” **Smart Code Processing**

- **Syntax highlighting** for 200+ programming languages via Pygments
- **Markdown rendering** for documentation files
- **Smart filtering** automatically skips binaries and oversized files
- **File size optimization** with configurable limits

### 🧭 **Intuitive Navigation**

- **Directory tree** overview with expandable folders
- **Sidebar navigation** with file links and sizes
- **Jump-to-file** functionality
- **Search-friendly** - use Ctrl+F to find anything across all files

### πŸ“± **Modern Design**

- **Responsive layout** works on desktop, tablet, and mobile
- **Clean, minimal interface** focuses on the code
- **Fast loading** with optimized HTML output
- **Accessible** design following web standards

---

## πŸ”§ Technical Details

### Architecture

- **Backend**: Flask web application
- **Frontend**: Responsive HTML with modern CSS/JS
- **Deployment**: Optimized for Vercel serverless functions
- **Code Processing**: Python with Pygments and Markdown libraries

### File Processing

- Supports text files up to 50KB by default (configurable)
- Automatically detects and skips binary files
- Processes common code files, documentation, and configuration files
- Maintains original file structure and relationships

### Performance

- Efficient temporary file handling
- Optimized HTML generation
- Smart caching for repeated requests
- Maximum 60-second processing time on Vercel

---

## πŸ› οΈ Development

### Project Structure

```
GitRender/
β”œβ”€β”€ app.py # Flask web application
β”œβ”€β”€ index.py # Vercel entry point
β”œβ”€β”€ requirements.txt # Python dependencies
β”œβ”€β”€ vercel.json # Vercel deployment configuration
β”œβ”€β”€ core/ # Core functionality
β”‚ β”œβ”€β”€ github_api.py # GitHub API integration
β”‚ β”œβ”€β”€ navigation.py # Navigation utilities
β”‚ β”œβ”€β”€ repo_to_single_page.py # Main rendering logic
β”‚ β”œβ”€β”€ templates.py # HTML templates
β”‚ └── utils.py # Utility functions
└── README.md # This file
```

### Contributing

We welcome contributions! Here's how you can help:

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

### Issues and Support

- πŸ› [Report bugs](https://github.com/NotShrirang/GitRender/issues)
- πŸ’‘ [Request features](https://github.com/NotShrirang/GitRender/issues)
- πŸ’¬ [Join discussions](https://github.com/NotShrirang/GitRender/discussions)

---

## πŸ“„ License

This project is licensed under the **Apache License 2.0** - see the [LICENSE](LICENSE) file for details.

---

## πŸ™ Acknowledgments

- **Original concept and implementation** by [@karpathy](https://github.com/karpathy) - this project is based on his excellent [rendergit](https://github.com/karpathy/rendergit) tool
- Inspired by the need for better code exploration tools
- Built with [Pygments](https://pygments.org/) for syntax highlighting
- Uses [Python-Markdown](https://python-markdown.github.io/) for documentation rendering
- Deployed on [Vercel](https://vercel.com/) for fast, global access

---

**Made with ❀️ for developers who love exploring code**

[⭐ Star this repo](https://github.com/NotShrirang/GitRender) if GitRender helped you!