# CONTRIBUTING

Спасибо за желание помочь проекту `tg-ws-proxy`.

## Перед созданием issue

1. Проверьте документацию в `docs/README.md`.
2. Убедитесь, что похожий issue еще не открыт.
3. Для корректной работы triage используйте стандартные лейблы из `.github/labels.md`.

## Как сообщать о проблемах

- Используйте шаблон `Проблема`.
- По возможности укажите:
  - версию приложения,
  - ОС,
  - шаги воспроизведения,
  - ожидаемое и фактическое поведение,
  - лог-файл или текст ошибки.

Чем точнее описание, тем быстрее можно помочь.

## Локальный запуск из исходников

Требуется Python `>=3.8`.

```bash
pip install -e .
```

Запуск:

- консольный режим: `tg-ws-proxy`
- Windows tray: `tg-ws-proxy-tray-win`
- macOS tray: `tg-ws-proxy-tray-macos`
- Linux tray: `tg-ws-proxy-tray-linux`

Подробности: `docs/BuildFromSource.md`.

## Проверки

Тесты используют только стандартную библиотеку, дополнительные зависимости не нужны:

```bash
python -m unittest discover -s tests -t .
```

Линтер (`ruff` настроен в `pyproject.toml`):

```bash
ruff check .
```

## Pull Request

Перед открытием PR:

1. Убедитесь, что изменение решает конкретную проблему.
2. Проверьте, что не сломаны существующие сценарии: запустите тесты и линтер.
3. Обновите документацию, если меняется поведение или настройка.

Небольшие и сфокусированные PR проверяются и принимаются быстрее.
