Thank you for your interest in contributing! This guide will help you get started.
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/youtube-transcript-extractor.git - Create a branch:
git checkout -b feature/your-feature-name - Install dependencies:
make setup - Start development:
make dev
- Node.js 20+
- Python 3.12+
- Docker (optional, for containerized development)
# Backend (Terminal 1)
cd backend
pip install -r requirements.txt
python app.py
# Frontend (Terminal 2)
cd frontend
npm install
npx prisma db push
npm run devdocker compose -f docker-compose.dev.yml up --build- ESLint for linting
- Prettier for formatting
- TypeScript strict mode
- flake8 for linting (max line length: 120)
- Type hints encouraged
- Docstrings for public functions
- Ensure your code passes all checks:
make lint && make test - Update documentation if you changed behavior
- Write a clear PR description explaining what and why
- One feature per PR -- keep changes focused
Use the bug report template and include:
- Steps to reproduce
- Expected vs actual behavior
- Environment details (OS, browser, Docker version)
Use the feature request template and include:
- Problem description
- Proposed solution
- Alternatives considered
Be respectful and constructive. We're all here to build something useful.
Open an issue -- we're happy to help!