Repository navigation
cs 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 | 中文
Děkujeme za pomoc! VDBackup je navržen tak, aby se do něj snadno přispívalo. Tento návod vám řekne, kde co leží, a popisuje těch pár konvencí, které dodržujeme.
VDBackup je KernelSU/APatch/Magisk WebUI modul: shellové skripty + vanilla-JS WebUI + statické binárky pro každé ABI. Pro hlavní funkce není potřeba žádná aplikace. Viz ARCHITECTURE.md a docs/FILE-STRUCTURE.md.
Je to otevřený, root-native nástupce Swift Backup, Neo-Backup a Android-DataBackup - sjednocení jejich funkcí pod licencí AGPLv3, s importem existujících záloh Neo-Backup a Android-DataBackup, aby lidé mohli migrovat.
AI asistenti a agenti jsou zde plnohodnotnými přispěvateli, nikoli dodatečnou myšlenkou.
- Projekt je postaven tak, aby byl strojově čitelný: každé sloveso
helper.shvypíše jediný JSON objekt, engine je obyčejný POSIX shell a rozložení souborů je zdokumentováno v docs/FILE-STRUCTURE.md. - Agent může spravovat každý obsah a akci modulu bezhlavě (headless) přes tohle JSON API - kompletní řídicí plocha, slovesa a bezpečnostní mantinely jsou v docs/AI-AGENTS.md.
- Záplaty vytvořené s pomocí AI jsou posuzovány a přijímány za stejných podmínek jako jakékoli jiné - podle správnosti, srozumitelnosti a níže uvedených konvencí, nikoli podle toho, kdo (nebo co) je napsal.
- Pokud řídíte VDBackup z agenta, používejte jako smlouvu JSON výstup
helper.sh; nescrapujte WebUI. - Stejná laťka pro všechny: skutečné funkce se nikdy neoslabují, tajemství a data zařízení se nikdy nedostanou do repozitáře (viz striktní .gitignore) a měnící akce zůstávají potvrzované a auditované.
- K testování potřebujete rootnuté zařízení/emulátor (KernelSU, APatch nebo Magisk).
- Sestavte flashovatelný zip:
cd module && zip -r9 ../VD-Backup-dev.zip .a poté ho flashněte. - WebUI je
module/webroot/(otevřete ho ze správce rootu). Backend jemodule/helper.sh(dispatcher) amodule/worker.sh(odpojený engine). - Nativní binárky žijí v
module/bin/<abi>/a vytváří je CI (.github/scripts/build_bin.sh); běžně je ručně nepřekompilováváte.
-
Každý zdrojový soubor (
.sh,.js,.css,.html,.svg,.yml) začíná banner hlavičkou projektu (zkopírujte ji z libovolného existujícího souboru). Bez výjimek. - Kód a komentáře v angličtině. Udržujte komentáře minimální a jen tam, kde jsou potřeba.
-
Žádná em-dash ani en-dash; vždy používejte obyčejný spojovník
-. - WebUI je vanilla JS (jeden
scripts.js); žádné frameworky. S rootem komunikujte jen přes wrapperhelper(verb, args)a escapujte každou interpolovanou hodnotu. - Nikdy neoslabujte skutečnou funkci (např. zachování SELinux/uid/gid/režimů).
- Měnící akce (obnova, mazání) musí vyžádat potvrzení a zapsat auditní log.
- Řetězce UI žijí v
module/webroot/lang/. Angličtina je kanonický fallback (en.js+en.json); ostatních 20 jazyků jsou<code>.json. - Pro přidání nebo změnu řetězce: upravte
en.jsaen.json, poté aktualizujte každý<code>.json. Dotknout se viditelného popisku znamená aktualizovat všechny jazykové soubory a všechnyREADME.<code>.md. - Překlady jsou obyčejný JSON - skvělý první příspěvek. Viz seznam jazyků v
module/webroot/i18n.js.
- Udržujte PR zaměřené. Popište co a proč.
- Podepište své commity (DCO):
git commit -s(přidáSigned-off-by:). - CI musí zůstat zelená. Buďte v recenzích laskaví - viz CODE_OF_CONDUCT.md.
Hledejte štítky good first issue a help wanted. Překlady, dokumentace, nové
předvolby destinací rclone a vylepšování WebUI jsou skvělé výchozí body.