- Зачем: - README перегружен деталями GPU/бенчмарков, нет Quick Start, macOS/Windows — второй класс. - системный ffmpeg не нужен — PyAV (зависимость faster-whisper) включает FFmpeg в wheels. - Что: - переписан README: Quick Start в первых строках, установка без клонирования через uv tool install, паритет платформ, progressive disclosure через <details>. - удалена функция check_ffmpeg() из utils.py, убраны импорт и вызовы из cli.py. - убраны моки check_ffmpeg и тест ffmpeg-ошибки из test_cli.py. - GPU-контент вынесен в docs/gpu.md, добавлен CONTRIBUTING.md. - Проверка: - uv run pytest — 97 passed, 1 skipped. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
46 lines
1.7 KiB
Markdown
46 lines
1.7 KiB
Markdown
# Contributing
|
|
|
|
## Быстрый старт для разработчика
|
|
|
|
```bash
|
|
git clone https://github.com/dementev-dev/local-transcriber
|
|
cd local-transcriber
|
|
uv sync
|
|
```
|
|
|
|
## Запуск
|
|
|
|
```bash
|
|
uv run transcribe meeting.mp4 # CLI
|
|
uv run pytest # тесты
|
|
uv run pytest -v # подробный вывод тестов
|
|
```
|
|
|
|
## Структура проекта
|
|
|
|
```
|
|
src/local_transcriber/
|
|
├── cli.py # Точка входа CLI (typer)
|
|
├── config.py # Загрузка .transcriber.toml, device-aware дефолты
|
|
├── formatter.py # Форматирование результата в markdown
|
|
├── transcriber.py # Обёртка над faster-whisper (загрузка модели, транскрипция)
|
|
└── utils.py # Утилиты: валидация файлов, детект устройства, глобы
|
|
tests/
|
|
├── test_cli.py # Тесты CLI (typer runner + моки)
|
|
└── ...
|
|
```
|
|
|
|
## Соглашения
|
|
|
|
- Тесты: `uv run pytest` должен проходить перед PR
|
|
- Стиль: стандартный Python (ruff-совместимый)
|
|
- Коммиты: [Conventional Commits](https://www.conventionalcommits.org/)
|
|
- Язык кода: английский (имена, комментарии); UI-строки для пользователя — русский
|
|
|
|
## Как сделать PR
|
|
|
|
1. Форкните репозиторий
|
|
2. Создайте ветку: `git checkout -b feat/my-feature`
|
|
3. Убедитесь, что тесты проходят: `uv run pytest`
|
|
4. Откройте Pull Request с описанием изменений
|