Crypt-Age
view release on metacpan or search on metacpan
cover_db/
# Carton / local libs
cpanfile.snapshot
local/
# karr (git-native kanban â board lives in refs/karr/*, these are local logs)
.karr.log
.karr.state
# Editor backups
*~
*.swp
*.bak
# karr materialized task view -- never commit
tasks/
config.yml
# skilletor: committe Config + Ignore-Block
!.claude/skilletor.json
misc/agent-context/.claude/skills/kanban-issues-karr-coordination/SKILL.md view on Meta::CPAN
the board name to a directory by that basename (from `--board NAME=PATH` or the
fleet config) â a clone parked anywhere else is a card no one can trace back.
A fresh `git clone` carries no `refs/karr/*`, but `create` pulls the board
first (it is a mutating command), so the new id continues the remote's count â
no separate `karr sync --pull`. To record the new card as
something work *here* waits on, escalate it â
[references/cross-board.md](references/cross-board.md).
## Output flags
`--json` is taken by every board command, not by `backup`, `restore`,
`destroy`, `sync`, `set-refs`, `get-refs`. `--compact` exists on exactly nine:
`board`, `config`, `context`, `dashboard`, `list`, `log`, `metrics`, `pick`,
`show` â anywhere else it is `Unknown option: compact`, exit 2.
## When you need more
| Need | Read |
|---|---|
| Every option of `create`, `show`, `move`, `edit`, `delete`, `archive`; dependency rules | [references/cards.md](references/cards.md) |
| `list` filters and sorting, `board`, `dashboard`, `log`, `metrics`, `context --write-to` | [references/queries.md](references/queries.md) |
| `pick` ordering, `handoff` options, `unlock` for stale locks, timeouts, several agents on one board | [references/claims.md](references/claims.md) |
| A card waits on another repository: `--needs BOARD#ID`, `--escalated-from`, `karr needs --resolve` | [references/cross-board.md](references/cross-board.md) |
| `config get/set`, writable keys, the config YAML, `disable`/`enable` for karr-foundation | [references/config.md](references/config.md) |
| `sync`, fresh clones, stored card format, `materialize`/`import`, `repair`, `backup`/`restore`/`destroy`, `set-refs`/`get-refs` | [references/storage.md](references/storage.md) |
| `init`, `skill install/check/update`, `completion`, Docker | [references/setup.md](references/setup.md) |
misc/agent-context/.claude/skills/kanban-issues-karr-coordination/references/storage.md view on Meta::CPAN
karr repair # report what would change
karr repair --yes # migrate
```
Boards written by karr 0.402 or earlier stored UTF-8 double-encoded; they are
repaired on read meanwhile, and this migrates the refs once. It also raises a
`started` stamp written as a bare date (before k68) up to the card's own
`created` â the dry run says how many cards. `completed` stamps with the same
problem are reported, not touched.
## backup / restore / destroy
```bash
karr backup > karr-backup.yml
karr backup --output karr-backup.yml
karr restore --yes < karr-backup.yml # replaces the whole refs/karr/* namespace
karr restore --yes --input karr-backup.yml
karr destroy --yes # deletes refs/karr/* here AND on the remote
```
`restore` and `destroy` are destructive; take a `backup` first.
## Helper refs
```bash
karr set-refs superpowers/spec/1234.md draft ready # arguments joined with one space: a one-line payload
karr set-refs superpowers/spec/1234.md < design.md # no content argument: stdin, stored verbatim
karr get-refs superpowers/spec/1234.md > design.md # back unchanged
```
Shared payloads in Git refs outside the protected namespaces (`refs/karr/*`,
( run in 1.360 second using v1.01-cache-2.11-cpan-3f962061493 )