SkillAgentSearch skills...

Towel

Throw in the towel.

Install / Use

/learn @ZacharyPatten/Towel

README

<p align="center"> <a href="#"><img src="https://github.com/ZacharyPatten/Towel/blob/main/.github/Resources/Logo.svg?raw=true" height="150"></a> </p> <h1 align="center"> Towel </h1> <p align="center"> A .NET library intended to make coding a bit more towelerable: data structures, algorithms, mathematics, metadata, extensions, console, and more. :) </p>

"It's a tough galaxy. If you want to survive, you've gotta know... where your towel is." - Ford Prefect

<p align="center"> <a href="https://github.com/ZacharyPatten/Towel"><img src="https://img.shields.io/badge/github-repo-%2324292e?logo=github" title="Go To Github Repo"></a> <a href="https://docs.microsoft.com/en-us/dotnet/csharp/"><img src="https://img.shields.io/badge/language-C%23-%23178600" title="Go To C# Documentation"></a> <a href="https://dotnet.microsoft.com/download"><img src="https://img.shields.io/badge/dynamic/xml?color=%23512bd4&label=target&query=%2F%2FTargetFramework%5B1%5D&url=https%3A%2F%2Fraw.githubusercontent.com%2FZacharyPatten%2FTowel%2Fmain%2FSources%2FTowel%2FTowel.csproj&logo=.net" title="Go To .NET Download"></a> <a href="https://www.nuget.org/packages/Towel"><img src="https://img.shields.io/nuget/v/Towel.svg?logo=nuget" title="Go To Nuget Package" /></a> <a href="https://zacharypatten.github.io/Towel/index.html"><img src="https://github.com/ZacharyPatten/Towel/blob/main/.github/Resources/docfx-badge.svg?raw=true" title="Go To Docfx Documentation"></a> <a href="https://github.com/ZacharyPatten/Towel/actions/workflows/Continuous%20Integration.yml"><img src="https://github.com/ZacharyPatten/Towel/actions/workflows/Continuous%20Integration.yml/badge.svg" title="Go To Action"></a> <a href="https://zacharypatten.github.io/Towel/coveragereport/index.html"><img src="https://img.shields.io/badge/dynamic/xml?color=yellow&label=coverage&query=%2F%2Fcoverage%5B1%5D%2F%40line-rate-percentage&url=https%3A%2F%2Fraw.githubusercontent.com%2FZacharyPatten%2FTowel%2Fgh-pages%2Fcoveragereport%2Fcoverage.xml" title="Go Test Coverage Report" /></a> <a href="https://discord.gg/4XbQbwF"><img src="https://img.shields.io/discord/557244925712924684?logo=discord&logoColor=ffffff&color=7389D8" title="Go To Discord Server" /></a> <a href="https://github.com/ZacharyPatten/Towel/blob/main/License.md"><img src="https://img.shields.io/badge/license-MIT-green.svg" title="Go To License" /></a> </p>

Note This project has a goal of keeping up-to-date on modern coding practices rather than maintaining backwards compatibility such as targetting the latest non-preview version of .NET and embracing favorable breaking changes ("Semantic Versioning" is not being respected at this time).

Getting Started

<details> <summary> Run The Included Examples <sub>[Expand]</sub> </summary> <p>

Towel has Examples included in this repository.

Download this repository and unzip the contents.

There are no custom build processes. Towel should build with any standard .NET build process, but one of the following is recommended:

<details> <summary> Visual Studio <sub>[Expand]</sub> </summary> <p>
  1. Install Visual Studio if not already installed.

  2. Open the <sub><a href="Towel.sln"><img src="https://raw.githubusercontent.com/ZacharyPatten/Towel/main/.github/Resources/file-16.svg" title="File"></a></sub> Towel.sln file in Visual Studio.

</p> </details> <details> <summary> Visual Studio Code <sub>[Expand]</sub> </summary> <p>
  1. Install the .NET SDK if not already installed.

  2. Install Visual Studio Code if not already installed.

  3. Open the <sub><a href="#"><img src="https://raw.githubusercontent.com/ZacharyPatten/Towel/main/.github/Resources/file-directory-16.svg" title="Directory"></a></sub> root folder of the repository in Visual Studio Code.

The following files are included in the repository:

  • .vscode/extensions.json <sub>recommends Vistual Studio Code extension dependencies</sub>
  • .vscode/launch.json <sub>includes the configurations for debugging the examples</sub>
  • .vscode/settings.json <sub>automatically applies settings to the workspace</sub>
  • .vscode/tasks.json <sub>includes the commands to build the projects</sub>

Visual Studio Code Extensions (will be prompted to install these when you open the folder):

  • ms-vscode.csharp <sub>C# support</sub>
  • formulahendry.dotnet-test-explorer (optional) <sub>MSTest unit testing support</sub>
  • aisoftware.tt-processor (optional) <sub>T4 Template support</sub>
  • zbecknell.t4-support (optional) <sub>T4 Template syntax highlighting</sub>
</p> </details>
</p> </details> <details> <summary> Use Towel In Your .NET Projects <sub>[Expand]</sub> </summary> <p>
  • Your project must target the same or newer version of .NET as Towel. See this documentation on how to check the current target of your project. Towel targets the following version of .NET: <sub><sub><a href="https://dotnet.microsoft.com/download"><img src="https://img.shields.io/badge/dynamic/xml?color=%23512bd4&label=target&query=%2F%2FTargetFramework%5B1%5D&url=https%3A%2F%2Fraw.githubusercontent.com%2FZacharyPatten%2FTowel%2Fmain%2FSources%2FTowel%2FTowel.csproj&logo=.net" title="Go To .NET Download"></a></sub></sub>

  • Towel has a nuget package: <sub><sub><a href="https://www.nuget.org/packages/Towel"><img src="https://img.shields.io/nuget/v/Towel.svg?logo=nuget" title="Go To Nuget Package"/></a></sub></sub><br/>Instructions on how to reference the package are included on nuget.org (click the badge).

  • If you use Towel and would be willing to show it, here is a badge you can copy-paste into your readme: <sub><sub><a href="#"><img src="https://github.com/ZacharyPatten/Towel/blob/main/.github/Resources/UsingTowel.svg?raw=true" title="Go To Towel"></a></sub></sub>

    <a href="https://github.com/ZacharyPatten/Towel"><img src="https://github.com/ZacharyPatten/Towel/blob/main/.github/Resources/UsingTowel.svg?raw=true" title="Go To Towel"></a>
    
  • Share your work. If you use Towel in one of your projects we want to hear about it. :)

</p> </details> <details> <summary> View Documentation <sub>[Expand]</sub> </summary> <p>
  • Change Log: https://github.com/ZacharyPatten/Towel/releases
  • docfx generated API documentation reference: <sub><sub><a href="https://zacharypatten.github.io/Towel/index.html"><img src="https://github.com/ZacharyPatten/Towel/blob/main/.github/Resources/docfx-badge.svg?raw=true" title="Go To Docfx Documentation"></a></sub></sub>
  • Coverlet + ReportGenerator generated test coverage report: <sub><sub><a href="https://zacharypatten.github.io/Towel/coveragereport/index.html"><img src="https://img.shields.io/badge/dynamic/xml?color=yellow&label=coverage&query=%2F%2Fcoverage%5B1%5D%2F%40line-rate-percentage&url=https%3A%2F%2Fraw.githubusercontent.com%2FZacharyPatten%2FTowel%2Fgh-pages%2Fcoveragereport%2Fcoverage.xml" title="Go Test Coverage Report"/></a></sub></sub>
  • BenchmarkDotNet generated benchmarking: https://zacharypatten.github.io/Towel/articles/benchmarks.html

Relevant Articles:

File Structure Overview (except for <sub><a href="https://github.com/ZacharyPatten/Towel/tree/gh-pages"><img src="https://raw.githubusercontent.com/ZacharyPatten/Towel/main/.github/Resources/git-branch-16.svg" title="Branch"></a></sub> gh-pages):

  • <sub><a href=".github"><img src="https://raw.githubusercontent.com/ZacharyPatten/Towel/main/.github/Resources/file-directory-16.svg" title="Directory"></a></sub> .github <sub>content regarding the GitHub repoistory.</sub>
    • <sub><a href=".github/ISSUE_TEMPLATE"><img src="https://raw.githubusercontent.com/ZacharyPatten/Towel/main/.github/Resources/file-directory-16.svg" title="Directory"></a></sub> ISSUE_TEMPLATE <sub>templates for issue submissions to the GitHub repository</sub>
    • <sub><a href=".github/Resources"><img src="https://raw.githubusercontent.com/ZacharyPatten/Towel/main/.github/Resources/file-directory-16.svg" title="Directory"></a></sub> Resources <sub>resources such as image files</sub>
    • <sub><a href=".github/workflows"><img src="https://raw.githubusercontent.com/ZacharyPatten/Towel/main/.github/Resources/file-directory-16.svg" title="Directory"></a></sub> workflows <sub>GitHub Actions workflows</sub>
      • <sub><a href=".github/workflows/Continuous Integration.yml"><img src="https://raw.githubusercontent.com/ZacharyPatten/Towel/main/.github/Resources/play-16.svg"
View on GitHub
GitHub Stars771
CategoryDevelopment
Updated19h ago
Forks53

Languages

C#

Security Score

95/100

Audited on Apr 8, 2026

No findings