Awesome-cli-framework
Collection of tools to build beautiful command line interface in different languages
Python
-
Argparse : Argparse is the default python module for creating command lines programs. It provides all the features you need to build a simple CLI.
-
Click : Click is a Python package for creating beautiful command line interfaces in a composable way with as little code as necessary. It's the "Command Line Interface Creation Kit". It's highly configurable but comes with sensible defaults out of the box.
-
Cliff : cliff is a framework for building command line programs. It uses setuptools entry points to provide subcommands, output formatters, and other extensions.
-
Cement : Cement is an advanced Application Framework for Python, with a primary focus on Command Line Interfaces (CLI). Its goal is to introduce a standard, and feature-full platform for both simple and complex command line applications as well as support rapid development needs without sacrificing quality.
-
Docopt : Pythonic command line arguments parser, that will make you smile. docopt parses command-line arguments based on a help message. Don't write parser code: a good help message already has all the necessary information in it.
-
Python-Fire : Python Fire is a library for automatically generating command line interfaces (CLIs) from absolutely any Python object.
-
PyCli : The cli package is a framework for making simple, correct command line applications in Python. With cli, you can quickly add standard command line parsing; logging; unit and functional testing; and profiling to your CLI apps.
-
PyInquirer : PyInquirer strives to be an easily embeddable and beautiful command line interface for Python. PyInquirer wants to make it easy for existing Inquirer.js users to write immersive command line applications in Python.
-
PyFiglet : Pyfiglet is a full port of FIGlet (http://www.figlet.org/) into pure python. It takes ASCII text and renders it in ASCII art fonts.
Go
-
cli : A simple, fast, and fun package for building command line apps in Go.
-
Cobra : Many of the most widely used Go projects are built using Cobra, such as: Kubernetes, Hugo, rkt, etcd, Moby (former Docker), Docker (distribution), OpenShift, Delve, GopherJS, CockroachDB, Bleve, ProjectAtomic (enterprise), Giant Swarm's gsctl, Nanobox/Nanopack, rclone, nehm, Pouch, Istio, Prototool, mattermost-server, Gardener, Linkerd, etc.
-
Golang Agrparse : The goal of this project is to bring ease of use and flexibility of argparse (Python) to Go.
-
Docopt Go : docopt parses command-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 : A versatile library for building CLI applications in Go
-
Clif : Go framework for rapid command line application development.
Useful awesome list for Go cli :
- Awesome-go by @avelino : A curated list of awesome Go frameworks, libraries and software. Look at Command Line
JavaScript
-
Oclif : Oclif is a framework for building CLIs in Node.js. This framework was built out of the Heroku CLI but generalized to build any custom CLI. It's designed both for single-file CLIs with a few flag options, or for very complex CLIs that have subcommands (like git or heroku).
-
Commander.js : The complete solution for node.js command-line interfaces.
-
Gluegun : A delightful toolkit for building TypeScript-powered command-line apps.
-
Ink : React for interactive command-line apps. (See also Pastel)
-
node-seeli : Object orientated, event driven , Interactive CLI module. Seeli aims to give you the tools to compose A command line interface the way you want it, and otherwise, stays out of your way.
-
Caporal.js : A full-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 : Toolkit for building command line interfaces.
-
Inquirer.js : Inquirer.js strives to be an easily embeddable and beautiful command line interface for Node.js.
-
Vorpal : Vorpal is Node's first framework for building interactive CLI applications. With a simple and powerful API, Vorpal opens the door to a new breed of rich, immersive CLI environments. [NOT MAINTAINED]
Ruby
-
dry-ruby : General purpose Command Line Interface (CLI) framework for Ruby.
-
TTY : TTY is a toolbox for developing beautiful command line clients in Ruby with a fluid interface for gathering input, querying terminal properties and displaying information.
-
Thor : Thor is a simple and efficient tool for building self-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 : The complete solution for Ruby command-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 : "Clamp" is a minimal framework for command-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 : GLI allows you to create command-line app in Ruby that behaves like
gitin that it takes subcommands to perform a series of complex action.Useful awesome list for Ruby cli :
- Awesome-ruby by @markets : A curated list of awesome Go frameworks, libraries and software. Look at #Cli builder and #Cli-utilities
Contributing
Thanks for visiting! If you have suggestions, then open an issue, or submit a PR, see: CONTRIBUTING.md. Contributions are welcome, and much appreciated !
License
Licensed under Creative Commons, CC BY 4.0, © [HUGUET Rémi] (https://github.com/remiflavien1) 2020.