<commit_before># Bounce

A task runner for .Net.

(theme track: [Bounce, Rock, Skate, Roll - Vaughan Mason & Crew](http://www.youtube.com/watch?v=dGMD0O7GGP8&feature=related))

## Install

Bounce can be found on [NuGet](http://nuget.org/List/Packages/Bounce), simply:

    PM> Install-Package Bounce

Then, make sure that your bounce project's output directory is the `Bounce` folder, in the root of your solution. `bounce.exe` looks for this folder in the current and all parent directories. For example, go to your project settings, go to the **Build** tab, then enter `..\Bounce` into the **Output path** box.

## What is it good for?

Put simply, it's a way to create a project toolbox that can be operated from the command line, not unlike [Rake](http://rake.rubyforge.org/).

Imagine you have this in your project:

    using System;
    using Bounce.Framework;

    namespace MyProject.Bounce {
        public class Stuff {
            [Task]
            public void HelloWorld() {
                Console.WriteLine("hello, world!");
            }
        }
    }

You could easily call it from the command line like this:

    > bounce HelloWorld
    hello, world!

Of course, you can pass arguments too:

    using System;
    using Bounce.Framework;

    namespace MyProject.Bounce {
        public class Stuff {
            [Task]
            public void Hello(string name) {
                Console.WriteLine("hello, {0}!", name);
            }
        }
    }

Then:

    > bounce Hello /name Bob
    hello, Bob!

And those arguments can even have useful defaults:

    using System;
    using Bounce.Framework;

    namespace MyProject.Bounce {
        public class Stuff {
            [Task]
            public void Hello(string name = "all") {
                Console.WriteLine("hello, {0}!", name);
            }
        }
    }

Then:

    > bounce Hello
    hello, all!

And, if you've forgotten what you can do, just run bounce and it will tell you:

    > bounce
    usage: bounce task [options]

    tasks:

        MyProject.Bounce.Stuff.HelloWorld

        MyProject.Bounce.Stuff.Hello
            /name:string = all


## Naming your tasks project

Ensure your assembly produces an assembly ending with ".Bounce.dll" or an executable ending with ".Bounce.exe" (both case-insensitive). Bounce only looks for tasks in these assemblies, so that it can start up really quickly.

Bounce has a bunch of utilities that make it easy to build VisualStudio projects, as well as deploy to IIS sites. More documentation to come.<commit_msg>naming your tasks readme sentence that actually makes sense<commit_after># Bounce

A task runner for .Net.

(theme track: [Bounce, Rock, Skate, Roll - Vaughan Mason & Crew](http://www.youtube.com/watch?v=dGMD0O7GGP8&feature=related))

## Install

Bounce can be found on [NuGet](http://nuget.org/List/Packages/Bounce), simply:

    PM> Install-Package Bounce

Then, make sure that your bounce project's output directory is the `Bounce` folder, in the root of your solution. `bounce.exe` looks for this folder in the current and all parent directories. For example, go to your project settings, go to the **Build** tab, then enter `..\Bounce` into the **Output path** box.

## What is it good for?

Put simply, it's a way to create a project toolbox that can be operated from the command line, not unlike [Rake](http://rake.rubyforge.org/).

Imagine you have this in your project:

    using System;
    using Bounce.Framework;

    namespace MyProject.Bounce {
        public class Stuff {
            [Task]
            public void HelloWorld() {
                Console.WriteLine("hello, world!");
            }
        }
    }

You could easily call it from the command line like this:

    > bounce HelloWorld
    hello, world!

Of course, you can pass arguments too:

    using System;
    using Bounce.Framework;

    namespace MyProject.Bounce {
        public class Stuff {
            [Task]
            public void Hello(string name) {
                Console.WriteLine("hello, {0}!", name);
            }
        }
    }

Then:

    > bounce Hello /name Bob
    hello, Bob!

And those arguments can even have useful defaults:

    using System;
    using Bounce.Framework;

    namespace MyProject.Bounce {
        public class Stuff {
            [Task]
            public void Hello(string name = "all") {
                Console.WriteLine("hello, {0}!", name);
            }
        }
    }

Then:

    > bounce Hello
    hello, all!

And, if you've forgotten what you can do, just run bounce and it will tell you:

    > bounce
    usage: bounce task [options]

    tasks:

        MyProject.Bounce.Stuff.HelloWorld

        MyProject.Bounce.Stuff.Hello
            /name:string = all


## Naming your tasks project

Ensure your project produces an assembly ending with ".Bounce.dll" or an executable ending with ".Bounce.exe" (both case-insensitive). Bounce only looks for tasks in these assemblies, so that it can start up really quickly.

Bounce has a bunch of utilities that make it easy to build VisualStudio projects, as well as deploy to IIS sites. More documentation to come.
{'fraction_non_alphanumeric': 0.08467663624004661, 'fraction_numerical': 0.0019421246844047388, 'mean_word_length': 2.5298149417409186, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 13, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5053657', 'n_tokens_mistral': 1496, 'n_tokens_neox': 1401, 'n_words': 589}