Alien-gettext

 view release on metacpan or  search on metacpan

.claude/skills/alien-gettext-core/SKILL.md  view on Meta::CPAN

**The share build needs the network** — unlike a bundled-tarball Alien, this one
has no source in `share/` and fetches from GNU at install time. A GNU mirror
outage, or the newest tarball changing name/shape, breaks the share build. If an
offline/pinned install is ever required, that is a real design change (bundle a
tarball or set `alien_exact_filename`), not a tweak.

## The pattern picks "newest on the mirror"

`Dist::Zilla::Plugin::Alien` defaults the download pattern to
`^gettext-([\d\.]+)\.tar\.gz$` (prefix = module name minus `Alien-`, i.e.
`gettext-`; version `([\d\.]+)`; suffix `\.tar\.gz`). It selects the
highest-versioned match in `alien_repo`. Nothing pins a version — a new GNU
release is picked up automatically on the next share install. Set
`alien_pattern*` / `alien_exact_filename` in `dist.ini` if that ever needs
constraining.

## `alien_bins` is the authoritative tool set

The ten tools this distribution promises: `msgfmt msgfilter msgcmp msgcomm
xgettext msgexec msguniq msginit msgunfmt msgconv`. This list — not the POD — is
the contract; each name becomes a share-install wrapper. Note the POD synopsis in

.claude/skills/kanban-issues-karr-cli/SKILL.md  view on Meta::CPAN

bodies) a card is `k12`, never `#12` — the forge resolves `#12` against its
own issue 12.

## Name yourself once

```bash
export KARR_CLAIM=$(karr agent-name)     # the checkout's directory name, e.g. "karr"
```

Claims are matched by name: `--claim` stamps it, `handoff` checks it,
`list --claimed-by` selects on it. Every command that takes `--claim` defaults
to `KARR_CLAIM`, so export it once per session and leave `--claim` off. An
explicit `--claim NAME` still wins. Agents in separate worktrees already differ
by name; several agents in the **same** directory take
`karr agent-name --unique` (`karr-8fa`).

## Read the board

```bash
karr list --compact                      # open cards, one line each
karr board                               # per-column summary; --done shows the final column too

.claude/skills/kanban-issues-karr-cli/references/claims.md  view on Meta::CPAN

# Claims: pick, handoff, unlock, several agents on one board

## The claim name

Claims are matched by name: `--claim` stamps it, `handoff` and `pick` check
it, `list --claimed-by` and `log --agent` select on it. Every command taking
`--claim` (`create`, `move`, `edit`, `pick`, `handoff`, `delete`, `archive`)
and `list --claimed-by` defaults to `KARR_CLAIM`; an explicit `--claim NAME`
wins over it. `create` is narrower: it takes `KARR_CLAIM` only when `--status`
names a `require_claim` column, so a card filed for others stays unclaimed.
karr writes the name nowhere — it is per process, so concurrent agents never
see each other's.

```bash
export KARR_CLAIM=$(karr agent-name)            # the worktree's root directory name, sanitised: "karr", "graphify-fix"
export KARR_CLAIM=$(karr agent-name --unique)   # several agents in ONE directory: "karr-8fa"

.claude/skills/kanban-issues-karr-cli/references/cross-board.md  view on Meta::CPAN

directories. karr maps the name to a directory from `--board NAME=PATH` or
from the fleet config, matching the repository's directory basename.

`--resolve` settles a link whose far card has reached one of the **far**
board's own terminal statuses, and lifts `blocked` when a card's last link
settles, printing the reason it lifted. A far card that does not exist settles
nothing. A board this machine cannot place is reported, not fatal.

Like `depends_on`, a cross-board link blocks nothing by itself: `pick` hands
the card over and says what it waits on. The `blocked` flag is what keeps the
card out of `pick` and out of karr-foundation's selection — the link is the
fact, `blocked` is the decision.

## How it is stored

The links ride in `tags` (`needs:BOARD#ID`, `escalated-from:BOARD#ID`), not
in a frontmatter field of their own: kanban-md marshals a card from its own
struct and would drop an unmodelled key the first time it writes, while `tags`
is modelled on both sides.



( run in 2.772 seconds using v1.01-cache-2.11-cpan-e623d60df62 )