# Tasks

> Ask an agent to break the work into tasks, line a CLI up on each, and start them together — then one list shows who has what, what is waiting on you, and what finished while you were out.

Once you have four chats running, the question stops being "what is this
agent doing" and becomes "what is happening, and what needs me".

**Tasks** is that screen.

## What is on it

One list per project: a title, a note, a priority, and open or done. Under each
row are the **chats it has been the subject of**, so every task carries
its own history.

![the tasks screen — a project's list, with the chats under each row](https://beafk.app/docs-shots/tasks.webp)

The list tells you three things at a glance: who has what, what is waiting on
you, and what finished while you were out.

## A project can span folders

A project here is a name you chose and the directories it covers, which is often
more than one. The front end and the back end in separate repositories are one
project with one list.

The list you get by default is the one that covers the folder you are standing
in.

## Where the rows live

In beafk's own database on the machine, keyed by machine and project. **Not in a
file.** So the same list is on your phone and on your laptop, and no repository
has to carry a `TODO.md` that goes stale in a branch.

## Putting an agent on one

From a task row, line a CLI up on it: pick the agent, write the brief it should
open with, and it sits there as a **draft** with a ▶ beside it. Press that and
the chat starts, already linked to the task.

## Starting a morning's work in one go

A draft starts nothing until you press it. Write four of them across four tasks
— a different agent on each, whichever suits that piece — and then start the
lot. Four agents go to work on four rows of one list, and the list is what you
watch.

A draft you change your mind about is taken back off without leaving a trace.
The chats that really ran are the task's history and are never removed
by this.

Work handed out by a [crew](https://beafk.app/docs/what-a-crew-is.md) lands on these rows the same
way, so one sentence to one agent can end up as several rows moving at once.

## Ticking one off

**Done**, and reopening undoes it. Nothing is deleted, so a finished task and
the chats that did it are still readable next month.

## From a terminal

Everything on the screen is on the command line too:

```sh
beafk tasks list                          # what is open here
beafk tasks add "…"                       # write one down
beafk tasks show BFC-12                   # one task, its note and its chats
beafk tasks draft BFC-12 --agent codex \
  --brief "…"                             # line a CLI up on it, ready to start
beafk tasks done BFC-12                   # tick it off
beafk tasks reopen BFC-12                 # put it back on the list
```

A task is addressed by the handle on its row — the project's short key and a
number, `BFC-12` — and never by the number alone.

Agents use the same commands, which is how a chat ends up filed against
the right row without you doing it.

## Keep it small

This is a work list, not a project management tool. There is no board, no
sprint, no burndown.

---

beafk documentation · Projects · https://beafk.app/docs/tasks

In this section:
- Tasks — https://beafk.app/docs/tasks.md (this page)
- Git — https://beafk.app/docs/git.md
- Commands — https://beafk.app/docs/commands.md
- Two agents, one file — https://beafk.app/docs/holding-files.md

Every page, one line each: https://beafk.app/docs/llms.txt
All of it in one file: https://beafk.app/docs/llms-full.txt
