# Contributing to AstraDeploy Спасибо за интерес к проекту! Любой вклад welcome: фиксы багов, улучшения UX, новые ядра, новые локали. ## Как разрабатывать 1. Склонируйте/проверьте локальный репозиторий. 2. Работайте в отдельной ветке (рекомендуется). 3. Изменения делайте минимальными и атомарными по смыслу. 4. Смотрите локаль: тексты и подсказки лучше держать в `locales/*.sh`, а не разбрасывать по скриптам. ## Полезные принципы - `install.sh` хранит общий lifecycle; ядра — в `cores/*.sh`. - Не меняйте поведение без флага по умолчанию, если это может сломать автоматический режим. - Для новых параметров: - добавьте парсинг в `install.sh`; - добавьте локализацию в `locales/en.sh` и `locales/ru.sh`; - проверьте сценарии `--yes`, `--easy`, `--dry-run`, `--force-clean`, `--accept-license`. - При добавлении новых ядер: - создайте новый файл в `cores/`; - добавьте запись в `manifests/cores.json`; - обновите `install.sh --help` список ядер. ## Стиль и формат - Bash: избегайте сложных однострочников, лучше явные переменные и функции. - Локали и тексты: используйте существующие ключи/шаблоны в `locales`. - Логи: новые важные шаги добавляйте через `info/warn/error` из `lib/logger.sh`. ## Отладка и проверки - Для быстрого прогона используйте `--dry-run`. - При проблемах с внешним окружением: - `--debug` покажет расширенные шаги; - просматривайте лог в `/var/log/astra-deploy/`. - Проверки не должны ломать установку на старте — лучше мягко предупреждать и продолжать fallback-логикой. ## Pull Request 1. Коротко опишите, что меняется и почему. 2. Приложите сценарий проверки (команды/флаги), который вы прогоняли. 3. Укажите совместимые ОС/ядра и известные ограничения.