NAME

Skilletor::Render - Build an item in memory – the copy half of the reference's render.ts

VERSION

version 0.001

SYNOPSIS

use Skilletor::Render qw( build executables templates_of );

my $output = build( $catalog_item, $source_dir );       # [ [ 'skills/foo/SKILL.md', $bytes ], ... ]
my $exec   = executables( $catalog_item, $source_dir );  # { 'skills/foo/run.sh' => 1 }

DESCRIPTION

The reference's render.ts without Nunjucks (spec §5): every file of an item is copied byte for byte to its install path – a skill's files under skills/<name>/, an agent's or rule's under agents/ or rules/, wherever the item lies in its source – and a skill's files keep their source's executable bit (k99).

The Perl port renders no templates. "build" refuses an item with a .njk file; Skilletor::Engine never asks it to, and leaves such an item as it is installed (see "Templates" in Skilletor::Engine).

build

build( $item, $source_dir );

The item's output as an ordered list of [ install path, bytes ]; croaks for a templated item.

executables

executables( $item, $source_dir );

The install paths, as a hash set, of the files whose source has the owner's executable bit.

install_path

install_path( $item, 'plugins/x/skills/foo/SKILL.md' );   # skills/foo/SKILL.md

templates_of

The item's .njk files, relative to its source tree.

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.