Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

awesome-cli-frameworks

Collection of tools to build beautiful command line interface in different languages
https://github.com/shadawck/awesome-cli-frameworks

Last synced: 3 days ago
JSON representation

  • Bash/Shell

    • argc
    • argbash
    • Bashly - rich bash command line tools. Bashly lets you focus on your specific code, without worrying about command line argument parsing, usage texts, error messages and other functions that are usually handled by a framework in any other programming language.
    • gum
  • [Crystal](https://crystal-lang.org/)

  • [C++](https://www.cpp-lang.net/)

    • argh!
    • args - only C++ argument parser library. Supposed to be flexible and powerful, and attempts to be compatible with the functionality of the Python standard argparse library (though not necessarily the API).
    • CLI11
    • cxxopt
    • docopt.cpp
    • gflags - in support for standard types such as string and the ability to define flags in the source file in which they are used. Online documentation available at:
    • Lyra
  • [Dart](https://dart.dev/)

    • args - line arguments into a set of options and values.
    • dcli
  • [Deno](https://deno.land/)

    • deno-cliffy - Interfaces, Prompts, CLI-Table, Arguments Parser and more...
  • [Dotnet](https://dotnet.microsoft.com/)

  • [Elixir](https://elixir-lang.org/)

    • Useful awesome list for Dotnet cli

      • Owl - line user interfaces in Elixir.
  • [Fortran](https://fortran-lang.org/)

    • Useful awesome list for Dotnet cli

      • FLAP - to-use, elegant command line interfaces.
  • [Go](https://go.dev/)

    • Useful awesome list for Dotnet cli

      • cli
      • climate
      • Cobra - io/nanobox)/[Nanopack](https://github.com/nanopack), [rclone](http://rclone.org/), [nehm](https://github.com/bogem/nehm), [Pouch](https://github.com/alibaba/pouch), [Istio](https://istio.io), [Prototool](https://github.com/uber/prototool), [mattermost-server](https://github.com/mattermost/mattermost-server), [Gardener](https://github.com/gardener/gardenctl), [Linkerd](https://linkerd.io/),
      • Golang Agrparse
      • go-arg - based argument parsing in Go.
      • Docopt Go - line arguments based on a help message. Don't write parser code: a good help message already has all the necessary information in it.
      • Mow.cli
      • Clif
      • Kong - line structures with as little developer effort as possible.
      • Viper - Factor apps. It is designed to work within an application, and can handle all types of configuration needs and formats.
    • Useful awesome list for Go cli

  • [Haskell](https://www.haskell.org/)

  • [Java](https://dev.java/)

  • [JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript)

    • Useful awesome list for Go cli

      • Clipanion - one of the most complex command-line tool in the ecosystem - and small internal scripts. Clipanion is designed with type safety in mind, and leverages a syntax as idiomatic as possible to avoid cluttering your code with boilerplate.
      • Oclif - file CLIs with a few flag options, or for very complex CLIs that have subcommands (like git or heroku).
      • Gluegun - powered command-line apps.
      • Ink - line apps. (See also [Pastel](https://github.com/vadimdemedes/pastel))
      • node-seeli
      • Caporal.js - featured framework for building command line applications (cli) with node.js, including help generation, colored output, verbosity control, custom logger, coercion and casting, typos suggestions, and auto-complete for bash/zsh/fish.
      • args
      • Inquirer.js
      • Vorpal
      • Yargs
      • Clerc - featured library for building CLI Apps in Node.js, Deno or Bun. It's strongly-typed, easy-to-use and flexible.
      • Termost - featured framework to build your next command line interfaces (CLI) in a minute. Thanks to its fluent and type-safe API, you can easily express and manage your program metadata (including version and help), sub-commands, user prompts, tasks, options and flags, ...
      • Commander.js - line interfaces.
  • [Julia](https://julialang.org/)

  • [Kotlin](https://kotlinlang.org/)

  • [Nim](https://nim-lang.org/)

  • [Ocaml](https://ocaml.org/)

    • Useful awesome list for Go cli

      • cmdliner
      • clap - Line Argument Parsing, imperative style with a consumption mechanism.
      • minicli
  • [PHP](https://www.php.net/)

    • Useful awesome list for Go cli

      • CliFramework - line application framework, for building flexiable, simple command-line applications.
      • laravel-zero - framework that provides an elegant starting point for your console application. It is an unofficial and customized version of Laravel optimized for building command-line applications.
      • minicli - line applications in PHP.
      • php-cli - build great console apps with ease. Comes with Zero Dependency and Autocompletion support.
      • php-cli-tools
      • Silly - framework based on Symfony Console.
      • Symfony/Console
  • [Purescript](https://www.purescript.org/)

    • Useful awesome list for Go cli

  • [Python](https://www.python.org/)

  • [Ruby](https://www.ruby-lang.org/)

    • Useful awesome list for Go cli

      • dry-ruby
      • TTY
      • Thor - documenting command line utilities. It removes the pain of parsing command line options, writing "USAGE:" banners, and can also be used as an alternative to the Rake build tool. The syntax is Rake-like, so it should be familiar to most Rake users.
      • Commander - line executables. Commander bridges the gap between other terminal related libraries you know and love (OptionParser, HighLine), while providing many new features, and an elegant API.
      • Clamp - line utilities. It handles boring stuff like parsing the command-line, and generating help, so you can get on with making your command actually do stuff.
      • Gli - line app in Ruby that behaves like ```git``` in that it takes subcommands to perform a series of complex action.
    • Useful awesome list for Ruby cli

      • Awesome-ruby - ruby#cli-builder) and [#Cli-utilities](https://github.com/markets/awesome-ruby#cli-builder)
  • [Rust](https://www.rust-lang.org/)

  • [Scala](https://www.scala-lang.org/)

    • Useful awesome list for Ruby cli

  • [Swift](https://www.swift.org/)

  • [Zig](https://ziglang.org/)

    • Useful awesome list for Ruby cli

      • zig-cli
      • cova - platform command line argument parsing library for Zig.
  • [R](https://www.r-project.org/)

    • Useful awesome list for Ruby cli

  • [V](https://vlang.io/)

    • Useful awesome list for Ruby cli