SYNOPSIS
In your base class:
package MyApp;
use MooseX::App qw(Config);
option 'global_option' => (
is => 'rw',
isa => 'Int',
);
In your command class:
package MyApp::Some_Command; use MooseX::App::Command; extends qw(MyApp); option 'some_option' => ( is => 'rw', isa => 'Str', );
Now create a config file (see Config::Any) eg. a yaml file:
--- global: global_option: 123 some_command: global_option: 234 some_option: "hello world"
The user can now call the program with a config file:
bash$ myapp some_command --config /path/to/config.yml