NAME
App::karr::Cmd::Create - Create a new task
VERSION
version 0.601
SYNOPSIS
karr create "Fix login bug"
karr create --title "Write release notes" --priority high --status todo
karr create --title "Review API" --tags docs,review --body "Check CLI help"
karr create "Ship it" --depends-on 2,3
karr create "Wait for the fix" --needs other-repo#7
DESCRIPTION
Creates a new task in the ref-backed board. The new task inherits defaults from the materialized board config and can be seeded with metadata such as priority, class of service, due date, tags, and body text.
OPTIONS
--titleExplicit task title. If omitted, the first positional argument is used. Giving the title both ways at once --
karr create TITLE --title OTHER-- is rejected as a usage error (exit 2): the two can hold different strings and nothing decides which one was meant.--status,--priority,--classOverride the configured default lifecycle values for the new task.
--assignee,--tags,--due,--estimatePopulate optional frontmatter fields at creation time.
--depends-onComma-separated ids of tasks this one depends on, same shape as
--tags. Every id must name a task on this board; an unknown or non-numeric id rejects the create as a usage error before an id is allocated, so nothing is burned (ticket #54). Taking the new card up while a dependency is unfinished warns -- see App::karr::Cmd::Move.--needs,--escalated-fromThe two ends of a cross-board dependency, comma-separated
<board>#<id>references:--needsfor a card that cannot proceed until something is fixed in another repository,--escalated-fromfor the card raised in that other repository to record where the escalation came from. Only the syntax is validated -- whether the far board is on this machine is local configuration, so the lookup belongs tokarr needsand not here. See App::karr::CrossBoard.--bodyAdds Markdown body text below the YAML frontmatter.
--claimClaim the new task for an agent, stamping
claimed_byandclaimed_atexactly askarr move --claimdoes. A status the board'srequire_claimlist covers is refused without it, with the invocation that would have worked as the last line of the error.KARR_CLAIM(ADR 0005) stands in for the flag only when--statusnames a column that requires a claim -- the card is being started right now, and the remembered claim is what satisfies that refusal and is then written. Without--status, or with one that needs no claim, the environment is not consulted and the card is filed unclaimed: a Claim is a lease held while working a card, and a card filed into the backlog for whoever picks it next is not being worked. Before ticket #286 the filer's remembered claim landed on every card, which hid a freshly filed bug from every other agent'skarr pickandkarr list --unclaimeduntilclaim_timeoutran out. An explicit--claimstamps the claim on any status.--jsonEmit the created card in the same shape
karr show --jsonuses -- frontmatter plus body, one object -- and nothing else on stdout, so a caller can pipe the new id into the next step.
SEE ALSO
karr, App::karr, App::karr::Cmd::List, App::karr::Cmd::Show, App::karr::Cmd::Edit, App::karr::Cmd::Move
SUPPORT
Issues
Please report bugs and feature requests on GitHub at https://github.com/Getty/karr/issues.
IRC
Join #langertha on irc.perl.org or message Getty directly.
CONTRIBUTING
Contributions are welcome! Please fork the repository and submit a pull request.
AUTHOR
Torsten Raudssus <getty@cpan.org>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2026 by Torsten Raudssus <torsten@raudssus.de> https://raudssus.de/.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)