Repository navigation
uk 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 на чистому JS + статичні бінарники для кожного ABI. Для основних функцій застосунок не потрібен. Див. ARCHITECTURE.md і docs/FILE-STRUCTURE.md.
Це відкритий, root-native наступник Swift Backup, Neo-Backup та Android-DataBackup: об'єднання їхніх функцій під ліцензією AGPLv3, з імпортом наявних резервних копій Neo-Backup та Android-DataBackup, щоб люди могли перейти.
Асистенти та агенти на основі ШІ тут повноправні учасники, а не щось другорядне.
- Проєкт зроблено придатним для читання машинами: кожне дієслово
helper.shвиводить єдиний об'єкт JSON, рушій: це звичайний POSIX shell, а структуру файлів задокументовано в docs/FILE-STRUCTURE.md. - Агент може керувати кожним вмістом та дією модуля безголово через цей 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-тире чи en-тире; завжди використовуйте звичайний дефіс
-. - WebUI: це чистий JS (один
scripts.js); без фреймворків. Спілкуйтеся з root лише через обгорткуhelper(verb, args)та екрануйте кожне інтерпольоване значення. - Ніколи не послаблюйте справжню функцію (наприклад, збереження SELinux/uid/gid/режимів).
- Дії, що змінюють стан (відновлення, видалення), мусять запитувати підтвердження й писати журнал аудиту.
- Рядки інтерфейсу лежать у
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.