Repository navigation
ru CONTRIBUTING
Languages: English | العربية | Čeština | Deutsch | Español | فارسی | Français | हिन्दी | Bahasa Indonesia | Italiano | 日本語 | 한국어 | Nederlands | Polski | Português | Русский | Svenska | ไทย | Türkçe | Tiếng Việt | 中文
Спасибо за помощь! VDBackup задуман так, чтобы в него было легко вносить вклад. Это руководство подскажет, где что находится, и немногочисленные соглашения, которых мы придерживаемся.
VDBackup - это WebUI-модуль KernelSU/APatch/Magisk: shell-скрипты + WebUI на vanilla-JS
- статические бинарники для каждого ABI. Для основных функций приложение не требуется. См. ARCHITECTURE.md и docs/FILE-STRUCTURE.md.
Это открытый, root-нативный преемник Swift Backup, Neo-Backup и Android-DataBackup - объединение их функций под AGPLv3, с импортом существующих резервных копий Neo-Backup и Android-DataBackup, чтобы люди могли мигрировать.
ИИ-ассистенты и агенты здесь полноправные участники, а не что-то второстепенное.
- Проект создан машиночитаемым: каждый глагол
helper.shпечатает единственный JSON-объект, движок - это обычный POSIX shell, а раскладка файлов задокументирована в docs/FILE-STRUCTURE.md. - Агент может администрировать любой контент и действие модуля headless через этот JSON API - вся поверхность управления, глаголы и предохранители описаны в docs/AI-AGENTS.md.
- Патчи, созданные с помощью ИИ, рассматриваются и принимаются на тех же условиях, что и любые другие - по корректности, ясности и соглашениям ниже, а не по тому, кто (или что) их написал.
- Если вы управляете VDBackup из агента, используйте JSON-вывод
helper.shкак контракт; не парсите WebUI. - Планка одинакова для всех: реальные функции никогда не ослабляются, секреты и данные устройства никогда не попадают в репозиторий (см. строгий .gitignore), а изменяющие действия остаются подтверждёнными и запротоколированными.
- Для тестирования вам нужно устройство/эмулятор с root (KernelSU, APatch или Magisk).
- Соберите прошиваемый zip:
cd module && zip -r9 ../VD-Backup-dev.zip ., затем прошейте его. - WebUI находится в
module/webroot/(откройте его из root-менеджера). Бэкенд - этоmodule/helper.sh(диспетчер) иmodule/worker.sh(отсоединённый движок). - Нативные бинарники находятся в
module/bin/<abi>/и производятся CI (.github/scripts/build_bin.sh); обычно вы не пересобираете их вручную.
-
Каждый исходный файл (
.sh,.js,.css,.html,.svg,.yml) начинается с баннера-заголовка проекта (скопируйте его из любого существующего файла). Без исключений. - Код и комментарии на английском. Комментарии держите минимальными и только там, где нужно.
-
Никаких em-dash или en-dash; всегда используйте обычный дефис
-. - WebUI - это vanilla JS (один
scripts.js); без фреймворков. Обращайтесь к root только через обёрткуhelper(verb, args)и экранируйте каждое интерполируемое значение. - Никогда не ослабляйте реальную функцию (например, сохранение SELinux/uid/gid/режимов).
- Изменяющие действия (восстановление, удаление) должны запрашивать подтверждение и писать журнал аудита.
- UI-строки находятся в
module/webroot/lang/. Английский - канонический запасной вариант (en.js+en.json); остальные 20 языков - это<code>.json. - Чтобы добавить или изменить строку: отредактируйте
en.jsиen.json, затем обновите каждый<code>.json. Правка видимой надписи означает обновление всех языковых файлов и всехREADME.<code>.md. - Переводы - это обычный JSON, отличный первый вклад. См. список языков в
module/webroot/i18n.js.
- Держите PR сфокусированными. Описывайте что и зачем.
- Подписывайте свои коммиты (DCO):
git commit -s(добавляетSigned-off-by:). - CI должен оставаться зелёным. Будьте доброжелательны в ревью - см. CODE_OF_CONDUCT.md.
Ищите метки good first issue и help wanted. Переводы, документация, новые
пресеты назначений rclone и полировка WebUI - всё это отличные отправные точки.
Эта документация была сгенерирована с помощью Claude (Anthropic) и сопровождается VD171. Исправления и улучшения приветствуются - см. CONTRIBUTING.md.