NAME

karr - Kanban Assignment & Responsibility Registry

VERSION

version 0.102

SYNOPSIS

karr init --name "My Project"
karr create "Fix login bug" --priority high
karr move 1 in-progress --claim swift-fox
karr board
karr backup > karr-backup.yml

DESCRIPTION

karr is the primary command line interface for App::karr. It manages a Git-native kanban board whose canonical state lives in refs/karr/*, plus optional helper payloads in non-protected refs outside that namespace.

Run it from inside a Git repository. Commands discover the repository root, pull the current board refs, materialize a temporary board view for the command run, and then write changes back to Git refs. In normal use this means you can interact with shared task state without checking a persistent karr/ directory into the work tree.

The script is the best starting point when you want to understand the CLI as a user. For architecture notes, Docker background, and Perl-facing examples, see App::karr.

CLI WORKFLOW

A typical session looks like this:

  1. Create the board once with App::karr::Cmd::Init.

  2. Add and inspect tasks with App::karr::Cmd::Create, App::karr::Cmd::List, App::karr::Cmd::Show, and App::karr::Cmd::Board.

  3. Progress work with App::karr::Cmd::Move, App::karr::Cmd::Edit, App::karr::Cmd::Pick, and App::karr::Cmd::Handoff.

  4. Export, restore, or remove board state with App::karr::Cmd::Backup, App::karr::Cmd::Restore, and App::karr::Cmd::Destroy.

COMMANDS

Board Setup And Configuration

  • App::karr::Cmd::Init

    Creates the initial board in refs/karr/* and can install the bundled project skill for Claude Code.

  • App::karr::Cmd::Config

    Shows or updates writable board settings such as the board name, defaults, and claim timeout.

  • App::karr::Cmd::Context

    Generates a compact board summary for embedding into files such as AGENTS.md.

  • App::karr::Cmd::Skill

    Installs, checks, updates, or prints the bundled skill file for Claude Code, Codex, and Cursor.

Task Lifecycle

Board Flow And Coordination

Snapshot And Recovery

Helper Refs

DOCKER USAGE

The CLI works well through the published Docker image. A common alias is:

alias karr='docker run --rm -it -w /work -e HOME=/home/karr \
  -v "$(pwd):/work" \
  -v "$HOME/.gitconfig:/home/karr/.gitconfig:ro" \
  -v "$HOME/.claude:/home/karr/.claude" \
  -v "$HOME/.codex:/home/karr/.codex" \
  raudssus/karr:latest'

That keeps the current repository mounted at /work and lets the default image adapt its runtime uid and gid to the owner of the mounted workspace. The CLI syntax stays the same after that:

karr board
karr skill install --agent codex --global --force

If you prefer a fixed non-root runtime, use raudssus/karr:user instead. That image defaults to uid and gid 1000:1000 and is intended as the predictable base for downstream custom images. Custom fixed-user derivatives can override KARR_UID and KARR_GID at build time.

EXAMPLES

Initialize a new board and install the project-local Claude Code skill:

karr init --name "HandyIntelligence Prototype" --claude-skill

Claim and start the next task for a generated agent:

NAME=$(karr agentname)
karr pick --claim "$NAME" --move in-progress

Export the board before trying a destructive restore:

karr backup > karr-backup.yml
karr restore --yes < karr-backup.yml

SEE ALSO

App::karr, App::karr::Task, App::karr::BoardStore, App::karr::Git, App::karr::Cmd::Init, App::karr::Cmd::Skill, App::karr::Cmd::Backup, App::karr::Cmd::Restore

SUPPORT

Issues

Please report bugs and feature requests on GitHub at https://github.com/Getty/p5-app-karr/issues.

IRC

Join #ai on irc.perl.org or message Getty directly.

CONTRIBUTING

Contributions are welcome! Please fork the repository and submit a pull request.

AUTHOR

Torsten Raudssus <torsten@raudssus.de>

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.