boards
Boards: kanban boards in a space, for people and agents, the team's operational source of truth: one real outcome per card, with its owner, what done looks like, an honest column, and any blocker.
On this page 6
import { boards } from "@copilotz/work";What it keeps
It keeps 2 collections, each on the record: every change to one is an event.
| Collection | Kept as | Fields |
|---|---|---|
board | documents | in, name, description, columns, archived, by, at, updatedBy, updated |
card | documents | in, board, column, order, title, description, assignee, labels, due, by, at, updatedBy, updated |
The access rules cover board and card: each document is in a space, and only those who reach the space reach it.
What it lets callers do
Of its 7 Actions, people and agents may call all 7; contacts and someone signed out may call none.
| Action | Person | Agent | Contact | Anyone | Key | What it does |
|---|---|---|---|---|---|---|
board.create | yes | yes | no | no | yes | Makes a board in a space, with the usual columns unless given its own. |
board.delete | yes | yes | no | no | yes | Deletes a board, with its cards. |
board.update | yes | yes | no | no | yes | Changes a board: its name, description, columns, or whether it's archived. |
card.create | yes | yes | no | no | yes | Adds a card to a board: a title, and maybe its column, description, assignee, labels and due date. |
card.delete | yes | yes | no | no | yes | Deletes a card. |
card.move | yes | yes | no | no | yes | Moves a card: to a column, before or after another card, or to its top or bottom. |
card.update | yes | yes | no | no | yes | Changes a card: its title, description, assignee, labels or due date (null clears). |
An agent works for a person, and calls what both may. A key calls only what its scope names.
Agents act through its 6 tools, as whoever they work for:
| Tool | What it does | Calls |
|---|---|---|
create_board | Make a board in this space, for work that takes more than one step. | board.create |
create_card | Add a card to a board in this space: one real outcome, with its owner (assignee), what done looks like and any blocker in its description, and an honest column. | card.create |
list_boards | List the boards in this conversation's space: each one's name, link, and how many cards are in each column. | |
move_card | Move a card in this space (by its id from read_board, or its title) to a column of its board, by the column's name or id: when its state changes, not later. | card.move |
read_board | Read a board in this space (by its name or id; without one, the space's first): its columns in order, with their cards, each with its id, title, owner, labels, due date and a line of its description. | |
update_card | Change a card in this space (by its id from read_board, or its title): its title, description, assignee, labels (the whole set) or due date. | card.update |
It also adds rules every read and write keeps to (guard).
Where it shows
It shows to the model through its tools.
- Agents' tools:
create_board,create_card,list_boards,move_card,read_board,update_card. - Front ends:
boards-web.
What it needs
Nothing to set: it works as it comes.
What it requires
The runtime doesn't start without chat and spaces: add them too.
It ships in a package of its own, @copilotz/work@1.0.0-rc.34, for copilotz 1.0.0-rc.34: install it beside copilotz.
Listing
It keeps every listing rule.