Repository navigation
ja 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 は KernelSU/APatch/Magisk WebUI モジュール です。シェルスクリプト + バニラ JS の WebUI + ABI ごとの静的バイナリで構成されます。コア機能にアプリは不要です。 ARCHITECTURE.md と docs/FILE-STRUCTURE.md を参照してください。
これは、オープンでルートネイティブな Swift Backup、Neo-Backup、Android-DataBackup の後継 です。 それらの機能を AGPLv3 のもとに統合し、既存の Neo-Backup および Android-DataBackup バックアップの インポートに対応することで、移行を可能にします。
AI アシスタントやエージェントは、ここでは後付けではなく一級のコントリビューターです。
- このプロジェクトは機械可読であるように作られています。すべての
helper.shの verb は単一の JSON オブジェクトを出力し、エンジンは素の POSIX シェルで、ファイル配置は docs/FILE-STRUCTURE.md に文書化されています。 - エージェントは、その JSON API を通じてモジュールの すべて のコンテンツとアクションを ヘッドレスで管理できます。完全な制御面、verb、安全ガードは docs/AI-AGENTS.md にあります。
- AI 支援によるパッチは、他のあらゆるパッチと同じ基準でレビュー・受理されます。すなわち、 誰が(あるいは何が)書いたかではなく、正確さ、明快さ、そして以下の慣習によって判断されます。
- エージェントから VDBackup を操作する場合は、
helper.shの JSON 出力を 契約として使用してください。WebUI をスクレイピングしないでください。 - 全員に同じ基準です。実際の機能が弱められることは決してなく、シークレットやデバイスデータが リポジトリに入ることは決してなく(厳格な .gitignore を参照)、変更を伴う アクションは確認と監査を伴い続けます。
- テストにはルート化されたデバイス/エミュレータ(KernelSU、APatch、Magisk)が必要です。
- フラッシュ可能な zip をビルド:
cd module && zip -r9 ../VD-Backup-dev.zip .してからフラッシュします。 - WebUI は
module/webroot/(ルートマネージャから開きます)です。バックエンドは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 は バニラ JS(単一の
scripts.js)です。フレームワークなし。ルートとの通信は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 を参照してください。