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

https://github.com/c4spar/cliffy

A TypeScript-first, runtime-agnostic command-line toolkit for building complex CLIs — featuring a command framework, argument parser, interactive prompts, tables, ANSI utilities, and more.
https://github.com/c4spar/cliffy

ansi-escape argument-parser cli cli-cursor cli-framework cli-table command-line deno prompt prompts typescript

Last synced: 2 days ago
JSON representation

A TypeScript-first, runtime-agnostic command-line toolkit for building complex CLIs — featuring a command framework, argument parser, interactive prompts, tables, ANSI utilities, and more.

Awesome Lists containing this project

README

          

Cliffy

[![JSR Scope](https://jsr.io/badges/@cliffy)](https://jsr.io/@cliffy)
[![popularity](https://deno.land/badge/cliffy/popularity)](https://deno.land/x/cliffy)
[![Build status](https://github.com/c4spar/deno-cliffy/actions/workflows/test.yml/badge.svg?branch=main)](https://github.com/c4spar/deno-cliffy/actions/workflows/test.yml)
[![Code coverage](https://codecov.io/gh/c4spar/deno-cliffy/branch/main/graph/badge.svg)](https://codecov.io/gh/c4spar/deno-cliffy)
[![Discord](https://img.shields.io/badge/join-chat-blue?logo=discord&logoColor=white)](https://discord.gg/ghFYyP53jb)

**Cliffy** is a TypeScript-first, runtime-agnostic command-line toolkit for
building complex CLIs with [Deno](https://deno.land), [Node](https://nodejs.org)
and [Bun](https://bun.sh).

## Documentation

The [documentation](https://cliffy.io/docs) is available on
[cliffy.io](https://cliffy.io).

## Packages

| Package | Description | Version | Downloads | Runtime |
| -------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------- |
| [ansi](https://cliffy.io/docs/ansi/) | Chainable ansi _escape sequences_. | [![JSR](https://jsr.io/badges/@cliffy/ansi/)](https://jsr.io/@cliffy/ansi) | [![Total](https://jsr.io/badges/@cliffy/ansi/total-downloads)](https://jsr.io/@cliffy/ansi) [![Weekly](https://jsr.io/badges/@cliffy/ansi/weekly-downloads)](https://jsr.io/@cliffy/ansi) | _Deno, Node, Bun_ |
| [command](https://cliffy.io/docs/command/) | Create _complex_ and _type-safe_ commandline tools with build-in _input validation_, _auto generated help_, _shell completions_ and more. | [![JSR](https://jsr.io/badges/@cliffy/command)](https://jsr.io/@cliffy/command) | [![Total](https://jsr.io/badges/@cliffy/command/total-downloads)](https://jsr.io/@cliffy/command) [![Weekly](https://jsr.io/badges/@cliffy/command/weekly-downloads)](https://jsr.io/@cliffy/command) | _Deno, Node, _Bun__ |
| [flags](https://cliffy.io/docs/flags/) | Parse command line arguments (used by the _command_ module). | [![JSR](https://jsr.io/badges/@cliffy/flags)](https://jsr.io/@cliffy/flags) | [![Total](https://jsr.io/badges/@cliffy/flags/total-downloads)](https://jsr.io/@cliffy/flags) [![Weekly](https://jsr.io/badges/@cliffy/flags/weekly-downloads)](https://jsr.io/@cliffy/flags) | _Deno, Node, _Bun__ |
| [keycode](https://cliffy.io/docs/keycode/) | Parser ansi key codes. | [![JSR](https://jsr.io/badges/@cliffy/keycode)](https://jsr.io/@cliffy/keycode) | [![Total](https://jsr.io/badges/@cliffy/keycode/total-downloads)](https://jsr.io/@cliffy/keycode) [![Weekly](https://jsr.io/badges/@cliffy/keycode/weekly-downloads)](https://jsr.io/@cliffy/keycode) | _Deno, Node, _Bun__ |
| [keypress](https://cliffy.io/docs/keypress/) | Listen to keypress events with _Promise_, _AsyncIterator_ and _EventTarget_ APIs. | [![JSR](https://jsr.io/badges/@cliffy/keypress)](https://jsr.io/@cliffy/keypress) | [![Total](https://jsr.io/badges/@cliffy/keypress/total-downloads)](https://jsr.io/@cliffy/keypress) [![Weekly](https://jsr.io/badges/@cliffy/keypress/weekly-downloads)](https://jsr.io/@cliffy/keypress) | _Deno, Node, _Bun__ |
| [prompt](https://cliffy.io/docs/prompt/) | Create _simple_ and _powerful_ interactive prompts. | [![JSR](https://jsr.io/badges/@cliffy/prompt)](https://jsr.io/@cliffy/prompt) | [![Total](https://jsr.io/badges/@cliffy/prompt/total-downloads)](https://jsr.io/@cliffy/prompt) [![Weekly](https://jsr.io/badges/@cliffy/prompt/weekly-downloads)](https://jsr.io/@cliffy/prompt) | _Deno, Node, _Bun__ |
| [table](https://cliffy.io/docs/table/) | Create cli tables with border, padding, nested tables, etc... | [![JSR](https://jsr.io/badges/@cliffy/table)](https://jsr.io/@cliffy/table) | [![Total](https://jsr.io/badges/@cliffy/table/total-downloads)](https://jsr.io/@cliffy/table) [![Weekly](https://jsr.io/badges/@cliffy/table/weekly-downloads)](https://jsr.io/@cliffy/table) | _Deno, Node, _Bun__ |
| [testing](https://cliffy.io/docs/testing/) | Experimental helper functions for testing. | [![JSR](https://jsr.io/badges/@cliffy/testing)](https://jsr.io/@cliffy/testing) | [![Total](https://jsr.io/badges/@cliffy/testing/total-downloads)](https://jsr.io/@cliffy/testing) [![Weekly](https://jsr.io/badges/@cliffy/testing/weekly-downloads)](https://jsr.io/@cliffy/testing) | _Deno_ |

## Contributing

Any kind of contribution is welcome! Please take a look at the
[contributing guidelines](CONTRIBUTING.md).

## License

[MIT](LICENSE)