initial commit

This commit is contained in:
2025-12-21 11:43:22 -06:00
parent 1f7eb01afb
commit d28de69bcb
28 changed files with 4067 additions and 108 deletions

View File

@@ -1,36 +1,66 @@
This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app).
# Downlink - YouTube Downloader
## Getting Started
A sleek Next.js application for downloading YouTube videos and audio in various formats.
First, run the development server:
## Features
```bash
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
- 🎥 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
```
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
## License
You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.
This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel.
## Learn More
To learn more about Next.js, take a look at the following resources:
- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome!
## Deploy on Vercel
The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.
MIT