English · Русский
A CloudCLI tab with the beads (bd) issue
tree of whichever project is currently open in the panel: the hierarchy on the
left, a card for the selected issue on the right with every property, text block
and link.
Reads issues, creates them and edits their properties. The tree and the card
are read through bd --readonly; writes travel a separate, structurally distinct
path and never mix with reads. The plugin cannot delete issues and never creates a
git commit.
Every screenshot in this repository is a test artefact, rendered by
npm run preview on the synthetic fixture in tests/fixture.mjs — no real project
is pictured.
- A real tree — hierarchy by
parent/parent-childlinks, virtualized: on a 1169-issue project only 10–40 rows live in the DOM and the first tree paints in about a second. - Columns, sorting and filters that stick — twelve toggleable columns, sorting that reorders siblings without ever taking a child out from under its parent, and multi-select filters for status, type, priority, readiness, tags and assignee, all remembered per project.
- Search that doesn't ship your repo to the browser — instant client-side search over IDs, titles and tags; descriptions, design, criteria and notes are searched on the backend.
- A board when the tree is not the question — one lane per status, the same filters and search, and a card dragged into another lane changes its status.
- Charts when the question is "how many" — six breakdowns of exactly the filtered issues (assignee, status, priority, readiness, type, tag) as horizontal bars, in the same palette the tree and board already use.
- A card, not a dump — every property, Markdown text blocks, linked issues as sortable tables that fold away with a progress bar over their statuses, and the comment thread. An issue key spelled out in the text is a link to that issue.
- Write from the tab — create issues, edit their fields, change status, post
comments. Status changes go through
bd close/bd reopen, soclosed_atand the close reason stay honest; set your name once in Settings and comments are signed with it. - Sync in one button — reconciles
issues.jsonland the database both ways, never letting older data overwrite newer. - Watch the agents work — auto-refresh against a cheap change marker highlights what changed without disturbing your selection, scroll or open branches.
- Works without a database too — with only
issues.jsonlthe tab reads that and goes read-only, sobditself is optional. - Russian and English, light and dark, single-column on a phone. Zero dependencies, no build step.
More pictures: the whole interface, screenshot by screenshot.
- CloudCLI UI with the plugin system (Settings → Plugins).
- Node 18.15+ — the runtime the panel starts the backend with. Nothing else:
dist/is hand-written ESM with zero dependencies, so there is no install step and nothing to build. - beads (
bd) onPATH— optional. With it the tab reads throughbd --readonlyand can write; without it (or on a project whose database isn't hydrated) it falls back to.beads/issues.jsonland stays read-only — see Two modes.
CloudCLI installs plugins by git clone:
- In CloudCLI UI open Settings → Plugins → Install from URL.
- Paste
https://github.com/DrStannum/cloudcli-plugin-beads.git(anhttps://orgit@URL; the repo must havemanifest.jsonat its root). - Enable Beads, then open the new tab from the sidebar.
The panel starts the backend and adds the tab itself. Installed by hand, the plugin
lives in ~/.claude-code-ui/plugins/cloudcli-beads/ — clone or symlink it there and
enable it in the same place.
The full description lives in docs/:
| What the tab does | Every part of the interface: tree, board, charts, columns, filters, card, comments, Settings, editing, Sync, two-card mode, phone layout, languages |
Two modes: bd and jsonl |
Where the data comes from, and what the read-only fallback cannot do |
| Screenshots | The whole interface in both themes and both languages |
| How reading works | One call per snapshot, the change marker, the boundaries |
| How writing works | What can be changed, why no git commit is ever created, how Sync works |
| Privacy and issue text | What keeps text from a repository from becoming markup or output |
| Design notes | The palette, and why no colour carries the message alone |
| Development and tests | The four suites, what each needs, what the preview run asserts |
Bug reports and patches are welcome — CONTRIBUTING.md has the setup (there isn't any), how to run the tests, and the handful of invariants a change has to respect. Behaviour of the tab is discussed in an issue before it is written; fixes can arrive as a pull request straight away.
Found a security problem? Please report it privately — see SECURITY.md. Released versions are listed in CHANGELOG.md.
- beads — the issue tracker this tab reads and writes.
- CloudCLI UI — the panel the tab lives in, and its plugin documentation.
- cloudcli-plugin-starter — the template every CloudCLI plugin begins from.
MIT © 2026 DrStannum — see LICENSE.
