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

awesome-cli-frameworks

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

Last synced: 1 day ago
JSON representation

  • [Go](https://go.dev/)

    • Useful awesome list for Go cli

    • Useful awesome list for Dotnet cli

      • 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/),
      • Viper - Factor apps. It is designed to work within an application, and can handle all types of configuration needs and formats.
      • Golang Agrparse
      • go-arg - based argument parsing in Go.
      • Mow.cli
      • Clif
      • cli
      • Kong - line structures with as little developer effort as possible.
      • 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.
      • climate
  • [Ruby](https://www.ruby-lang.org/)

    • Useful awesome list for Ruby cli

      • Awesome-ruby - ruby#cli-builder) and [#Cli-utilities](https://github.com/markets/awesome-ruby#cli-builder)
    • Useful awesome list for Go cli

      • 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.
      • Gli - line app in Ruby that behaves like ```git``` in that it takes subcommands to perform a series of complex action.
      • 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.
      • 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.
      • TTY
      • dry-ruby
  • [Swift](https://www.swift.org/)

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

  • [Crystal](https://crystal-lang.org/)

  • [Dotnet](https://dotnet.microsoft.com/)

  • [R](https://www.r-project.org/)

    • Useful awesome list for Ruby cli

  • [Rust](https://www.rust-lang.org/)

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

    • Useful awesome list for Ruby cli

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

    • Useful awesome list for Go cli

      • Oclif - file CLIs with a few flag options, or for very complex CLIs that have subcommands (like git or heroku).
      • Ink - line apps. (See also [Pastel](https://github.com/vadimdemedes/pastel))
      • Yargs
      • Inquirer.js
      • Vorpal
      • Gluegun - powered command-line apps.
      • 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.
      • 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.
      • args
      • node-seeli
      • 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.
  • Bash/Shell

    • gum
    • 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.
  • [PHP](https://www.php.net/)

    • Useful awesome list for Go cli

      • minicli - line applications in PHP.
      • 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.
      • CliFramework - line application framework, for building flexiable, simple command-line applications.
      • 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
  • [C++](https://www.cpp-lang.net/)

    • 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:
    • cxxopt
    • docopt.cpp
    • 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).
    • Lyra
    • argh!
    • CLI11
  • [Kotlin](https://kotlinlang.org/)

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

  • [Dart](https://dart.dev/)

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

    • deno-cliffy - Interfaces, Prompts, CLI-Table, Arguments Parser and more...
  • [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.
  • [Haskell](https://www.haskell.org/)

  • [Julia](https://julialang.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
  • [Purescript](https://www.purescript.org/)

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

    • Useful awesome list for Ruby cli

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

    • Useful awesome list for Ruby cli

      • zig-cli
      • cova - platform command line argument parsing library for Zig.