My preferred .NET console stack – An opinionated view on .NET console apps

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • runtimelab

    This repo is for experimentation and exploring new ideas that may or may not make it into the main dotnet/runtime repo.

  • My understanding is the opposite; now that they're planning to merge Mono and CoreCLR, there is significantly more pressure on the .NET team to have a proper AOT solution.

    "Early adopters can experiment with native AOT form factor" is a priority-zero (highest priority) epic for .NET 6: https://github.com/dotnet/runtimelab/issues/248

  • command-line-api

    Command line parsing, invocation, and rendering of terminal output.

  • For console apps I've been using .NET Foundation's System.CommandLine [1] recently.

    It looks like this Spectre.Console you are using is a bit more fancy albeit a lot newer.

    1 - https://github.com/dotnet/command-line-api/

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • Cocona

    Micro-framework for .NET console application. Cocona makes it easy and fast to build console applications on .NET.

  • Cocona [1] is my command line parsing library of choice.

    1. https://github.com/mayuki/Cocona

  • typer

    Typer, build great CLIs. Easy to code. Based on Python type hints.

  • Click is great and a feature-rich option. But recommend checking out Typer, which is even simpler if you're already using type annotations. [0]

    [0]: https://github.com/tiangolo/typer

  • spectre.console

    A .NET library that makes it easier to create beautiful console applications.

  • My example may not be the best, but .NET Commandline handling libraries contain significant quote-handline code. I know because I have relied on it.

    I'm less familiar with the library that OP is using, but it seems to be here: https://github.com/spectresystems/spectre.console/blob/main/...

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts