docs: add contributor guide and compatibility matrix
This commit is contained in:
44
CONTRIBUTING.md
Normal file
44
CONTRIBUTING.md
Normal file
@@ -0,0 +1,44 @@
|
||||
# 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. Укажите совместимые ОС/ядра и известные ограничения.
|
||||
|
||||
18
README.md
18
README.md
@@ -22,6 +22,20 @@ Current version: `v0.1.0`.
|
||||
- `sudo` / root privileges
|
||||
- Internet access for downloading binaries/artifacts
|
||||
|
||||
## Compatibility matrix
|
||||
|
||||
| Environment | Status | Notes |
|
||||
|---|---|---|
|
||||
| Ubuntu / Debian | ✅ Supported | Primary target for initial MVP (`apt`) |
|
||||
| Alma / Rocky / RHEL-family | ⚠️ Partial | Planned support paths exist, but this release focuses on core workflow verification |
|
||||
| Arch Linux | ⚠️ Partial | Generic support path in architecture, not fully validated in this release |
|
||||
| Fedora | ⚠️ Partial | Generic support path in architecture, not fully validated in this release |
|
||||
| `yum` / `dnf` | ⚠️ Partial | Service/dependency handling is planned for full parity |
|
||||
| `pacman` | ⚠️ Partial | Detection and abstraction are present, full validation pending |
|
||||
| `tmux` | ✅ Supported | Required for `tmux-systemd` mode |
|
||||
| `screen` | ✅ Supported | Optional service transport |
|
||||
| `systemd` | ✅ Supported | Required for autostart service modes |
|
||||
|
||||
## Supported cores
|
||||
|
||||
| Core | Default directory | Default port | Runtime | Protocol | Notes |
|
||||
@@ -204,3 +218,7 @@ sudo bash install.sh --version
|
||||
## Changelog
|
||||
|
||||
See [`CHANGELOG.md`](CHANGELOG.md).
|
||||
|
||||
## Contributing
|
||||
|
||||
Please read [`CONTRIBUTING.md`](CONTRIBUTING.md).
|
||||
|
||||
18
README.ru.md
18
README.ru.md
@@ -22,6 +22,20 @@
|
||||
- права `root` (или `sudo`)
|
||||
- доступ в интернет для загрузки артефактов
|
||||
|
||||
## Матрица совместимости
|
||||
|
||||
| Окружение | Статус | Комментарий |
|
||||
|---|---|---|
|
||||
| Ubuntu / Debian | ✅ Поддерживается | Основная целевая платформа для текущего MVP (`apt`) |
|
||||
| Alma / Rocky / RHEL-семейство | ⚠️ Частично | Роуты поддержки запланированы, финальная валидация в работе |
|
||||
| Arch Linux | ⚠️ Частично | Архитектурно предусмотрена поддержка, но пока не полностью провалидирована |
|
||||
| Fedora | ⚠️ Частично | Архитектурно предусмотрена поддержка, но пока не полностью провалидирована |
|
||||
| `yum` / `dnf` | ⚠️ Частично | Нужна доработка до полной валидации сервисов/зависимостей |
|
||||
| `pacman` | ⚠️ Частично | Есть детект и абстракция, полная валидация в следующих релизах |
|
||||
| `tmux` | ✅ Поддерживается | Требуется для режима `tmux-systemd` |
|
||||
| `screen` | ✅ Поддерживается | Опциональный тип запуска сервиса |
|
||||
| `systemd` | ✅ Поддерживается | Нужен для автозапуска в service-режимах |
|
||||
|
||||
## Поддерживаемые ядра
|
||||
|
||||
| Ядро | Директория по умолчанию | Порт | Runtime | Протокол | Примечание |
|
||||
@@ -201,6 +215,10 @@ sudo bash install.sh \
|
||||
sudo bash install.sh --version
|
||||
```
|
||||
|
||||
## Contributing
|
||||
|
||||
См. [`CONTRIBUTING.md`](CONTRIBUTING.md) для правил участия.
|
||||
|
||||
## Changelog
|
||||
|
||||
См. [`CHANGELOG.md`](CHANGELOG.md).
|
||||
|
||||
Reference in New Issue
Block a user