77 lines
1.5 KiB
Plaintext
77 lines
1.5 KiB
Plaintext
# Contributing
|
|
|
|
Thanks for your interest in contributing! 🎉
|
|
This project aims to stay **simple, stable, and template-friendly**, so please read this first.
|
|
|
|
---
|
|
|
|
## 🧭 Project Principles
|
|
|
|
- **Caption-only** (no audio/video downloads)
|
|
- **Stateless** (no database required)
|
|
- **Railway & Docker friendly**
|
|
- **Minimal dependencies**
|
|
- **Clear API contracts**
|
|
|
|
Changes that break these principles are unlikely to be accepted.
|
|
|
|
---
|
|
|
|
## 🐛 Reporting Bugs
|
|
|
|
Please include:
|
|
- The YouTube URL used
|
|
- Expected vs actual behavior
|
|
- Logs or error messages
|
|
- Whether captions were human or auto-generated
|
|
|
|
Open an issue with a clear title and reproduction steps.
|
|
|
|
---
|
|
|
|
## ✨ Feature Requests
|
|
|
|
Good feature requests:
|
|
- Improve caption parsing / cleanup
|
|
- Better validation or error messages
|
|
- Performance or stability improvements
|
|
- Optional flags that do NOT break defaults
|
|
|
|
Please avoid:
|
|
- Adding mandatory databases
|
|
- Downloading media files
|
|
- Authentication requirements
|
|
|
|
---
|
|
|
|
## 🧪 Development Setup
|
|
|
|
```bash
|
|
python -m venv .venv
|
|
source .venv/bin/activate # Windows: .venv\Scripts\activate
|
|
pip install -r requirements.txt
|
|
uvicorn app.main:app --reload
|
|
```
|
|
|
|
Open:
|
|
```
|
|
http://localhost:8000/docs
|
|
```
|
|
|
|
---
|
|
|
|
## 🧹 Code Style
|
|
|
|
- Python 3.12+ compatible
|
|
- Use type hints
|
|
- Keep functions small and readable
|
|
- Avoid over-engineering
|
|
|
|
---
|
|
|
|
## 📜 License
|
|
|
|
By contributing, you agree that your contributions will be licensed under the **MIT License**.
|
|
|
|
Thank you for helping improve the project 🙌
|