Comments

Pin a conversation to a page or to lines of code, and move it to a decision.

View Markdown

Comments need a storage adapter. By default that's the project's Beads workspace, the same one Tasks uses, so run bd init once if the project doesn't have one. Without a ready adapter there are no comments anywhere: no comment tools on the canvas or in Pages, no comments sidebar and no discussions on tasks. bud doctor says what's missing, and Bud never saves comments somewhere else. See Storage.

On a page

Choose Comment in the toolbar and click the detail you mean. Write what should change, not just what feels off:

Give this headline more room above the collection. Keep the same spacing on /collection.

A comment remembers the element under it as well as the point: the element itself, the card, list item or section around it, and, with a framework picker, the component and its source line. A thread that knows its source links to that line in Files.

Every screenshot is saved with a map of the elements it shows, so a click names the element that was under it even after the page has changed, on your working tree or on a branch whose build has stopped. Each screenshot finds the commented elements again, so pins move with what they point at when the layout changes. When the element is gone and nothing in its place is the same block, the pin stays where it was, dashed, and its label says the element is no longer on the page. Reply with the new context or resolve it.

In Pages

Choose the crosshair in the Pages toolbar, then click an element of the live page; Esc cancels. With reactGrab() you pick with React Grab's own overlay. Bud opens a comment beside the spot, naming the element and its source. It belongs to the route's artboard on the canvas, pinned where the canvas shows that element, so only pages in your routes take comments. On a picture, the comment keeps the point you clicked, on the branch whose picture it is.

On code

In Files, select lines and press Ctrl/⌘+Alt+M. Code comments keep the exact text they were made on. When the code changes, Bud follows it where it can and marks the comment outdated where it can't, showing the original lines.

Replies and status

Reply to a thread or to a single message. Shift+Enter sends, as does Ctrl/⌘+Enter, and the send button spins until the comment is saved. A reply or status change shows at once, under "You" until it's saved; if it can't be saved, Bud takes it back and keeps your text. Replies from teammates' tabs and agents appear in open threads by themselves.

StatusMeaning
Without statusNew feedback.
In progressSomeone is working on it.
Needs approvalReady for another look.
ResolvedDone. The pin leaves the canvas.

The sidebar searches messages, authors and paths, and filters by status. Resolved threads stay searchable. Copy link gives every thread its own address, /comments/<id>, which opens it on its page or at its lines of code.

Deleting

Your own comments have a … menu with Delete comment; Bud asks once more before it deletes. Replies to it stay and move up to the message it answered. A thread's first comment can be deleted only while nobody has replied, and deleting it deletes the thread. Deleted comments disappear from Bud but stay in your Beads history, and a task's own first comment always stays. Only the comment's author sees the menu, and the server checks the author again.

Linking tasks

Make task in a placed thread's toolbar turns the thread into a task and opens it. The task's title is the first line of the comment; its description quotes the comment and says where it was made, the element and its source line, and links back to the thread. The thread is linked to the new task, so it shows there too.

A discussion can belong to several tasks. Use Link tasks in a thread or in a task's Discussion to pick them; the thread then shows on every linked task, with the others listed. This is how a pin on a page becomes tracked work.

Authors

Bud reads user.name and user.email from Git on the server for every message. There are no accounts, and a page can't choose an author.

Terminal

git config --local user.name "Your name"
git config --local user.email "you@example.com"

Comments save to your storage adapter. To share them with Beads, sync your workspace.