From ba9a82fb37b4ac11cb06365d35bb2588f5b7447e Mon Sep 17 00:00:00 2001 From: Caelan Sayler Date: Fri, 5 Jan 2024 11:18:57 +0000 Subject: [PATCH] Update main readme [no ci] --- README.md | 73 +++++++++++++++++++++++++++++++++++++++++--- docs/contributing.md | 1 + docs/migrating.md | 1 + docs/readme.md | 1 + examples/readme.md | 3 ++ 5 files changed, 74 insertions(+), 5 deletions(-) create mode 100644 docs/contributing.md create mode 100644 docs/migrating.md create mode 100644 examples/readme.md diff --git a/README.md b/README.md index 73c3edb1..fe43691e 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,76 @@ + + + Velopack Logo + + +--- + [![Nuget](https://img.shields.io/nuget/v/Velopack?style=flat-square)](https://www.nuget.org/packages/Velopack/) [![Discord](https://img.shields.io/discord/767856501477343282?style=flat-square&color=purple)](https://discord.gg/CjrCrNzd3F) [![Build](https://img.shields.io/github/actions/workflow/status/velopack/velopack/build.yml?branch=develop&style=flat-square)](https://github.com/velopack/velopack/actions) [![Codecov](https://img.shields.io/codecov/c/github/velopack/velopack?style=flat-square)](https://app.codecov.io/gh/velopack/velopack) [![License](https://img.shields.io/github/license/velopack/velopack?style=flat-square)](https://github.com/velopack/velopack/blob/develop/LICENSE) -# Velopack +Velopack is a setup / installation framework for cross-platform dotnet applications. Great out-of-the-box development experience, with zero configuration or setup needed. Lightning fast to use, and lightning fast for your users, too. - - - Velopack Logo - +## Features +- 😍 **Zero config** – Velopack takes your dotnet build output (eg. `dotnet publish`), and generates an installer, and update package in a single command. +- 🎯 **Cross platform** – Velopack supports building packages for Windows and OSX, with Linux on the way. No matter your target, Velopack can create a release in just one command. +- 🚀 **Automatic migrations** - If you are coming from [Squirrel.Windows](https://github.com/Squirrel/Squirrel.Windows) or [Clowd.Squirrel](https://github.com/clowd/Clowd.Squirrel), Velopack will automatically migrate your application. Just build your Velopack release and deploy! [Read more.](docs/migrating.md) +- ⚡️ **Lightning fast** – Velopack is written in Rust for native performance. Creating releases is multi-threaded, and produces delta packages for fast app updates. Applying update packages is highly optimised, and often can be done in the background. + +## Getting Started +This is a very simple example of the steps you would take to generate an installer and update packages for your application. Be sure to read the documentation for an overview of more features! + +1. Install the command line tool `vpk`: + ```cmd + dotnet tool install -g vpk + ``` +2. Install the [Velopack NuGet Package](https://www.nuget.org/packages/velopack) in your main project: + ```cmd + dotnet add package Velopack + ``` +3. Configure your Velopack app at the beginning of `Program.Main`: + ```cs + static void Main(string[] args) + { + VelopackApp.Build().Run(); + } + ``` +4. Publish dotnet and build your first Velopack release! 🎉 + ```cmd + dotnet publish -c Release --self-contained -r win-x64 -o publish + vpk pack -u YourAppId -v 1.0.0 + ``` +5. Add automatic updating to your app: + ```cs + private static async Task UpdateMyApp() + { + var mgr = new UpdateManager("https://the.place/you-host/updates"); + + // check for new version + var newVersion = await mgr.CheckForUpdatesAsync(); + if (newVersion == null) + return; // no update available + + // download new version + await mgr.DownloadUpdatesAsync(newVersion); + + // install new version and restart app + mgr.ApplyUpdatesAndRestart(); + } + ``` + +## Documentation +- 📖 [Read the docs](docs) +- 🕶️ [View example apps](examples) + +## Community +- ❓ Ask questions, get support, or discuss ideas on [our Discord server](https://discord.gg/CjrCrNzd3F) +- 🗣️ Report bugs on [GitHub Issues](https://github.com/velopack/velopack/issues) + + +## Contributing +- 💬 Join us on [Discord](https://discord.gg/CjrCrNzd3F) to get involved in dev discussions +- 🚦 Read our [contributing guidelines](docs/contributing.md) \ No newline at end of file diff --git a/docs/contributing.md b/docs/contributing.md new file mode 100644 index 00000000..460e9e4b --- /dev/null +++ b/docs/contributing.md @@ -0,0 +1 @@ +tbc \ No newline at end of file diff --git a/docs/migrating.md b/docs/migrating.md new file mode 100644 index 00000000..460e9e4b --- /dev/null +++ b/docs/migrating.md @@ -0,0 +1 @@ +tbc \ No newline at end of file diff --git a/docs/readme.md b/docs/readme.md index e69de29b..460e9e4b 100644 --- a/docs/readme.md +++ b/docs/readme.md @@ -0,0 +1 @@ +tbc \ No newline at end of file diff --git a/examples/readme.md b/examples/readme.md new file mode 100644 index 00000000..31b2690c --- /dev/null +++ b/examples/readme.md @@ -0,0 +1,3 @@ +# Velopack Examples + +- [**AvaloniaCrossPlat**](AvaloniaCrossPlat) - this Example app uses Avalonia to provide a desktop UI for Mac and Windows. The provided build scripts (`build-win.bat` and `build-osx.sh`) will compile Velopack dependencies, so check that you've installed the [Velopack compiling prerequisites](../docs/compiling.md) before cloning this repository. \ No newline at end of file