App-Raider
view release on metacpan or search on metacpan
.claude/skills/perl-release-author-getty/SKILL.md view on Meta::CPAN
- `alien_msys` - Use MSYS on Windows
- `alien_autoconf_with_pic` - Pass --with-pic to autoconf
- `alien_isolate_dynamic` - Isolate dynamic libraries
- `alien_version_check` - Command to check installed version
**Custom build commands (for non-autoconf projects):**
- `alien_build_command` - Custom build commands (multi-value, use `%s` for prefix)
- `alien_install_command` - Custom install commands (multi-value)
- `alien_test_command` - Custom test commands (multi-value)
**Dependencies:**
- `alien_bin_requires` - Build dependencies (multi-value)
### Run Hooks (prefix `run_`)
- `run_before_build`, `run_after_build`
- `run_before_release`, `run_after_release`
- `run_release`, `run_test`
## POD Commands (Pod::Elemental::Transformer::Author::GETTY)
### Section Commands (â =head1)
- `=synopsis` â `=head1 SYNOPSIS`
- `=description` â `=head1 DESCRIPTION`
- `=seealso` â `=head1 SEE ALSO`
### Inline Commands (â =head2)
- `=attr name` â `=head2 name`
- `=method method_name` â `=head2 method_name`
- `=func func_name` â `=head2 func_name`
- `=opt` - CLI options
- `=env` - Environment variables
- `=hook` - Hooks
- `=example` - Examples
**Auto-generated sections (do NOT write manually):**
NAME, VERSION, AUTHOR, SUPPORT, CONTRIBUTING, COPYRIGHT
## Versioning Convention â CRITICAL
**The version in the repository is always the NEXT release version, not the current one.**
Before a release, the files already contain the upcoming version:
- `dist.ini` or module `$VERSION` = e.g. `1.005`
- `Changes` has `{{$NEXT}}` as the placeholder for unreleased changes
- The currently released version on CPAN is `1.004`
After `dzil release` runs:
1. `{{$NEXT}}` in Changes is replaced with `1.005` + release date
2. The version is bumped to `1.006` (or next AutoVersion value)
3. A Git tag `v1.005` is created
**Do NOT treat the version in dist.ini as the released version.** If the user asks "what version is released?", check CPAN or git tags â not the current `$VERSION` in the files.
**Do NOT bump the version manually before a release** â `dzil release` handles this automatically.
## Release Workflow
```bash
# Before release: check Changes, ensure {{$NEXT}} section has entries
# Then:
dzil release # Builds, tests, uploads to CPAN, bumps version, commits, tags
```
## Conventions
1. `copyright_year` IS used in dist.ini â GETTY has it in ALL distributions, do NOT remove it
2. No `=head1 SUPPORT/AUTHOR/COPYRIGHT` in POD
3. Use inline `=attr`/`=method` directly after code
4. Dependencies in `cpanfile`, not dist.ini
5. Changes file with `{{$NEXT}}` for unreleased
6. For XS+Alien modules: use `xs_alien = Alien::Foo` (auto-configures MakeMaker::Awesome)
( run in 0.556 second using v1.01-cache-2.11-cpan-b16cb0d3907 )