Changes for version 1.43 - 2023-10-21

  • Remove duplicate license
  • Require Config::Any
  • Fix cmd_aliases for flags (fixed by William Barker)
  • Remove smartmatch (implemented by Petr Pisar)
  • Allow to override build date with SOURCE_DATE_EPOCH (implemented by Bernhard M. Wiedemann)

Documentation

getting started with MooseX::App
Writing plugins for MooseX::App

Modules

Write user-friendly command line apps with even less suffering
Load command class metaclasses
Message presented to the user
Meta attribute role for options
Meta class role for application base class
Meta class role for command classes
Parsed logical element from @ARGV
Parsed value from @ARGV
Bash completion for your MooseX::App applications
Colorful output for your MooseX::App applications
Config files your MooseX::App applications
Config files in users home directory
Adds dependent options
Adds a command to display the full manual
Adds mutually exclusive options
Allows one to specify options/parameters via terminal prompts
Handle typos in command names
Adds a command to display the version and license of your application
Define attributes in a role
Single command applications
Utility functions

Provides

in lib/MooseX/App/Plugin/Depends/Meta/Attribute.pm
in lib/MooseX/App/Plugin/MutexGroup/Meta/Attribute.pm
in lib/MooseX/App/Meta/Role/Attribute/Option.pm
in lib/MooseX/App/Plugin/Term/Meta/Attribute.pm
in lib/MooseX/App/Exporter.pm
in lib/MooseX/App/Message/BlockColor.pm
in lib/MooseX/App/Meta/Role/Class/Command.pm
in lib/MooseX/App/Meta/Role/Class/Simple.pm
in lib/MooseX/App/Message/Envelope.pm
in lib/MooseX/App/Plugin/BashCompletion/Command.pm
in lib/MooseX/App/Plugin/BashCompletion/Meta/Class.pm
in lib/MooseX/App/Plugin/Color/Meta/Class.pm
in lib/MooseX/App/Plugin/Config/Meta/Class.pm
in lib/MooseX/App/Plugin/ConfigHome/Meta/Class.pm
in lib/MooseX/App/Plugin/Depends/Meta/Attribute.pm
in lib/MooseX/App/Plugin/Depends/Meta/Class.pm
in lib/MooseX/App/Plugin/Env.pm
in lib/MooseX/App/Plugin/Fuzzy.pm
in lib/MooseX/App/Plugin/Man/Command.pm
in lib/MooseX/App/Plugin/Man/Meta/Class.pm
in lib/MooseX/App/Plugin/MutexGroup/Meta/Attribute.pm
in lib/MooseX/App/Plugin/MutexGroup/Meta/Class.pm
in lib/MooseX/App/Plugin/Term/Meta/Attribute.pm
in lib/MooseX/App/Plugin/Term/Meta/Class.pm
in lib/MooseX/App/Plugin/Typo/Meta/Class.pm
in lib/MooseX/App/Plugin/Version/Command.pm
in lib/MooseX/App/Plugin/Version/Meta/Class.pm
in lib/MooseX/App/Role/Base.pm
in lib/MooseX/App/Role/Common.pm