{"id":19712613,"url":"https://github.com/shan-shaji/dart-cli-packages","last_synced_at":"2026-05-01T23:33:26.887Z","repository":{"id":117677039,"uuid":"587433577","full_name":"shan-shaji/dart-cli-packages","owner":"shan-shaji","description":"The repo contains a collection of packages that will assist you in developing CLI applications in Dart.","archived":false,"fork":false,"pushed_at":"2023-01-21T04:56:08.000Z","size":8,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-10T14:41:50.293Z","etag":null,"topics":["args","cli-completion","cli-helpers","cli-packages","dart","dart-cli","dart-cli-helpers","dart-cli-packages","dart-package","flutter","helper","mason","terminal","very-good-cli"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shan-shaji.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2023-01-10T18:36:36.000Z","updated_at":"2023-01-15T16:34:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"3a9ef226-2a60-445a-8a6b-b695dd2569eb","html_url":"https://github.com/shan-shaji/dart-cli-packages","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shan-shaji%2Fdart-cli-packages","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shan-shaji%2Fdart-cli-packages/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shan-shaji%2Fdart-cli-packages/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shan-shaji%2Fdart-cli-packages/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shan-shaji","download_url":"https://codeload.github.com/shan-shaji/dart-cli-packages/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241031582,"owners_count":19897316,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["args","cli-completion","cli-helpers","cli-packages","dart","dart-cli","dart-cli-helpers","dart-cli-packages","dart-package","flutter","helper","mason","terminal","very-good-cli"],"created_at":"2024-11-11T22:17:47.991Z","updated_at":"2026-05-01T23:33:26.842Z","avatar_url":"https://github.com/shan-shaji.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dart CLI Packages\n\nThe repo contains a collection of packages that will assist you in developing CLI applications in Dart. Please feel free to update this list as there may be packages that I am unaware of.\n\n\n## [very_good_cli][very_good_cli]\n\nGenerate a Dart CLI with Very Good CLI. If you are making a CLI package for the first time this is the needed tool for you.\nThey also have pretty good [documentation][very_good_cli_documentation] about using this template.\n\n## [mason_logger][mason_logger]\n\nThe package is more than just a logger and allows you to accept user inputs and will help you to build lot of other cool things. \n\nSome feature are:\n\n- Show progress to user.\n- Allows users to select from different options.\n- Prompts to accept user inputs.\n\n## [args][args]\nThis library lets you define parsers for parsing raw command-line arguments into a set of options and values using GNU and POSIX style options.\n\nnote: If you are using [very_good_cli][very_good_cli] then by default this package will be included in the boilerplate.\n\n## [pub_updater][pub_updater]\nA Dart package which enables checking whether packages are up to date and supports updating them.\nIntended for use in CLIs for prompting users to auto-update.\n\n\n## [pubspec_parse][pubspec_parse]\nSimple package for parsing pubspec.yaml files with a type-safe API and rich error reporting.\nYou may not be able to find the documentation in their README. I am adding a snippet\nthat will helpe you to use this package.\n\n```dart\n\nfinal rawString = await rootBundle.loadString(\"pubspec.yaml\");\nfinal pubspec = Pubspec.parse(rawString);\n\n```\n\n## [dart_console][dart_console]\n\nThis library contains a variety of useful functions for console application development, including:\n\n- Reading the current window dimensions (height, width)\n- Reading and setting the cursor location\n- Setting foreground and background colors\n- Manipulating the console into \"raw mode\", which allows more advanced keyboard input processing than the default dart:io library.\n- Reading keys and control sequences from the keyboard\n- Writing aligned text to the screen\n- Tabular data display, including month calendar\n\nThe [example][dart_console_example] folder of this pacakge contains all the necessary implementations to understand the pacakge.\n\n## [cli_completion][cli_completion]\n\nDart package that aims to enable Dart CLI applications to receive shell completions with minimal setup. This package helps you to enhance the user experiance of your CLI tools.\n\nIt works on bash and zsh on Linux, macOS, and Windows.\n\n## [args][args]\n\nParses raw command-line arguments into a set of options and values. This library supports GNU and POSIX style options, and it works in both server-side and client-side apps.\n\n## [cli_util][cli_util]\n\nIn particular, cli_util provides a simple, standardized way to get the current SDK directory. Useful, especially, when building client applications that interact with the Dart SDK\n\nThis package can also be used to help CLI tools display output and progress. It has a logging mechanism which can help differentiate between regular tool output and error messages, and can facilitate having a more verbose (-v) mode for output.\n\nIn addition, it can display an indeterminate progress spinner for longer running tasks, and optionally display the elapsed time when finished:\n\n[very_good_cli]: https://pub.dev/packages/very_good_cli\n[very_good_cli_documentation]: https://verygood.ventures/blog/generate-command-line-application-cli\n[mason_logger]: https://pub.dev/packages/mason_logger\n[args]: https://pub.dev/packages/args\n[pub_updater]: https://pub.dev/packages/pub_updater\n[pubspec_parse]: https://pub.dev/packages/pubspec_parse\n[dart_console]: https://pub.dev/packages/dart_console\n[dart_console_example]: https://github.com/timsneath/dart_console/tree/main/example\n[cli_completion]: https://pub.dev/packages/cli_completion\n[args]: https://pub.dev/packages/args\n[cli_util]: https://pub.dev/packages/cli_util","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshan-shaji%2Fdart-cli-packages","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshan-shaji%2Fdart-cli-packages","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshan-shaji%2Fdart-cli-packages/lists"}