NAME
App::karr::Config - Board configuration management
VERSION
version 0.201
SYNOPSIS
my $config = App::karr::Config->new(
file => path('/tmp/karr-materialized/config.yml'),
);
my @statuses = $config->statuses;
DESCRIPTION
App::karr::Config wraps the board configuration file and centralises access to derived values such as status names, priority order, and merged effective defaults. It is used by command modules that need a structured view of the materialized board config instead of working with raw YAML hashes. In the ref-first architecture the canonical config lives in refs/karr/config, while this class works with the temporary YAML file generated for a command run.
SEE ALSO
karr, App::karr, App::karr::BoardStore, App::karr::Task, App::karr::Git
priority_order
Returns a hash for sorting tasks by priority.
my %order = App::karr::Config->priority_order;
# (critical => 0, high => 1, medium => 2, low => 3)
class_order
Returns a hash for sorting tasks by class of service.
my %order = App::karr::Config->class_order;
# (expedite => 0, 'fixed-date' => 1, standard => 2, intangible => 3)
is_terminal_status
Returns true if the given status is terminal (done or archived).
if (App::karr::Config->is_terminal_status($task->status)) {
# task is in a terminal state
}
terminal_statuses
Returns a list of terminal status names.
my @terminal = App::karr::Config->terminal_statuses;
SUPPORT
Issues
Please report bugs and feature requests on GitHub at https://github.com/Getty/karr/issues.
IRC
Join #langertha on irc.perl.org or message Getty directly.
CONTRIBUTING
Contributions are welcome! Please fork the repository and submit a pull request.
AUTHOR
Torsten Raudssus <getty@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2026 by Torsten Raudssus <torsten@raudssus.de> https://raudssus.de/.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.