@snarkipus/opencode-beads 0.9.4 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/README.md +85 -22
  2. package/package.json +14 -13
  3. package/src/agents.ts +82 -0
  4. package/src/context.ts +148 -0
  5. package/src/guard.ts +138 -0
  6. package/src/guidance.ts +53 -0
  7. package/src/host.ts +140 -0
  8. package/src/instructions.ts +49 -0
  9. package/src/plugin.ts +9 -9
  10. package/src/prime.ts +23 -12
  11. package/src/opencode-runtime.ts +0 -156
  12. package/src/plugin-core.ts +0 -347
  13. package/src/plugin-hooks.ts +0 -56
  14. package/src/vendor-adaptations.ts +0 -146
  15. package/src/vendor-provenance.ts +0 -252
  16. package/src/vendor.ts +0 -277
  17. package/vendor/agents/task-agent.md +0 -61
  18. package/vendor/commands/audit.md +0 -28
  19. package/vendor/commands/blocked.md +0 -15
  20. package/vendor/commands/close.md +0 -18
  21. package/vendor/commands/comments.md +0 -30
  22. package/vendor/commands/compact.md +0 -31
  23. package/vendor/commands/create.md +0 -19
  24. package/vendor/commands/decision.md +0 -111
  25. package/vendor/commands/delete.md +0 -32
  26. package/vendor/commands/dep.md +0 -101
  27. package/vendor/commands/epic.md +0 -27
  28. package/vendor/commands/export.md +0 -25
  29. package/vendor/commands/import.md +0 -18
  30. package/vendor/commands/init.md +0 -18
  31. package/vendor/commands/label.md +0 -33
  32. package/vendor/commands/list.md +0 -64
  33. package/vendor/commands/prime.md +0 -10
  34. package/vendor/commands/quickstart.md +0 -13
  35. package/vendor/commands/ready.md +0 -15
  36. package/vendor/commands/rename-prefix.md +0 -24
  37. package/vendor/commands/reopen.md +0 -22
  38. package/vendor/commands/restore.md +0 -27
  39. package/vendor/commands/search.md +0 -103
  40. package/vendor/commands/show.md +0 -17
  41. package/vendor/commands/stats.md +0 -17
  42. package/vendor/commands/sync.md +0 -17
  43. package/vendor/commands/template.md +0 -337
  44. package/vendor/commands/update.md +0 -24
  45. package/vendor/commands/version.md +0 -26
  46. package/vendor/commands/workflow.md +0 -58
  47. package/vendor/manifest.json +0 -168
@@ -1,31 +0,0 @@
1
- ---
2
- description: Compact old closed issues using semantic summarization
3
- argument-hint: [--all] [--id issue-id] [--dry-run]
4
- ---
5
-
6
- Reduce database size by summarizing closed issues no longer actively referenced.
7
-
8
- ## Compaction Tiers
9
-
10
- - **Tier 1**: Semantic compression (30+ days closed, ~70% size reduction)
11
- - **Tier 2**: Ultra compression (90+ days closed) — planned, not yet implemented
12
-
13
- ## Usage
14
-
15
- - **Preview candidates**: `bd admin compact --dry-run`
16
- - **Compact all eligible**: `bd admin compact --all`
17
- - **Compact specific issue**: `bd admin compact --id bd-42`
18
- - **Force compact**: `bd admin compact --id bd-42 --force` (bypass age checks)
19
- - **View statistics**: `bd admin compact --stats`
20
-
21
- ## Options
22
-
23
- - **--tier**: Choose compaction tier (1 or 2, default: 1)
24
- - **--workers**: Parallel workers (default: 5)
25
- - **--batch-size**: Issues per batch (default: 10)
26
-
27
- ## Important
28
-
29
- This is **permanent graceful decay** - original content is discarded. Use `bd restore <id>` to view full history from git if needed.
30
-
31
- Useful for long-running projects to keep database size manageable.
@@ -1,19 +0,0 @@
1
- ---
2
- description: Create a new issue interactively
3
- argument-hint: [title] [type] [priority]
4
- ---
5
-
6
- Create a new beads issue. If arguments are provided:
7
- - $1: Issue title
8
- - $2: Issue type (bug, feature, task, epic, chore, decision)
9
- - $3: Priority (0-4, where 0=critical, 4=backlog)
10
-
11
- If arguments are missing, ask the user for:
12
- 1. Issue title (required)
13
- 2. Issue type (default: task)
14
- 3. Priority (default: 2)
15
- 4. Description (optional)
16
-
17
- Use the beads MCP `create` tool to create the issue. Show the created issue ID and details to the user.
18
-
19
- Optionally ask if this issue should be linked to another issue (discovered-from, blocks, parent-child, related).
@@ -1,111 +0,0 @@
1
- ---
2
- description: Record, list, and manage project decisions with rationale tracking
3
- argument-hint: record|list|show|supersede
4
- ---
5
-
6
- Record and track project decisions as beads issues with structured rationale, alternatives considered, and links to affected work.
7
-
8
- Decisions use `--type decision`. The description field holds the structured decision record.
9
-
10
- ## Record a Decision
11
-
12
- When the user wants to record a decision (or you invoke `bd decision record`):
13
-
14
- 1. Gather the following (ask if not provided):
15
- - **Title**: Short summary of what was decided (required)
16
- - **Rationale**: Why this was chosen (required)
17
- - **Alternatives**: What else was considered (optional but encouraged)
18
- - **Affects**: Issue IDs this decision impacts (optional)
19
- - **Priority**: How important (default P2)
20
-
21
- 2. Create the issue with structured description:
22
-
23
- ```bash
24
- bd create "<title>" --type decision \
25
- --description "$(cat <<'EOF'
26
- ## Decision
27
-
28
- <one-sentence summary of what was decided>
29
-
30
- ## Rationale
31
-
32
- <why this was chosen>
33
-
34
- ## Alternatives Considered
35
-
36
- - **<alt 1>**: <why rejected>
37
- - **<alt 2>**: <why rejected>
38
-
39
- ## Affects
40
-
41
- - <issue IDs or area descriptions>
42
- EOF
43
- )"
44
- ```
45
-
46
- 3. If `--affects` issue IDs were provided, link them:
47
- ```bash
48
- bd dep add <decision-id> <affected-id> --type related
49
- ```
50
-
51
- 4. Show the created decision to the user.
52
-
53
- ## List Decisions
54
-
55
- ```bash
56
- bd list --type decision
57
- ```
58
-
59
- To see all decisions including closed/superseded:
60
- ```bash
61
- bd list --type decision --all
62
- ```
63
-
64
- ## Show a Decision
65
-
66
- ```bash
67
- bd show <decision-id>
68
- ```
69
-
70
- Include comments for discussion history:
71
- ```bash
72
- bd comments <decision-id>
73
- ```
74
-
75
- ## Supersede a Decision
76
-
77
- When a decision is replaced by a new one:
78
-
79
- 1. Record the new decision (as above)
80
- 2. Link the new decision to the old one:
81
- ```bash
82
- bd dep add <new-id> <old-id> --type related
83
- ```
84
- 3. Add a comment on the old decision:
85
- ```bash
86
- bd comments add <old-id> "Superseded by <new-id>: <brief reason>"
87
- ```
88
- 4. Close the old decision:
89
- ```bash
90
- bd close <old-id> --reason "Superseded by <new-id>"
91
- ```
92
-
93
- ## Add Context to an Existing Decision
94
-
95
- Use comments to append discussion, implementation notes, or revisit rationale:
96
- ```bash
97
- bd comments add <decision-id> "Implementation note: ..."
98
- ```
99
-
100
- ## Search Decisions
101
-
102
- ```bash
103
- bd search "keyword" --type decision
104
- ```
105
-
106
- ## Conventions
107
-
108
- - **Status**: `open` = active decision, `closed` = superseded or reversed
109
- - **Description format**: Use the structured template above for consistency
110
- - **Linking**: Use `related` dependency type to connect decisions to affected issues
111
- - **Labels**: Use labels for categorizing decisions (e.g., `architecture`, `tooling`, `process`)
@@ -1,32 +0,0 @@
1
- ---
2
- description: Delete issues and clean up references
3
- argument-hint: [issue-ids...] [--force]
4
- ---
5
-
6
- Delete one or more issues and clean up all references.
7
-
8
- ## Safety Features
9
-
10
- - **Preview mode**: Default shows what would be deleted
11
- - **--force**: Required to actually delete
12
- - **--dry-run**: Preview collision detection
13
- - **Dependency checks**: Fails if issue has dependents (unless --cascade or --force)
14
-
15
- ## Batch Deletion
16
-
17
- - Delete multiple: `bd delete bd-1 bd-2 bd-3 --force`
18
- - Delete from file: `bd delete --from-file deletions.txt --force`
19
-
20
- ## Dependency Handling
21
-
22
- - **Default**: Fails if issue has dependents not in deletion set
23
- - **--cascade**: Recursively delete all dependent issues
24
- - **--force**: Delete and orphan dependents
25
-
26
- ## What Gets Deleted
27
-
28
- 1. All dependency links (any type, both directions)
29
- 2. Text references updated to "[deleted:ID]" in connected issues
30
- 3. Issue removed from database
31
-
32
- This operation cannot be undone. Use with caution!
@@ -1,101 +0,0 @@
1
- ---
2
- description: Manage dependencies between issues
3
- argument-hint: [command] [from-id] [to-id]
4
- ---
5
-
6
- Manage dependencies between beads issues.
7
-
8
- ## Available Commands
9
-
10
- - **add**: Add a dependency between issues
11
- - $1: "add"
12
- - $2: From issue ID
13
- - $3: To issue ID
14
- - $4: Dependency type (blocks, related, parent-child, discovered-from)
15
-
16
- - **remove**: Remove a dependency
17
- - $1: "remove"
18
- - $2: From issue ID
19
- - $3: To issue ID
20
-
21
- - **tree**: Show dependency tree for an issue
22
- - $1: "tree"
23
- - $2: Issue ID
24
- - Flags:
25
- - `--reverse`: Show dependent tree (what was discovered from this) instead of dependency tree (what blocks this)
26
- - `--format mermaid`: Output as Mermaid.js flowchart (renders in GitHub/GitLab markdown)
27
- - `--json`: Output as JSON
28
- - `--max-depth N`: Limit tree depth (default: 50)
29
- - `--show-all-paths`: Show all paths (no deduplication for diamond dependencies)
30
-
31
- - **cycles**: Detect dependency cycles
32
-
33
- ## Dependency Types
34
-
35
- - **blocks**: Hard blocker (from blocks to) - affects ready queue
36
- - **related**: Soft relationship - for context only
37
- - **parent-child**: Epic/subtask relationship
38
- - **discovered-from**: Track issues found during work
39
-
40
- ## Mermaid Format
41
-
42
- The `--format mermaid` option outputs the dependency tree as a Mermaid.js flowchart:
43
-
44
- **Example:**
45
- ```bash
46
- bd dep tree bd-1 --format mermaid
47
- ```
48
-
49
- Output can be embedded in markdown:
50
-
51
- ````markdown
52
- ```mermaid
53
- flowchart TD
54
- bd-1["◧ bd-1: Main task"]
55
- bd-2["☑ bd-2: Subtask"]
56
-
57
- bd-1 --> bd-2
58
- ```
59
- ````
60
-
61
- **Status Indicators:**
62
-
63
- Each node includes a symbol indicator for quick visual status identification:
64
-
65
- - ☐ **Open** - Not started yet (empty checkbox)
66
- - ◧ **In Progress** - Currently being worked on (half-filled box)
67
- - ⚠ **Blocked** - Waiting on something (warning sign)
68
- - ☑ **Closed** - Completed! (checked checkbox)
69
-
70
- The diagram colors are determined by your Mermaid theme (default, dark, forest, neutral, or base). Mermaid diagrams render natively in GitHub, GitLab, VSCode markdown preview, and can be imported to Miro.
71
-
72
- ## Examples
73
-
74
- - `bd dep add bd-10 bd-20 --type blocks`: bd-10 depends on bd-20 (bd-20 blocks bd-10)
75
- - `bd dep tree bd-20`: Show what blocks bd-20 (dependency tree going UP)
76
- - `bd dep tree bd-1 --reverse`: Show what was discovered from bd-1 (dependent tree going DOWN)
77
- - `bd dep tree bd-1 --reverse --max-depth 3`: Show discovery tree with depth limit
78
- - `bd dep tree bd-20 --format mermaid > tree.md`: Generate Mermaid diagram for documentation
79
- - `bd dep cycles`: Check for circular dependencies
80
-
81
- ## Reverse Mode: Discovery Trees
82
-
83
- The `--reverse` flag inverts the tree direction to show **dependents** instead of **dependencies**:
84
-
85
- **Normal mode** (`bd dep tree ISSUE`):
86
- - Shows what blocks you (dependency tree)
87
- - Answers: "What must I complete before I can work on this?"
88
- - Tree flows **UP** toward prerequisites
89
-
90
- **Reverse mode** (`bd dep tree ISSUE --reverse`):
91
- - Shows what was discovered from you (dependent tree)
92
- - Answers: "What work was discovered while working on this?"
93
- - Tree flows **DOWN** from goal to discovered tasks
94
- - Perfect for visualizing work breakdown and discovery chains
95
-
96
- **Use Cases:**
97
- - Document project evolution and how work expanded from initial goal
98
- - Share "how we got here" context with stakeholders
99
- - Visualize work breakdown structure from epics
100
- - Track discovery chains (what led to what)
101
- - Show yak shaving journeys in retrospectives
@@ -1,27 +0,0 @@
1
- ---
2
- description: Epic management commands
3
- argument-hint: [command]
4
- ---
5
-
6
- Manage epics (large features composed of multiple issues).
7
-
8
- ## Available Commands
9
-
10
- - **status**: Show epic completion status
11
- - Shows progress for each epic
12
- - Lists child issues and their states
13
- - Calculates completion percentage
14
-
15
- - **close-eligible**: Close epics where all children are complete
16
- - Automatically closes epics when all child issues are done
17
- - Useful for bulk epic cleanup
18
-
19
- ## Epic Workflow
20
-
21
- 1. Create epic: `bd create "Large Feature" -t epic -p 1`
22
- 2. Link subtasks: `bd dep add bd-20 bd-10 --type parent-child` (task bd-20 is child of epic bd-10)
23
- - Or at creation: `bd create "Subtask title" -t task --parent bd-10`
24
- 3. Track progress: `bd epic status`
25
- 4. Auto-close when done: `bd epic close-eligible`
26
-
27
- Epics use parent-child dependencies to track subtasks.
@@ -1,25 +0,0 @@
1
- ---
2
- description: Export issues to JSONL format
3
- argument-hint: [-o output-file]
4
- ---
5
-
6
- Export all issues to JSON Lines format (one JSON object per line).
7
-
8
- ## Usage
9
-
10
- - **To stdout**: `bd export`
11
- - **To file**: `bd export -o issues.jsonl`
12
- - **Filter by status**: `bd export --status open`
13
-
14
- Issues are sorted by ID for consistent diffs, making git diffs readable.
15
-
16
- ## When to Use
17
-
18
- Dolt is the primary storage backend, so manual export is rarely needed. Use `bd export` when you need:
19
- - A JSONL snapshot of issue records
20
- - Data migration to another system
21
- - Sharing issues outside the Dolt workflow
22
-
23
- `bd export` is not a full database backup. It does not capture Dolt branches,
24
- commit history, working-set state, or non-issue tables. Use `bd backup` for a
25
- restorable Dolt-native database backup.
@@ -1,18 +0,0 @@
1
- ---
2
- description: Import issues from JSONL format (removed)
3
- argument-hint: (removed)
4
- ---
5
-
6
- `bd import` has been **removed**.
7
-
8
- ## Migration
9
-
10
- If you need to import issues from a JSONL file, use `bd init` with the `--from-jsonl` flag:
11
-
12
- ```bash
13
- bd init <prefix> --from-jsonl issues.jsonl
14
- ```
15
-
16
- ## Note
17
-
18
- Dolt is the primary storage backend. Manual JSONL import is no longer supported as a standalone command.
@@ -1,18 +0,0 @@
1
- ---
2
- description: Initialize beads in the current project
3
- argument-hint: [prefix]
4
- ---
5
-
6
- Initialize beads issue tracking in the current directory.
7
-
8
- If a prefix is provided as $1, use it as the issue prefix (e.g., "myproject" creates issues like myproject-1, myproject-2). If not provided, the default is the current directory name.
9
-
10
- Use the beads MCP `init` tool with the prefix parameter (if provided) to set up a new beads database.
11
-
12
- After initialization:
13
- 1. Show the database location
14
- 2. Show the issue prefix that will be used
15
- 3. Explain the basic workflow (or suggest running `/beads:workflow`)
16
- 4. Suggest creating the first issue with `/beads:create`
17
-
18
- If beads is already initialized, inform the user and show project stats using the `stats` tool.
@@ -1,33 +0,0 @@
1
- ---
2
- description: Manage issue labels
3
- argument-hint: [command] [issue-id] [label]
4
- ---
5
-
6
- Manage labels on beads issues. Labels provide flexible cross-cutting metadata beyond structured fields (status, priority, type).
7
-
8
- ## Available Commands
9
-
10
- - **add**: Add a label to an issue
11
- - $1: "add"
12
- - $2: Issue ID
13
- - $3: Label name
14
-
15
- - **remove**: Remove a label from an issue
16
- - $1: "remove"
17
- - $2: Issue ID
18
- - $3: Label name
19
-
20
- - **list**: List labels on a specific issue
21
- - $1: "list"
22
- - $2: Issue ID
23
-
24
- - **list-all**: Show all labels used across all issues
25
-
26
- ## Common Label Use Cases
27
-
28
- - Technical scope: `backend`, `frontend`, `api`, `database`
29
- - Quality gates: `needs-review`, `needs-tests`, `security-review`
30
- - Effort sizing: `quick-win`, `complex`, `spike`
31
- - Context: `technical-debt`, `documentation`, `performance`
32
-
33
- Use `bd label add <issue-id> <label>` to tag issues with contextual metadata.
@@ -1,64 +0,0 @@
1
- ---
2
- description: List issues with optional filters
3
- argument-hint: [--status] [--priority] [--type] [--assignee] [--label]
4
- ---
5
-
6
- List beads issues with optional filtering.
7
-
8
- ## Basic Filters
9
-
10
- - **--status, -s**: Filter by status (open, in_progress, blocked, closed)
11
- - **--priority, -p**: Filter by priority (0-4: 0=critical, 1=high, 2=medium, 3=low, 4=backlog)
12
- - **--type, -t**: Filter by type (bug, feature, task, epic, chore, decision)
13
- - **--assignee, -a**: Filter by assignee
14
- - **--label, -l**: Filter by labels (comma-separated, must have ALL labels)
15
- - **--label-any**: Filter by labels (OR semantics, must have AT LEAST ONE)
16
- - **--title**: Filter by title text (case-insensitive substring match)
17
- - **--limit, -n**: Limit number of results
18
-
19
- ## Advanced Filters
20
-
21
- ### Pattern Matching
22
- - **--title-contains**: Search for text in title (case-insensitive)
23
- - **--desc-contains**: Search for text in description (case-insensitive)
24
- - **--notes-contains**: Search for text in notes (case-insensitive)
25
-
26
- ### Date Ranges
27
- - **--created-after**: Issues created after date (YYYY-MM-DD or ISO 8601)
28
- - **--created-before**: Issues created before date
29
- - **--updated-after**: Issues updated after date
30
- - **--updated-before**: Issues updated before date
31
- - **--closed-after**: Issues closed after date
32
- - **--closed-before**: Issues closed before date
33
-
34
- ### Priority Range
35
- - **--priority-min**: Minimum priority (inclusive)
36
- - **--priority-max**: Maximum priority (inclusive)
37
-
38
- ### Empty/Null Checks
39
- - **--empty-description**: Find issues with no description
40
- - **--no-assignee**: Find unassigned issues
41
- - **--no-labels**: Find issues with no labels
42
-
43
- ## Examples
44
-
45
- ### Basic Usage
46
- - `bd list --status open --priority 1`: High priority open issues
47
- - `bd list --type bug --assignee alice`: Alice's assigned bugs
48
- - `bd list --label backend,needs-review`: Backend issues needing review
49
- - `bd list --title "auth"`: Issues with "auth" in the title
50
-
51
- ### Advanced Usage
52
- - `bd list --title-contains "auth" --status open`: Search open issues for auth-related work
53
- - `bd list --priority-min 0 --priority-max 1`: Critical and high priority issues only
54
- - `bd list --created-after 2025-01-01 --status open`: Recent open issues
55
- - `bd list --empty-description --status open`: Open issues missing descriptions
56
- - `bd list --no-assignee --priority 1`: High priority unassigned work
57
- - `bd list --desc-contains "TODO" --notes-contains "review"`: Find items needing attention
58
-
59
- ## Output Formats
60
-
61
- - Default: Human-readable table
62
- - `--json`: JSON format for scripting
63
- - `--format digraph`: Graph format for golang.org/x/tools/cmd/digraph
64
- - `--format dot`: Graphviz DOT format
@@ -1,10 +0,0 @@
1
- Load AI-optimized workflow context for beads issue tracking.
2
-
3
- Outputs essential beads workflow rules and command reference to help agents remember to use bd instead of markdown TODOs after context compaction.
4
-
5
- ```bash
6
- bd prime
7
- bd prime --memories-only
8
- ```
9
-
10
- Use `--memories-only` when a hook should inject durable project memories without the full workflow guide.
@@ -1,13 +0,0 @@
1
- ---
2
- description: Quick start guide for bd workflows (deprecated)
3
- argument-hint: []
4
- ---
5
-
6
- **Note:** The `bd quickstart` command is deprecated. See the [Quick Start](https://gastownhall.github.io/beads/getting-started/quickstart) on the documentation site, or the repo pointer [docs/QUICKSTART.md](../docs/QUICKSTART.md).
7
-
8
- The quickstart documentation covers:
9
- - Getting started with bd
10
- - Common workflow patterns
11
- - Basic commands
12
- - Dependency management
13
- - Git integration
@@ -1,15 +0,0 @@
1
- ---
2
- description: Find ready-to-work tasks with no blockers
3
- ---
4
-
5
- Use the beads MCP server to find tasks that are ready to work on (no blocking dependencies).
6
-
7
- Call the `ready` tool to get a list of unblocked issues. Then present them to the user in a clear format showing:
8
- - Issue ID
9
- - Title
10
- - Priority
11
- - Issue type
12
-
13
- If there are ready tasks, ask the user which one they'd like to work on. If they choose one, use the `claim` tool to start work atomically.
14
-
15
- If there are no ready tasks, suggest checking `blocked` issues or creating a new issue with the `create` tool.
@@ -1,24 +0,0 @@
1
- ---
2
- description: Rename the issue prefix for all issues
3
- argument-hint: <new-prefix> [--dry-run]
4
- ---
5
-
6
- Rename the issue prefix for all issues in the database.
7
-
8
- Updates all issue IDs and all text references across all fields.
9
-
10
- ## Prefix Rules
11
-
12
- - Max length: 8 characters
13
- - Allowed: lowercase letters, numbers, hyphens
14
- - Must start with a letter
15
- - Must end with a hyphen (e.g., 'kw-', 'work-')
16
-
17
- ## Usage
18
-
19
- - **Preview**: `bd rename-prefix kw- --dry-run`
20
- - **Apply**: `bd rename-prefix kw-`
21
-
22
- Example: Rename from 'knowledge-work-' to 'kw-'
23
-
24
- All dependencies and text references are automatically updated.
@@ -1,22 +0,0 @@
1
- ---
2
- description: Reopen closed issues
3
- argument-hint: [issue-ids...] [--reason]
4
- ---
5
-
6
- Reopen one or more closed issues.
7
-
8
- Sets status to 'open' and clears the closed_at timestamp. Emits a Reopened event.
9
-
10
- ## Usage
11
-
12
- - **Reopen single**: `bd reopen bd-42`
13
- - **Reopen multiple**: `bd reopen bd-42 bd-43 bd-44`
14
- - **With reason**: `bd reopen bd-42 --reason "Found regression"`
15
-
16
- More explicit than `bd update --status open` - specifically designed for reopening workflow.
17
-
18
- Common reasons for reopening:
19
- - Regression found
20
- - Requirements changed
21
- - Incomplete implementation
22
- - New information discovered
@@ -1,27 +0,0 @@
1
- ---
2
- description: Restore full history of compacted issue from git
3
- argument-hint: <issue-id>
4
- ---
5
-
6
- Restore full history of a compacted issue from git version control.
7
-
8
- When an issue is compacted, the git commit hash is saved. This command:
9
-
10
- 1. Reads the compacted_at_commit from the database
11
- 2. Retrieves the full issue from Dolt history at that point
12
- 3. Displays the full issue history (description, events, etc.)
13
- 4. Returns to the current state
14
-
15
- ## Usage
16
-
17
- `bd restore bd-42`
18
-
19
- This is **read-only** - it does not modify the database or git state.
20
-
21
- Useful for:
22
- - Reviewing old issues after compaction
23
- - Recovering forgotten context
24
- - Audit trails
25
- - Historical research
26
-
27
- Requires git repository with issue history.