# Downlink - YouTube Downloader

A sleek Next.js application for downloading YouTube videos and audio in various formats.

![Downlink Screenshot](screenshot.png)

## Features

- 🎥 Download YouTube videos in multiple formats (MP4, WebM, MKV, AVI)
- 🎵 Extract audio in various formats (MP3, WAV, M4A, Opus)
- 🎨 Modern UI built with shadcn/ui and Tailwind CSS
- ⚡ Server-side processing with yt-dlp
- 🔄 Format transcoding support

## Quick Start

1. **Install dependencies**
   ```bash
   npm install
   ```

2. **Install system dependencies**
   ```bash
   # macOS
   brew install yt-dlp ffmpeg
   
   # Linux
   pip3 install yt-dlp
   sudo apt-get install ffmpeg
   ```

3. **Run development server**
   ```bash
   npm run dev
   ```

4. **Open browser**
   Navigate to `http://localhost:3000`

## Documentation

- [Setup Guide](./docs/setup.md) - Installation and configuration
- [YouTube Downloader](./docs/youtube-downloader.md) - Download feature documentation
- [Transcoding](./docs/transcoding.md) - Format conversion documentation
- [Agent Instructions](./docs/AGENTS.md) - Guidelines for contributors

## Tech Stack

- **Framework**: Next.js 16 (App Router)
- **UI**: shadcn/ui + Tailwind CSS
- **TypeScript**: Full type safety
- **Download Engine**: yt-dlp
- **Transcoding**: ffmpeg (via yt-dlp)

## Project Structure

```
Downlink/
├── app/              # Next.js app directory
├── components/        # React components
├── lib/              # Utilities and types
├── docs/             # Documentation
└── public/           # Static assets
```

## License

MIT
