{"id":44628403,"url":"https://github.com/c4spar/cliffy","last_synced_at":"2026-05-30T22:01:18.256Z","repository":{"id":37407370,"uuid":"246158784","full_name":"c4spar/cliffy","owner":"c4spar","description":"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.","archived":false,"fork":false,"pushed_at":"2026-05-05T20:08:19.000Z","size":8393,"stargazers_count":1154,"open_issues_count":52,"forks_count":77,"subscribers_count":6,"default_branch":"main","last_synced_at":"2026-05-28T19:39:50.526Z","etag":null,"topics":["ansi-escape","argument-parser","cli","cli-cursor","cli-framework","cli-table","command-line","deno","prompt","prompts","typescript"],"latest_commit_sha":null,"homepage":"https://cliffy.io","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/c4spar.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["c4spar"]}},"created_at":"2020-03-09T22:54:29.000Z","updated_at":"2026-05-27T12:00:33.000Z","dependencies_parsed_at":"2023-12-22T00:58:13.211Z","dependency_job_id":"544b3c95-1c33-4c6d-98fe-e6aa4b0a56ab","html_url":"https://github.com/c4spar/cliffy","commit_stats":{"total_commits":902,"total_committers":39,"mean_commits":"23.128205128205128","dds":0.4944567627494457,"last_synced_commit":"b0f1942b8a60a7f4e12907e852a940b3785ff263"},"previous_names":["c4spar/cliffy"],"tags_count":69,"template":false,"template_full_name":null,"purl":"pkg:github/c4spar/cliffy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c4spar%2Fcliffy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c4spar%2Fcliffy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c4spar%2Fcliffy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c4spar%2Fcliffy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/c4spar","download_url":"https://codeload.github.com/c4spar/cliffy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c4spar%2Fcliffy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33711018,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-30T02:00:06.278Z","response_time":92,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansi-escape","argument-parser","cli","cli-cursor","cli-framework","cli-table","command-line","deno","prompt","prompts","typescript"],"created_at":"2026-02-14T16:00:39.210Z","updated_at":"2026-05-30T22:01:18.247Z","avatar_url":"https://github.com/c4spar.png","language":"TypeScript","funding_links":["https://github.com/sponsors/c4spar"],"categories":["TypeScript","Modules"],"sub_categories":["CLI utils"],"readme":"\u003cimg src=\"logo.png\" style=\"width: 100%\" alt=\"Cliffy\" /\u003e\n\n[![JSR Scope](https://jsr.io/badges/@cliffy)](https://jsr.io/@cliffy)\n[![popularity](https://deno.land/badge/cliffy/popularity)](https://deno.land/x/cliffy)\n[![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)\n[![Code coverage](https://codecov.io/gh/c4spar/deno-cliffy/branch/main/graph/badge.svg)](https://codecov.io/gh/c4spar/deno-cliffy)\n[![Discord](https://img.shields.io/badge/join-chat-blue?logo=discord\u0026logoColor=white)](https://discord.gg/ghFYyP53jb)\n\n**Cliffy** is a TypeScript-first, runtime-agnostic command-line toolkit for\nbuilding complex CLIs with [Deno](https://deno.land), [Node](https://nodejs.org)\nand [Bun](https://bun.sh).\n\n## Documentation\n\nThe [documentation](https://cliffy.io/docs) is available on\n[cliffy.io](https://cliffy.io).\n\n## Packages\n\n| Package                                      | Description                                                                                                                               | Version                                                                           | Downloads                                                                                                                                                                                                 | Runtime             |\n| -------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------- |\n| [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_   |\n| [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__ |\n| [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__ |\n| [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__ |\n| [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__ |\n| [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__ |\n| [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__ |\n| [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_              |\n\n## Contributing\n\nAny kind of contribution is welcome! Please take a look at the\n[contributing guidelines](CONTRIBUTING.md).\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fc4spar%2Fcliffy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fc4spar%2Fcliffy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fc4spar%2Fcliffy/lists"}