Beads stores issues in a local directory (.beads/) using a single file: issues.jsonl. Each line is a JSON object representing one issue. This file
is the source of truth for what AI is tracking.
The file is Git-committed alongside your code. This gives you:
- Version Control: Every change to an issue, every new piece of context, is tracked and auditable through Git history.
- Collaboration: Teams can share AI context and progress by simply pushing and pulling the
.beads directory. - Durability: The AI's memory is as persistent as the codebase itself, surviving system reboots, environment changes, and developer handovers.
The Beads Workflow
The interaction with Beads follows a clear, command-line driven workflow, enabling developers
to manage AI's memory explicitly:
# 1. Initiate a new issue or task
bd create "Implement user authentication via OAuth2"
# This creates a new entry in .beads/issues.jsonl
# The AI can now be prompted with context related to this issue.
# 2. Update an existing issue with new information or progress
bd update <issue_id> "Discovered a dependency conflict with 'passport-oauth2'. Investigating alternatives."
# The AI processes this update, adding it to the issue's history and context.
# This can be done across multiple sessions.
# 3. Close an issue once it's resolved
bd close <issue_id> "OAuth2 authentication successfully implemented and tested."
# Marks the issue as complete, but retains its history for future reference.
# 4. Synchronize the AI's memory with the team via Git
bd sync
# This command typically stages and commits changes to .beads/issues.jsonl
# and pushes them to the remote repository, making AI context shareable.
issues.jsonl Structure
| Field | Description | Example Value |
|---|
id | Unique identifier for the issue. | auth-001 |
status | Current state of the issue (open, closed, pending). | open |
title | Brief description of the issue. | Implement user authentication |
history | Array of chronological updates/notes. | [{"timestamp": "...", "content": "..."}] |
context_files | Relevant files for AI to consider. | ["src/auth.js", "package.json"] |