{"id":"paseo-beads","repo":"omercnet/paseo-plugins","url":"https://github.com/omercnet/paseo-plugins/tree/main/paseo-beads","name":"paseo-beads","description":"A dependency-aware Beads work queue for each Paseo workspace.","categories":["monitoring","productivity"],"platforms":[],"caveats":["Requires Paseo 0.8.x","Requires bd 1.0 or newer on the Paseo daemon host and an initialized Beads workspace","Read-only: does not create or update Beads issues"],"images":["https://raw.githubusercontent.com/omercnet/paseo-plugins/903317721ce66c4b55cb7ab7a00ea5f455cd6755/paseo-beads/docs/images/paseo-beads-wide.png","https://raw.githubusercontent.com/omercnet/paseo-plugins/903317721ce66c4b55cb7ab7a00ea5f455cd6755/paseo-beads/docs/images/paseo-beads-compact.png"],"health":{"manifestValid":true,"hasReadme":true,"hasLicense":true,"hasTests":true,"hasTypecheckScript":true,"updatedRecently":true},"scannedAt":"2026-09-11T08:04:01.544Z","path":"paseo-beads","security":{"status":"passed","blockingFindings":0,"advisoryFindings":0,"scannedAt":"2026-09-11T08:02:40.142Z","commit":"903317721ce66c4b55cb7ab7a00ea5f455cd6755"},"author":"Omer Cohen","license":"MIT","paseoVersionRequirement":"^0.8.0","manifest":{"id":"paseo-beads","requirements":{"paseo":"^0.8.0"}},"repoMeta":{"stars":1,"defaultBranch":"main","pushedAt":"2026-09-11T07:12:44Z"},"owner":{"login":"omercnet","avatarUrl":"https://avatars.githubusercontent.com/u/639682?v=4"},"installNotesHtml":"<p>Paseo plugins are trusted, unsandboxed code. Review the source before installing it on the daemon\nhost.</p>\n<p>From GitHub:</p>\n<pre><code class=\"language-bash\">paseo plugin add omercnet/paseo-plugins:paseo-beads\n</code></pre>\n<p>From a local checkout on the Paseo daemon host:</p>\n<pre><code class=\"language-bash\">git clone https://github.com/omercnet/paseo-plugins.git\ncd paseo-plugins/paseo-beads\nbun install --frozen-lockfile\npaseo plugin install \"$PWD\"\n</code></pre>\n<p>Open a workspace, choose <strong>New tab</strong> in Explorer, then select <strong>Beads</strong>. You can also run <strong>Open\nBeads</strong> from the Command Center while viewing a workspace or one of its agents.</p>","readmeText":"# Paseo Beads\n\nA dependency-aware Beads work queue for every Paseo workspace. Paseo Beads turns active issues into\na read-only delivery view that makes the ready frontier, work in progress, and blockers immediately\nvisible.\n\nIt adds a workspace-scoped **Beads** Explorer panel and an **Open Beads** Command Center item.\n\n## Screenshots\n\nIssue IDs, titles, assignees, labels, and issue details in these screenshots are synthetic. They do\nnot contain data from a real Beads project.\n\n### Wide\n\n![Paseo Beads wide work queue](docs/images/paseo-beads-wide.png)\n\n### Compact\n\n![Paseo Beads compact work queue](docs/images/paseo-beads-compact.png)\n\n## What it shows\n\n- Active issues grouped into **Ready frontier**, **In progress**, **Blocked**, and **Other** lanes.\n- Priority, issue ID, title, type, assignee, labels, and relationship and comment counts on each row.\n- Lane totals, text search over ID, title, assignee, and labels, and **All**, **P0–P1**, and\n  **Assigned** filters.\n- A detail view with status, readiness, priority, type, assignee, parent, labels, description,\n  acceptance criteria, design, notes, dependencies, dependents, and update time.\n- A side-by-side list and detail view when space permits, with list/detail navigation in compact\n  layouts.\n- A virtualized issue list, descriptive accessibility labels, and focus restoration when navigating\n  between the compact list and detail view.\n\nWithin each lane, issues are ordered by priority, most recent update, then ID. In-progress and hooked\nissues enter **In progress** first; remaining blocked issues enter **Blocked**; ready issues enter\n**Ready frontier**; all remaining active issues enter **Other**.\n\n## How it works\n\nThe panel calls workspace-scoped Paseo plugin RPC handlers. On the daemon host, each handler resolves\nthe workspace directory through Paseo and executes the `bd` CLI with `--readonly` and `-C`:\n\n- The list handler runs `bd list --json --sort priority`, then runs one authoritative\n  `bd list --ready --json --limit 0` query and intersects its IDs with the displayed issues.\n- Selecting an issue runs `bd show <issue-id> --json --include-dependents` plus the same authoritative\n  readiness query.\n\nThe server validates and normalizes the CLI JSON before returning bounded data to the panel. The\nplugin never reads or writes `.beads` storage directly and exposes no issue mutation controls.\n\nThe list and selected detail poll every 10 seconds. **Refresh** requests the list immediately. A\nfailed background refresh keeps the previous data visible with an inline error; initial and detail\nfailures provide a retry action.\n\n## Limits\n\n- Paseo `^0.8.0` with plugins enabled is required.\n- Beads `bd` 1.0 or newer must be available on the Paseo daemon's `PATH`.\n- A Beads project must be initialized in the workspace for issue data to appear.\n- CLI calls time out after 10 seconds and accept at most 8 MiB of output. Unexpected CLI details stay\n  in Paseo plugin logs; the panel receives a stable, sanitized error message.\n- At most 500 issues are displayed. When more exist, the panel warns that lane counts and local\n  search results may be incomplete.\n- The server rejects oversized IDs, titles, body fields, labels, relationships, comments, and\n  readiness sets rather than transferring unbounded data to the client.\n- Search and filters operate only on the displayed snapshot.\n- The panel distinguishes an unavailable `bd` binary, an uninitialized Beads project, an empty\n  project, request failures, and missing issue details.\n- This plugin is read-only and workspace-scoped. It uses the `bd` CLI exclusively and does not\n  create, edit, close, or assign issues.\n\n## Install\n\nPaseo plugins are trusted, unsandboxed code. Review the source before installing it on the daemon\nhost.\n\nFrom GitHub:\n\n```bash\npaseo plugin add omercnet/paseo-plugins:paseo-beads\n```\n\nFrom a local checkout on the Paseo daemon host:\n\n```bash\ngit clone https://github.com/omercnet/paseo-plugins.git\ncd paseo-plugins/paseo-beads\nbun install --frozen-lockfile\npaseo plugin install \"$PWD\"\n```\n\nOpen a workspace, choose **New tab** in Explorer, then select **Beads**. You can also run **Open\nBeads** from the Command Center while viewing a workspace or one of its agents.\n\n## Develop\n\n```bash\nbun install\nbun run check\nbun test\nbun run test:coverage\nbun run typecheck\npaseo plugin install \"$PWD\"\npaseo plugin reload paseo-beads\n```\n\nThe package is `@omercnet/paseo-beads` at version `0.0.1`. Release Please maintains versions,\nchangelog entries, component tags, and GitHub releases from Conventional Commits in the monorepo.\n"}