Working as a team
Several people can work in one project, each with their own assistant sessions, because every entry is its own file and every personal view is its own file.
Switch on team mode
Section titled “Switch on team mode”Set mode: team in the Project section of docs/ai/config.md. init leaves a project at solo when it sees only one author. The mode changes one thing, when an entry gets its short id, and you can switch back and forth at any time; ids already assigned stay.
Ids on the default branch
Section titled “Ids on the default branch”In solo mode the assistant gives a task (T7), backlog item (B5), question (Q12) or todo (U3) its id at once. Two people doing that on separate branches would hand out the same number, so in team mode an entry has only a file name until it reaches the default branch, for example T-anna-20261004-1030-fix-login.md. Cite the file name until then.
python .act/scripts/entries.py assign hands out the missing ids. On a feature branch it changes nothing and says so. The act-commit skill runs it when closing out a task: it renames each file and reports <old> -> <new>, and you stage both paths, the old one as a deletion, so a clone that already has the old file does not keep it lying around.
Addressing with for:
Section titled “Addressing with for:”Entries and tasks carry a for: header: all for everyone, or a workspace identity, the short name in .act-local/identity.json. A task is created for the current identity unless you pass --for; todos, reports and notes default to all. The board lists your tasks and shared ones, and with board-others on (the default in team mode) a separate section for tasks assigned to other people. Your inbox view .act-local/inbox-<identity>.md collects the open entries addressed to you or to all.
Per-person files
Section titled “Per-person files”| File | Who writes | Versioned |
|---|---|---|
docs/ai/concept/ideas-<identity>.md |
only its owner | yes |
docs/ai/board.md (default board: docs) |
generated per checkout | no, gitignored |
docs/ai/board-<identity>.md (board: shared) |
generated by act-commit |
yes |
.act-local/** (identity, state, feedback, inbox view) |
per machine | no |
With board: shared, each person’s versioned board lets the others see open tasks without sharing a working tree. Someone else’s ideas file is theirs: read it, write into your own.
What to merge how
Section titled “What to merge how”- Entry files (inbox, tasks, backlog, journal) are one file per entry, so two people rarely touch the same file. The journal and every new entry carry a
created:timestamp, so two branches filing the same title never produce a silent merge of identical files. - Generated files (
CLAUDE.md,AGENTS.md,docs/ai/rules.md) are markedmerge=oursin.gitattributes, anddocs/ai/board-*.mdtoo. If no merge driver is registered (git config merge.ours.driver true), git merges normally; the session start re-derives an unchanged bridge, and the next commit rewrites a board file, so a stale one never survives. docs/ai/config.mdand your own rules are shared project decisions; merge them by hand like any other source file.- Updating the template: other branches get an update only with the merge. An update on a non-default branch gives one note saying so.
See Work entries for the entry kinds and Configuration for mode and board.