# GeneralUpdate.Tools **Repository Path**: GeneralLibrary/GeneralUpdate.Tools ## Basic Information - **Project Name**: GeneralUpdate.Tools - **Description**: GeneralUpdate.Tools - **Primary Language**: C# - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 12 - **Forks**: 11 - **Created**: 2023-01-14 - **Last Updated**: 2026-06-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # GeneralUpdate.Tools Cross-platform desktop packaging tool built with **Avalonia 12 + Semi Theme** for the [GeneralUpdate](https://github.com/GeneralLibrary/GeneralUpdate) ecosystem. Generates incremental update patches, extension packages, and OSS configurations. [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE) [![.NET](https://img.shields.io/badge/.NET-10.0-purple.svg)](https://dotnet.microsoft.com/) [![Avalonia](https://img.shields.io/badge/Avalonia-12.0-orange.svg)](https://avaloniaui.net/) ## Features ### πŸ“¦ Patch Package Select two directories (old vs new), generate a BSDiff40 differential patch package (`.zip`) with one click. Ready for direct consumption by the GeneralUpdate client. - 6 manual-input fields, no auto-detection - Auto-identifies added / modified / deleted files - Output includes `*.patch` files + `delete_files.json` ### 🧩 Extension Package Package extension projects as `{Name}_{Version}.zip` with embedded `manifest.json` metadata (name, version, publisher, license, etc.). ### βš™οΈ OSS Config Manage OSS update manifests β€” compute SHA256 hashes, batch export JSON configurations. ## i18n & Theme - **δΈ­ζ–‡ / English** toggle in sidebar - **Light / Dark** theme with full Semi control library support ## Quick Start ### Prerequisites - .NET 10.0 SDK - Windows or Linux ### Run ```bash cd src dotnet run ``` ### Publish ```bash dotnet publish -c Release -r win-x64 -p:PublishSingleFile=true dotnet publish -c Release -r linux-x64 -p:PublishSingleFile=true ``` ## Project Structure ``` src/ β”œβ”€β”€ GeneralUpdate.Tools.csproj β”œβ”€β”€ App.axaml Semi v12 theme β”œβ”€β”€ Models/ Data models β”œβ”€β”€ Services/ Diff / Package / Hash β”œβ”€β”€ ViewModels/ MVVM view models β”œβ”€β”€ Views/ XAML views └── Assets/ ``` ## Alignment with GeneralUpdate Client Tools output `.zip` packages are consumed directly by the client Pipeline β€” no intermediate configuration bridge needed. ## License Apache 2.0