PackageTrack
Sign in Get early access

build_cli

Parse command line arguments directly into an annotation class using the power of build_runner and source_gen.

2.2.13 36K downloads/mo #1703 most downloaded on pub.dev kevmoo/build_cli

What this package is like to depend on

Last release 1 months ago

07 Jul 2026

Ships unpredictably

gaps range from 3 weeks to 1.3 years

Nearly every release is documented

notes for 52 of 52 stable releases

Nothing withdrawn

no release was ever pulled

8 years old

52 releases · first in 2018

6 releases in the last 12 months

see the full history below

Release timeline

52 releases · Mar 2018 to Jul 2026
2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 52
  1. 2.2.13 07 Jul 2026
    Release notes
    • Required analyzer: ">=10.0.0 <15.0.0"
    Open source →
    Release notes
    • Required analyzer: ">=10.0.0 <15.0.0"
    Open source →
  2. 2.2.12 01 May 2026
    Release notes
    • Required analyzer: ">=10.0.0 <14.0.0"
    Open source →
    Release notes
    • Required analyzer: ">=10.0.0 <14.0.0"
    Open source →
  3. 2.2.11 20 Mar 2026
    Release notes
    • Validate that allowedHelp keys match allowed values.
    • Required analyzer: ">=10.0.0 <13.0.0"
    • Required build: ^4.0.4
    • Required source_gen: ^4.1.2
    • Required source_helper: ^1.3.10
    Open source →
    Release notes
    • Validate that allowedHelp keys match allowed values.
    • Required analyzer: ">=10.0.0 <13.0.0"
    • Required build: ^4.0.4
    • Required source_gen: ^4.1.2
    • Required source_helper: ^1.3.10
    Open source →
  4. 2.2.10 15 Feb 2026
    Release notes
    • Support the latest package:analyzer.
    Open source →
    Release notes
    • Support the latest package:analyzer.
    Open source →
  5. 2.2.9 08 Dec 2025
    Release notes
    • Required sdk: ^3.9.0
    • Required analyzer: ^9.0.0
    • Required build: ^4.0.3
    • Required source_gen: ^4.1.1
    • Required source_helper: ^1.3.9
    • Required yaml: ^3.1.3
    Open source →
    Release notes
    • Required sdk: ^3.9.0
    • Required analyzer: ^9.0.0
    • Required build: ^4.0.3
    • Required source_gen: ^4.1.1
    • Required source_helper: ^1.3.9
    • Required yaml: ^3.1.3
    Open source →
  6. 2.2.8 08 Sep 2025
    Release notes
    • Required sdk: ^3.8.0
    • Required analyzer: ^8.1.1
    • Required build: ^4.0.0
    • Required build_config: ^1.2.0
    • Required source_gen: ^4.0.1
    • Required source_helper: ^1.3.8
    Open source →
    Release notes
    • Required sdk: ^3.8.0
    • Required analyzer: ^8.1.1
    • Required build: ^4.0.0
    • Required build_config: ^1.2.0
    • Required source_gen: ^4.0.1
    • Required source_helper: ^1.3.8
    Open source →
  7. 2.2.7 15 May 2025
    Release notes
    • Fix issue with latest version of package:source_gen.
    Open source →
    Release notes
    • Fix issue with latest version of package:source_gen.
    Open source →
  8. 2.2.6 21 Apr 2025
    Release notes
    • Fix issue with latest version of package:analyzer.
    Open source →
    Release notes
    • Fix issue with latest version of package:analyzer.
    Open source →
  9. 2.2.5 10 Feb 2025
    Release notes
    • Fix issue with latest version of package:analyzer.
    Open source →
    Release notes
    • Fix issue with latest version of package:analyzer.
    Open source →
  10. 2.2.4 17 Dec 2024
    Release notes
    • Support the latest package:analyzer and package:source_gen.
    • Require sdk: ^3.6.0
    Open source →
  11. 2.2.3 11 Sep 2023
    Release notes
    • Fix bug where nullable number options lead to an exception when parsing if null is the default value and no value is passed to the command line.
    Open source →
  12. 2.2.2 01 Aug 2023
    Release notes
    • Support the latest package:analyzer.
    • Require sdk: ^3.0.0
    Open source →
  13. 2.2.1 13 Sep 2022
    Release notes
    • Require analyzer: '>=4.6.0 <6.0.0'
    • Require sdk: '>=2.17.0 <3.0.0'
    Open source →
  14. 2.2.0 10 Jun 2022
    Release notes
    • Generate a Command helper class when (the new) CliOptions.createCommand field is true.
    Open source →
  15. 2.1.6 20 Apr 2022
    Release notes
    • Support the latest package:analyzer.
    Open source →
  16. 2.1.5 16 Jan 2022
    Release notes
    • Add trailing commas to many places in output.
    • Fix issues with latest package:analyzer related to enums and annotations.
    Open source →
  17. 2.1.4 17 Dec 2021
    Release notes
    • Require the latest package:source_helper.
    • Support the latest package:analyzer.
    Open source →
  18. 2.1.3 13 Jul 2021
    Release notes
    • Support the latest package:analyzer.
    Open source →
  19. 2.1.2 21 Apr 2021
    Release notes
    • Require the latest package:build_config.
    Open source →
  20. 2.1.1 25 Mar 2021
    Release notes
    • Added @Target({TargetKind.field}) to CliOption.
    • Require args: ^2.6.0
    • Require sdk: ^3.8.0
    Open source →
    Release notes
    • Change the name of the private Map used to support enums so that it does not conflict with the one generated by package:json_serializable.
    Open source →
  21. 2.1.0 25 Mar 2021
    Release notes
    • Improve generation of null-safe code.
    • Migrate implementation to null-safe.
    Open source →
  22. 2.0.1 15 Mar 2021
    Release notes
    • Require package:build ^2.0.0.
    Open source →
  23. 2.0.0 11 Mar 2021
    Release notes
    • Support generating null-safe code.
    • Require Dart SDK >=2.12.0 <3.0.0.
    Open source →
  24. 1.3.10 23 Sep 2020
    Release notes
    • Require Dart SDK >=2.7.0 <3.0.0.
    • package:analyzer >=0.39.0 <0.41.0.
    Open source →
  25. 1.3.9 03 Jun 2020
    Release notes
    • Avoid avoid_redundant_argument_values lint in generated code for defaultValue.
    Open source →
  26. 1.3.8 02 Jun 2020
    Release notes
    • Avoid avoid_redundant_argument_values lint.
    Open source →
  27. 1.3.7 17 Mar 2020
    Release notes
    • Support package:build_cli_annotations >=1.1.0 <1.3.0.
    • package:analyzer ^0.39.0.
    Open source →
  28. 1.3.6 03 Jan 2020
    Release notes
    • Support the latest release of package:analyzer.
    Open source →
  29. 1.3.5 11 Oct 2019
    Release notes
    • Fix issue with behavior change in recent package:analyzer releases.
    Open source →
  30. 1.3.4 21 Aug 2019
    Release notes
    • Support the latest release of package:analyzer.
    Open source →
  31. 1.3.3 20 Jul 2019
    Release notes
    • Support the latest release of package:analyzer.
    Open source →
  32. 1.3.2 24 Apr 2019
    Release notes
    • Support the latest release of package:build_config.
    • Removed special handling of undefined types due to changes in package:analyzer. These types are now treated as dynamic.
    Open source →
  33. 1.3.1 21 Apr 2019
    Release notes
    • Support the latest release of package:analyzer.
    Open source →
  34. 1.3.0 07 Mar 2019
    Release notes
    • Added support for the new provideDefaultToOverride value on CliOption to allow users to provide an override to defaultsTo by including an optional [fieldName]DefaultOverride param to the generated _$populate[ClassName]Parser function.
    • Handle kebab-case enum value names correctly, including when they are used as default values.
    • Handle allowed values that require escaping.
    • Support classes with one, non-default constructor.
    • Require Dart >=2.2.0 <3.0.0.
    Open source →
  35. 1.2.2 01 Feb 2019
    Release notes
    • Support the latest release of package:analyzer.
    Open source →
  36. 1.2.1 11 Dec 2018
    Release notes
    • Generate all local variables as final where applicable. Allows consumers to enable the prefer_final_locals lint.
    Open source →
  37. 1.2.0 11 Dec 2018
    Release notes
    • Require Dart 2.0 "gold" in the target package.
    • Omit new keyword in generated code.
    • Update package:analyzer constraint to >=0.33.0 <0.35.0.
    Open source →
  38. 1.1.0 27 Nov 2018
    Release notes
    • Support nullable annotation
    Open source →
  39. 1.0.2 20 Oct 2018
    Release notes
    • Support the latest release of package:analyzer.
    Open source →
  40. 1.0.1 27 Sep 2018
    Release notes
    • Support package:build v1.
    Open source →
  41. 1.0.0 03 Aug 2018
    Release notes
    • Support package:build_cli_annotations v1.
    Open source →
  42. 0.2.5 25 Jul 2018
    Release notes
    • Require package:source_gen ^0.9.0.

    • The header configuration option is no longer supported. (It's ignored.)

    Open source →
  43. 0.2.4 21 Jun 2018
    Release notes
    • Support the latest version of package:build_config.
    Open source →
  44. 0.2.4+1 23 Jul 2018
    Release notes
    • Support Dart 2 stable.
    Open source →
  45. 0.2.3 15 May 2018
    Release notes
    • Require the latest package:analyzer.
    • Support convert functions with optional parameters.
    Open source →
  46. 0.2.2 21 Apr 2018
    Release notes
    • Added support for populating ArgResults command if the field is not annotated.
    • Improved error output, including in cases where a bug may be found.
    Open source →
  47. 0.2.1 19 Apr 2018
    Release notes
    • Added support for covert to CliOption.
    • Throw many more errors during build that would create invalid code at runtime.
    Open source →
  48. 0.2.0 17 Apr 2018
    Release notes
    • Fail unless the minimum SDK constraint on the target package is at least 2.0.0-dev.48.

    • Added for support valueHelp to CliOption.

    Open source →
  49. 0.1.2 13 Apr 2018
    Release notes
    • Support int, double, and num for options.
    • Improve error messages for some failures.
    • Support defaultsTo for flags.
    • Generate another private method _$populate[OptionClassName]Parser. Allows usage for already existing ArgParser instances, such as with package:args CommandRunner.
    Open source →
  50. 0.1.1 05 Apr 2018
    Release notes
    • Add setup instructions to README.md.
    • Use the logger built into pkg:build.
    • Don't generate CLI entries for unassignable fields.
    • Support latest pkg:source_gen.
    • Properly escape String literals.
    Open source →
  51. 0.1.1+1 06 Apr 2018
    Release notes
    • Fix link to package:peanut usage example.
    Open source →
  52. 0.1.0 29 Mar 2018
    Release notes
    • First release
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive