mirror of
https://github.com/gastownhall/beads.git
synced 2026-09-14 20:17:24 +08:00
d2f87d50de
* 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.
48 lines
1.8 KiB
Markdown
48 lines
1.8 KiB
Markdown
---
|
|
title: "bd prune"
|
|
description: "Permanently delete closed non-ephemeral beads and their associated data."
|
|
---
|
|
|
|
{/* AUTO-GENERATED: do not edit manually */}
|
|
|
|
Generated from `bd help --doc prune`.
|
|
|
|
Permanently delete closed non-ephemeral beads and their associated data.
|
|
|
|
Use this to trim closed regular beads (tasks, features, bugs, chores, etc.)
|
|
that are no longer useful. The common case is a long-lived repo where
|
|
closed work has piled up and is bloating auto-export or slowing queries.
|
|
|
|
Requires --older-than or --pattern. The flag is a safety gate — without
|
|
it, a muscle-memory `--force` could wipe every closed bead in the repo.
|
|
Use `--pattern '*'` if you really do want to sweep everything closed.
|
|
|
|
Deletes: issues, dependencies, labels, events, and comments for matching beads.
|
|
Skips: pinned beads (protected), open/in-progress beads, and ephemeral beads.
|
|
|
|
To delete closed ephemeral beads (wisps, transient molecules) use
|
|
`bd purge` instead.
|
|
|
|
For full Dolt storage reclaim after deleting many rows, follow with `bd flatten`
|
|
so history can be collapsed and old chunks can be garbage-collected.
|
|
|
|
EXAMPLES:
|
|
bd prune --older-than 30d # Preview closed beads >30d old
|
|
bd prune --older-than 30d --force # Delete them
|
|
bd prune --older-than 90d --dry-run # Detailed preview with stats
|
|
bd prune --pattern "*" --force # Delete all closed regular beads
|
|
bd prune --pattern "gm-temp-*" --force # Scope to a pattern
|
|
|
|
```
|
|
bd prune [flags]
|
|
```
|
|
|
|
**Flags:**
|
|
|
|
```
|
|
--dry-run Preview what would be pruned with stats
|
|
-f, --force Actually prune (without this, shows preview)
|
|
--older-than string Only prune beads closed more than N ago (e.g., 30d, 2w, 60)
|
|
--pattern string Only prune beads matching ID glob pattern (e.g., 'gm-old-*')
|
|
```
|