Loading video player...
Picture this. You're working on a
project in Claude. Then context fills
up. So you start a new conversation.
Then all of a sudden the agent doesn't
know what to do next. Sure, you can add
a markdown file, but for large projects
that can take up a lot of context, and
it's easy for the agent to mess up
priorities. Beads aims to fix all of
that by giving your agent an issue
tracker that can be version controlled
and can even be synced to Jira. But why
would anyone use this over SpecKit or
Kira? Let's find out. And before we do,
don't forget to hit subscribe.
Beads was created by the ex head of
engineering at SourceCraft, the same
company that created AMP, as a way to
chain issues together so that agents can
perform complex tasks in the right
order, which is what we're going to do
with this project and app to help me
view my brew packages. After setting up
beads in the project, we should have a
beads folder which contains an SQLite
database for all of our issues along
with some other database files, our
issues in a JSON lines format, the beads
demon to autoexport database changes to
JSONL for git compatibility, and the
socket enables storage and retrieval of
issues via CLI commands. We'll talk more
about CLI commands a bit later, but
basically for the other files, they work
in a really cool way. Take a look at
this. So because only JSONL files are
committed to the git repo, not the
SQLite binaries, if someone pushes a
change to git and someone else pulls
that change, the user pulls the updated
JSONL file, merge conflicts are resolved
if there are any and the data is updated
in the SQLite database, meaning user A
will have the same issues as user B.
This is known as a two-way sync, which
is really [music] cool. But at this
point, we don't have any issues. So
let's create one which we can either do
in the CLI use the beads MCP server or
just ask your coding agent directly
which will create all these issues and
even put them under the epic with
correct P levels. From here we can
update or delete issues if we don't
think they're needed. Then when you're
ready you can get your agent to start
working on the issues and it will
automatically update them with the
relevant progress until there are no
more open issues and the project is
completed. Of course, from here you
could go on to add more issues, epics,
even use a project specific database.
And if you don't want to keep running
commands to view the status of issues,
you could use the web UI or even sync it
with Jira. And for large projects, if
your database ends up growing in size,
beads has a compaction feature that
reduces the size of a database by
compressing old closed issues while
preserving their essential context. But
why would I use beads over the more
popular specd driven development? Well,
the biggest benefit is context. With
spec kit and other tools, you have
markdown and prd files, some of which
the agent needs to load in entirely,
which takes up a lot of context. But
with beads, the agents can just query
the database to get the information it
needs, which works especially well for
issues with dependencies since the
relationship is more explicit instead of
being part of a list. Meaning the LLM
can just follow the dependency graph and
the human so me is never afraid of
clearing the context because information
is never lost. Not to mention the
two-way syncing mechanism is better for
multiple agents even on different
machines to collaborate on the same
project. Personally, the mental model of
having issues, assignees, estimations,
and epics is much easier for me to get
my head around instead of thinking of
PRDs. But I do prefer the emphasis on
planning when it comes to specd driven
development that seems to be missing
from beads. So, one approach would be to
create a detailed markdown file using
something like spec kit and then using
beads to create the epics and issues.
But maybe it's just overkill for a small
to medium project. Anyway, what are your
thoughts on beads? Are you planning to
use it in a future project? Let me know
your thoughts in the comments. Again,
don't forget to subscribe.
Ever lost hours of work because Claude forgot everything between sessions? In this video, I reveal WHY Claude's memory disappears and exactly HOW Beads by Steve Yegge, the revolutionary memory upgrade system, solves this problem FOREVER! You'll discover how this lightweight issue tracker gives Claude persistent memory using SQLite as a distributed database via JSONL, allowing your AI coding assistant to maintain context across multiple sessions, track complex task dependencies, and never lose important work again. š Relevant Links Beads Quickstart - https://github.com/steveyegge/beads/blob/main/docs/QUICKSTART.md ā¤ļø More about us Radically better observability stack: https://betterstack.com/ Written tutorials: https://betterstack.com/community/ Example projects: https://github.com/BetterStackHQ š± Socials Twitter: https://twitter.com/betterstackhq Instagram: https://www.instagram.com/betterstackhq/ TikTok: https://www.tiktok.com/@betterstack LinkedIn: https://www.linkedin.com/company/betterstack š Chapters: 00:00 - Beads the issue tracker for you coding agent 00:31 - Why was Beads created? 00:49 - How Beads actually works 01:18 - The Clever two-way sync 01:48 - Creating issues in Beads 02:26 - Using the Beads web ui and Beads in JIRA 02:46 - Beads vs SpecKit and Kiro 03:42 - Combining SDD with Beads