Files
Chris Sells d2f87d50de docs(pipeline): pin the CLI docs to the released bd; repair main's broken CLI reference (#4876)
* docs(pipeline): pin the generated CLI docs to the released bd; repair main's CLI reference

The #4874 squash-merge raced the docs-autofix bot: the bot had pushed a
regeneration from main's source onto the PR branch, so the squash landed a
contradictory mix — the release-aligned hand-written docs plus a CLI
reference re-documenting unreleased commands and flags, with docs.json
referencing four pages (heartbeat, migrate-personal, reclaim, unclaim)
whose files do not exist. That broken nav fails the docsync guard on main
and on every branch cut from it. This restores the intended end state of
#4874 and lands the pin that prevents the race from recurring.

- Regenerate the CLI reference from a bd built from the v1.1.0 tag (CI's
  canonical pure-Go build), removing the unreleased commands/flags and
  fixing the dangling nav entries.
- docs/cli-docs.pin names the release tag; scripts/resolve-docs-bd.sh
  builds and caches a canonical pure-Go bd from that tag, fetching the tag
  first in shallow CI checkouts.
- generate-cli-docs.sh, check-doc-flags.sh, and check-cli-docs-drift.sh
  resolve bd through the pin and ignore a supplied binary while pinned
  (BD_DOCS_IGNORE_PIN=1 bypasses), so the drift gates and the autofix bot
  now enforce docs-match-release instead of docs-match-main.
- tools/docsmint detects the pre-overhaul Docusaurus staging layout that
  bd <= v1.1.0 emits and converts it to the generic form before its normal
  Mintlify transform (tested); removable once the pin reaches a release
  whose emitter writes build/cli-docs.
- check-doc-flags.sh: run without timeout(1) on macOS instead of failing
  Check 4.
- Decision record: engdocs/decisions/2026-07-17-docs-release-pin.md; the
  beads-docs skill §8 updated to match.

* lint: annotate gosec G705 false positive in the docsmint legacy bridge

Same class as the existing nav-splice annotation: a developer tool writing
repo Markdown, not a web-output sink.
2026-07-17 18:03:28 -07:00

3.2 KiB

title, description
title description
bd query Query issues using a simple query language that supports compound filters,

{/* AUTO-GENERATED: do not edit manually */}

Generated from bd help --doc query.

Query issues using a simple query language that supports compound filters, boolean operators, and date-relative expressions.

The query language enables complex filtering that would otherwise require multiple flags or piping through jq.

Syntax: field=value Equality comparison field!=value Inequality comparison field>value Greater than field>=value Greater than or equal field<value Less than field<=value Less than or equal

Boolean operators (case-insensitive): expr AND expr Both conditions must match expr OR expr Either condition can match NOT expr Negates the condition (expr) Grouping with parentheses

Supported fields: status Stored status (open, in_progress, blocked, deferred, closed). Note: dependency-blocked issues stay "open"; use 'bd blocked' to find them priority Priority level (0-4) type Issue type (bug, feature, task, epic, chore, decision) assignee Assigned user (use "none" for unassigned) owner Issue owner label Issue label (use "none" for unlabeled) title Search in title (contains) description Search in description (contains, "none" for empty) notes Search in notes (contains) created Creation date/time updated Last update date/time started Date/time issue first transitioned to in_progress closed Close date/time id Issue ID (supports wildcards: bd-*) spec Spec ID (supports wildcards) pinned Boolean (true/false) ephemeral Boolean (true/false) template Boolean (true/false) parent Parent issue ID mol_type Molecule type (swarm, patrol, work)

Date values: Relative durations: 7d (7 days ago), 24h (24 hours ago), 2w (2 weeks ago) Absolute dates: 2025-01-15, 2025-01-15T10:00:00Z Natural language: tomorrow, "next monday", "in 3 days"

Examples: bd query "status=open AND priority>1" bd query "status=open AND priority<=2 AND updated>7d" bd query "(status=open OR status=blocked) AND priority<2" bd query "type=bug AND label=urgent" bd query "NOT status=closed" bd query "assignee=none AND type=task" bd query "created>30d AND status!=closed" bd query "label=frontend OR label=backend" bd query "title=authentication AND priority=0"

bd query [expression] [flags]

Flags:

  -a, --all           Include closed issues (default: exclude closed)
  -n, --limit int     Limit results (default: 50, 0 = unlimited) (default 50)
      --long          Show detailed multi-line output for each issue
      --offset int    Skip the first N matching results (0-based). Only supported under --proxied-server.
      --parse-only    Only parse the query and show the AST (for debugging)
  -r, --reverse       Reverse sort order
      --sort string   Sort by field: priority, created, updated, closed, status, id, title, type, assignee