<commit_before>### NuSelfUpdate ###
NuSelfUpdate allows you to easily update your applications by simply 
publishing a new version to a NuGet package repository.

NuSelfUpdate will handle everything that is needed to download the new
version, extract it and switch the application's executable files with
the new version.  It will do all this while your application is running;
so you can install updates in the background and next time the application
is run it will be the new version. To top it all off you can easily relaunch
the new version of the application with the same command line arguments the
app was originally with.

Source Repositories
-------------------
git: [github](https://github.com/caleb-vear/NuSelfUpdate)
 hg: [bitbucket](https://bitbucket.org/calebvear/nuselfupdate)

An Example
----------

NuSelfUpdate lets you write code like this:

```c#
    
    static void Main()
    {
        var appUpdater = CreateAppUpdater();
        
		// This will run the UpdateDatabase method if this is the first 
		// time we have run the application after an update is installed.
        if (appUpdater.JustInstalledUpdates)
		{
			UpgradeDatabase();
			appUpdater.RemoveOldFilesAndClearJustInstalledUpdates();
		}
        
        var updateCheck = appUpdater.CheckForUpdate();
        
        if (updateCheck.UpdateAvailable)<commit_msg>Updated readme with spiel about contributing<commit_after>### NuSelfUpdate ###
NuSelfUpdate allows you to easily update your applications by simply 
publishing a new version to a NuGet package repository.

NuSelfUpdate will handle everything that is needed to download the new
version, extract it and switch the application's executable files with
the new version.  It will do all this while your application is running;
so you can install updates in the background and next time the application
is run it will be the new version. To top it all off you can easily relaunch
the new version of the application with the same command line arguments the
app was originally with.

Contributing
------------
Contributions are welcome; fork NuSelfUpdate and submit a pull request :) 
If your looking for something to do you can always check out [issues page](https://github.com/caleb-vear/NuSelfUpdate/issues)
to see what features or bugs need some work.  If you have an awesome idea feel free to submit an [issue](https://github.com/caleb-vear/NuSelfUpdate/issues/new), but pull requests are best.

You can clone/fork NuSelfUpdate with either git or mercurial:
* [github](https://github.com/caleb-vear/NuSelfUpdate)
* [bitbucket](https://bitbucket.org/calebvear/nuselfupdate)

An Example
----------

NuSelfUpdate lets you write code like this:

```c#
    
    static void Main()
    {
        var appUpdater = CreateAppUpdater();
        
		// This will run the UpdateDatabase method if this is the first 
		// time we have run the application after an update is installed.
        if (appUpdater.JustInstalledUpdates)
		{
			UpgradeDatabase();
			appUpdater.RemoveOldFilesAndClearJustInstalledUpdates();
		}
        
        var updateCheck = appUpdater.CheckForUpdate();
        
        if (updateCheck.UpdateAvailable)
{'fraction_non_alphanumeric': 0.07454200884396715, 'fraction_numerical': 0.0, 'mean_word_length': 3.511396011396011, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 6, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '993828', 'n_tokens_mistral': 856, 'n_tokens_neox': 824, 'n_words': 370}