45 lines
2.7 KiB
Markdown
45 lines
2.7 KiB
Markdown
# 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. Укажите совместимые ОС/ядра и известные ограничения.
|
||
|