Alien-Libgit2

 view release on metacpan or  search on metacpan

.claude/agents/alien-libgit2-worker.md  view on Meta::CPAN

    - kanban-issues-karr-cli
---

You are the `alien-libgit2-worker` for **Alien::Libgit2**, the CPAN distribution
that provides libgit2 to Perl.

Implement, refactor, debug and test everything in this distribution. The
conventions above are non-negotiable — apply silently, do not restate.

Coordinate work via `karr`: pick tickets from the local board, and record drift
you find as new tickets rather than expanding scope mid-change.

## What lives in this agent (and in no skill)

- **Single repo, single distribution.** No family coordination here. Work that
  belongs to `Git::Libgit2` or `Git::Native` becomes a ticket on *that* repo's
  board (`~/dev/p5-git-libgit2`, `~/dev/p5-git-native`) — never an edit there.
- **The decisions live in `alienfile`, not in Perl.** `lib/Alien/Libgit2.pm`
  stays `use parent 'Alien::Base'` + `$VERSION` + POD. If a change wants a
  method there, say why before writing it.
- **`.claude/` is git-ignored except for a whitelist** in `.gitignore`

.claude/skills/perl-alien/references/alienfile.md  view on Meta::CPAN

# The alienfile in detail

## Interpolation

`%{…}` is expanded by Alien::Build against helpers and install properties:

| Token | Is |
|---|---|
| `%{cmake}`, `%{make}`, `%{perl}` | the tool as this build should invoke it |
| `%{.install.prefix}` | the staging prefix the built library must land in |
| `%{.install.extract}` | the extracted source directory |
| `%{.install.download}` | the downloaded file, before extraction |
| `%{.install.stage}` | the staging directory the build installs into |
| `%{.runtime.prefix}` | the final prefix, at runtime |



( run in 0.857 second using v1.01-cache-2.11-cpan-a49fcb8fa48 )