NAME
Skilletor::Entry - Install entries ([type:]name@source, patterns, bundles) and the names they hold
VERSION
version 0.001
SYNOPSIS
use Skilletor::Entry qw( parse_entry parse_bundle_entry name_key is_source_name );
my $item = parse_entry( 'skill:perl-moo@shared', 'skill', $file, 'install.skills[0]' );
# { type => 'skill', name => 'perl-moo', source => 'shared',
# target => 'skills/perl-moo', raw => 'skill:perl-moo@shared' }
my $bundle = parse_bundle_entry( 'bundle:perl@shared', $file, 'install.bundles[0]' );
# { name => 'perl', source => 'shared', raw => 'bundle:perl@shared' }
DESCRIPTION
The pieces of the reference's config.ts that read one install entry and the names in it. The last @ splits name and source; a type: prefix must name the list's type (bundle: under install.bundles); a name holding * is a pattern. Every error is a Skilletor::Error::Config worded as the reference words it, starting with the file and the entry's place (install.skills[2]).
parse_entry
parse_entry( $entry, $type, $file, $where );
An entry of install.skills, install.agents or install.rules. A pattern comes back the same way; "is_pattern" on its name tells it apart.
parse_bundle_entry
parse_bundle_entry( $entry, $file, $where );
seen_key
The key under which two entries of one scope are the same declaration.
name_key
An item name as a key: names equal ignoring case are one name, on every platform (they install into one directory on macOS and Windows).
is_source_name
^[A-Za-z0-9][A-Za-z0-9._-]*$.
is_pattern
True when a name contains *.
ITEM_TYPES
skill, agent, rule.
HARNESSES
claude, codex, hermes.
INSTALL_KEYS
The config keys skills, agents, rules with their types, as a list of pairs in this order; "INSTALL_KEY_OF" maps a type back.
INSTALL_KEY_OF
{ skill => 'skills', agent => 'agents', rule => 'rules' }.
WILDCARD
*, the character that makes a name a pattern.
BUNDLES_KEY
bundles, the install key listing bundle entries.
SOURCE_NAME_RULE
The source name rule in words, as error messages give it.
SUPPORT
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.