aki
The board

Filters

A filter is a short query. It is used for a pane's filter, a space's scope, and on the command line.

an example
is:todo source:gitlab repo:web,api -is:draft by:alex export

Terms are separated by spaces and must all hold. key:a,b holds when any value does. A leading - negates a term. A bare word is searched in the reference, the title, the repository and the person.

Terms

TermKeeps
is:todo, is:waitingOne side of the board.
is:draftDraft changes. The only way to see drafts kept apart.
is:snoozedWhat you set aside, which nothing else shows.
source:gitlab,jiraItems from any of these sources, by the name you gave them.
repo:webRepositories or projects whose path contains it.
kind:reviewTasks listed for a rule whose name contains it, looking at every reason. aki rules names the rules.
top:draftThe same, looking only at the most pressing reason.
role:authorauthor, reviewer, assignee, participant.
by:alexThe person on the other side.
heat:hot,warmTasks marked hot or warm; calm for the others.
ticket:PROJChanges that name a ticket whose key contains it. ticket:any: any ticket.
priority:high,highestTickets of that priority, and the changes that name one.
agent:blockedTasks whose agent is working, blocked, done, idle or open. agent:any: has one.
exportA word in the reference, title, repository or person.
-termEverything the term does not keep.

Where filters are used

PlaceHow
A pane/ in the board. The pane narrows as you type; Esc puts the previous filter back.
A space's scopeS in the board.
The command lineaki list --filter "repo:web kind:review"
The filescope and filter in spaces.toml.
An assistantThe filter argument of list_tasks.

Recipes

To seeFilter
Reviews and re-reviews to dois:todo kind:review
Everything about one repositoryrepo:api
What cannot waitis:todo heat:hot
Your draftsis:draft role:author
Agents that wait for youagent:blocked
Work tied to high-priority ticketspriority:high,highest
What you wait on from one personis:waiting by:alex

A filter that does not parse is refused with the reason: an unknown key, or a value the key does not take.