Documentation
¶
Overview ¶
Package beads provides a minimal public API for extending bd with custom orchestration.
Most extensions should use direct SQL queries against bd's database. This package exports only the essential types and functions needed for Go-based extensions that want to use bd's storage layer programmatically.
For a working extension example, see examples/bd-example-extension-go.
Index ¶
- Constants
- func FindBeadsDir() string
- func FindDatabasePath() string
- type BlockedIssue
- type Comment
- type CommitInfo
- type Conflict
- type DatabaseInfo
- type Dependency
- type DependencyCounts
- type DependencyType
- type EpicStatus
- type Event
- type EventType
- type Issue
- type IssueFilter
- type IssueType
- type IssueWithCounts
- type IssueWithDependencyMetadata
- type Label
- type RedirectInfo
- type RemoteInfo
- type RemoteStore
- type SortPolicy
- type StaleFilter
- type Status
- type StatusEntry
- type Storage
- type SyncResult
- type SyncStatus
- type SyncStore
- type Transaction
- type TreeNode
- type VCStatus
- type VersionControlReader
- type WispFilter
- type WorkFilter
Constants ¶
const ( StatusOpen = types.StatusOpen StatusInProgress = types.StatusInProgress StatusBlocked = types.StatusBlocked StatusDeferred = types.StatusDeferred StatusClosed = types.StatusClosed )
Status constants
const ( TypeBug = types.TypeBug TypeFeature = types.TypeFeature TypeTask = types.TypeTask TypeEpic = types.TypeEpic TypeChore = types.TypeChore )
IssueType constants
const ( DepBlocks = types.DepBlocks DepRelated = types.DepRelated DepParentChild = types.DepParentChild DepDiscoveredFrom = types.DepDiscoveredFrom DepConditionalBlocks = types.DepConditionalBlocks // B runs only if A fails (bd-kzda) )
DependencyType constants
const ( SortPolicyHybrid = types.SortPolicyHybrid SortPolicyPriority = types.SortPolicyPriority SortPolicyOldest = types.SortPolicyOldest )
SortPolicy constants
const ( EventCreated = types.EventCreated EventUpdated = types.EventUpdated EventStatusChanged = types.EventStatusChanged EventCommented = types.EventCommented EventClosed = types.EventClosed EventReopened = types.EventReopened EventDependencyAdded = types.EventDependencyAdded EventDependencyRemoved = types.EventDependencyRemoved EventLabelAdded = types.EventLabelAdded EventLabelRemoved = types.EventLabelRemoved EventCompacted = types.EventCompacted )
EventType constants
Variables ¶
This section is empty.
Functions ¶
func FindBeadsDir ¶ added in v0.24.0
func FindBeadsDir() string
FindBeadsDir finds the .beads/ directory in the current directory tree. Returns empty string if not found.
func FindDatabasePath ¶
func FindDatabasePath() string
FindDatabasePath finds the beads database in the current directory tree
Types ¶
type BlockedIssue ¶ added in v0.12.0
type BlockedIssue = types.BlockedIssue
Core types from internal/types
type CommitInfo ¶ added in v0.63.0
type CommitInfo = storage.CommitInfo
Replication and version control types from internal/storage
type DatabaseInfo ¶ added in v0.17.0
type DatabaseInfo = beads.DatabaseInfo
DatabaseInfo contains information about a beads database
func FindAllDatabases ¶ added in v0.17.0
func FindAllDatabases() []DatabaseInfo
FindAllDatabases finds all beads databases in the system
type Dependency ¶ added in v0.12.0
type Dependency = types.Dependency
Core types from internal/types
type DependencyCounts ¶ added in v0.22.1
type DependencyCounts = types.DependencyCounts
Core types from internal/types
type DependencyType ¶ added in v0.12.0
type DependencyType = types.DependencyType
Core types from internal/types
type EpicStatus ¶ added in v0.12.0
type EpicStatus = types.EpicStatus
Core types from internal/types
type IssueFilter ¶ added in v0.12.0
type IssueFilter = types.IssueFilter
Core types from internal/types
type IssueWithCounts ¶ added in v0.22.1
type IssueWithCounts = types.IssueWithCounts
Core types from internal/types
type IssueWithDependencyMetadata ¶ added in v0.54.0
type IssueWithDependencyMetadata = types.IssueWithDependencyMetadata
Core types from internal/types
type RedirectInfo ¶ added in v0.39.1
type RedirectInfo = beads.RedirectInfo
RedirectInfo contains information about a beads directory redirect
func GetRedirectInfo ¶ added in v0.39.1
func GetRedirectInfo() RedirectInfo
GetRedirectInfo checks if the current beads directory is redirected. Returns RedirectInfo with IsRedirected=true if a redirect is active.
type RemoteInfo ¶ added in v0.63.0
type RemoteInfo = storage.RemoteInfo
Replication and version control types from internal/storage
type RemoteStore ¶ added in v0.63.0
type RemoteStore = storage.RemoteStore
RemoteStore provides dolt remote management and replication operations. Use type assertion on a Storage value to access these methods:
if rs, ok := store.(beads.RemoteStore); ok {
rs.Push(ctx)
}
type SortPolicy ¶ added in v0.17.7
type SortPolicy = types.SortPolicy
Core types from internal/types
type StaleFilter ¶ added in v0.22.1
type StaleFilter = types.StaleFilter
Core types from internal/types
type StatusEntry ¶ added in v0.63.0
type StatusEntry = storage.StatusEntry
Replication and version control types from internal/storage
type Storage ¶
Storage is the interface for beads storage operations
func Open ¶ added in v0.51.0
Open opens a Dolt-backed beads database at the given path. This always opens in embedded mode. Use OpenFromConfig to respect server mode settings from metadata.json.
func OpenBestAvailable ¶ added in v1.0.1
OpenBestAvailable opens a beads database using the best available backend for the given .beads directory. It reads metadata.json to determine the configured mode:
- Embedded mode (default): Opens via the CGo embedded Dolt engine.
- Server mode: Connects to an external dolt sql-server via OpenFromConfig.
The returned Storage must be closed when no longer needed.
beadsDir is the path to the .beads directory.
func OpenFromConfig ¶ added in v0.53.0
OpenFromConfig opens a beads database using configuration from metadata.json. Unlike Open, this respects Dolt server mode settings and database name configuration, connecting to the Dolt SQL server when dolt_mode is "server". beadsDir is the path to the .beads directory.
type SyncResult ¶ added in v0.63.0
type SyncResult = storage.SyncResult
Replication and version control types from internal/storage
type SyncStatus ¶ added in v0.63.0
type SyncStatus = storage.SyncStatus
Replication and version control types from internal/storage
type Transaction ¶ added in v0.24.5
type Transaction = beads.Transaction
Transaction provides atomic multi-operation support within a database transaction. Use Storage.RunInTransaction() to obtain a Transaction instance.
type VersionControlReader ¶ added in v0.63.0
type VersionControlReader interface {
CurrentBranch(ctx context.Context) (string, error)
ListBranches(ctx context.Context) ([]string, error)
CommitExists(ctx context.Context, commitHash string) (bool, error)
GetCurrentCommit(ctx context.Context) (string, error)
Status(ctx context.Context) (*VCStatus, error)
Log(ctx context.Context, limit int) ([]CommitInfo, error)
}
VersionControlReader provides read-only version control operations. Write operations (Branch, Checkout, Merge, DeleteBranch) are not yet part of the public API. If you need them, please open an issue.
Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
bd
command
Package main provides the bd CLI commands.
|
Package main provides the bd CLI commands. |
|
bd/doctor
Package doctor provides health check and repair functionality for beads.
|
Package doctor provides health check and repair functionality for beads. |
|
examples
|
|
|
go-agent
module
|
|
|
monitor-webui
module
|
|
|
Package format provides public formatting functions for beads issues.
|
Package format provides public formatting functions for beads issues. |
|
internal
|
|
|
ado
Package ado provides client and data types for the Azure DevOps REST API.
|
Package ado provides client and data types for the Azure DevOps REST API. |
|
atomicfile
Package atomicfile provides atomic file writes via temp-file + rename.
|
Package atomicfile provides atomic file writes via temp-file + rename. |
|
beads
Package beads provides a minimal public API for extending bd with custom orchestration.
|
Package beads provides a minimal public API for extending bd with custom orchestration. |
|
compact
Package compact provides AI-powered issue compaction using Claude Haiku.
|
Package compact provides AI-powered issue compaction using Claude Haiku. |
|
doltserver
Package doltserver manages the lifecycle of a local dolt sql-server process.
|
Package doltserver manages the lifecycle of a local dolt sql-server process. |
|
formula
Package formula provides advice operators for step transformations.
|
Package formula provides advice operators for step transformations. |
|
github
Package github provides client and data types for the GitHub REST API.
|
Package github provides client and data types for the GitHub REST API. |
|
gitlab
Package gitlab provides client and data types for the GitLab REST API.
|
Package gitlab provides client and data types for the GitLab REST API. |
|
hooks
Package hooks provides a hook system for extensibility.
|
Package hooks provides a hook system for extensibility. |
|
jira
Package jira provides client, types, and utilities for Jira integration.
|
Package jira provides client, types, and utilities for Jira integration. |
|
linear
Package linear provides client and data types for the Linear GraphQL API.
|
Package linear provides client and data types for the Linear GraphQL API. |
|
molecules
Package molecules handles loading template molecules from molecules.jsonl catalogs.
|
Package molecules handles loading template molecules from molecules.jsonl catalogs. |
|
query
Package query implements a simple query language for filtering beads.
|
Package query implements a simple query language for filtering beads. |
|
recipes
Package recipes provides recipe-based configuration for bd setup.
|
Package recipes provides recipe-based configuration for bd setup. |
|
storage
Package storage defines the interface for issue storage backends.
|
Package storage defines the interface for issue storage backends. |
|
storage/conformance
Package conformance provides backend-agnostic tests for Storage implementations.
|
Package conformance provides backend-agnostic tests for Storage implementations. |
|
storage/dbproxy/util
Package util provides shared utilities for the db storage backends.
|
Package util provides shared utilities for the db storage backends. |
|
storage/depid
Package depid derives the deterministic primary-key id of a dependency edge.
|
Package depid derives the deterministic primary-key id of a dependency edge. |
|
storage/dolt
Package dolt — iter_dependents.go
|
Package dolt — iter_dependents.go |
|
storage/doltutil
Package doltutil provides shared utilities for Dolt operations.
|
Package doltutil provides shared utilities for Dolt operations. |
|
storage/embeddeddolt
Package embeddeddolt — iter_stubs.go
|
Package embeddeddolt — iter_stubs.go |
|
storage/embeddeddolt/cmd
command
|
|
|
storage/issueops
Package issueops provides shared transaction-scoped SQL operations for issue creation and management.
|
Package issueops provides shared transaction-scoped SQL operations for issue creation and management. |
|
storage/kvkeys
Package kvkeys defines the config-table key prefixes that the cmd/bd KV and memory commands write and that the storage-layer merge resolver reads, so the "kv.memory.* config rows are convergent persistent memories" contract has a single source of truth.
|
Package kvkeys defines the config-table key prefixes that the cmd/bd KV and memory commands write and that the storage-layer merge resolver reads, so the "kv.memory.* config rows are convergent persistent memories" contract has a single source of truth. |
|
storage/rowid
Package rowid derives deterministic, clone-stable primary-key ids for the auxiliary history tables (events, comments, issue_snapshots, compaction_snapshots).
|
Package rowid derives deterministic, clone-stable primary-key ids for the auxiliary history tables (events, comments, issue_snapshots, compaction_snapshots). |
|
storage/sqlbuild
Package sqlbuild holds the pure SQL-text builders shared by the classic issueops stack (production, *sql.Tx) and the domain/db repository stack (proxied-server, Runner).
|
Package sqlbuild holds the pure SQL-text builders shared by the classic issueops stack (production, *sql.Tx) and the domain/db repository stack (proxied-server, Runner). |
|
storage/versioncontrolops
Package versioncontrolops provides shared implementations for Dolt version control operations (branches, status, log, merge, remotes).
|
Package versioncontrolops provides shared implementations for Dolt version control operations (branches, status, log, merge, remotes). |
|
telemetry
Package telemetry provides OpenTelemetry integration for beads.
|
Package telemetry provides OpenTelemetry integration for beads. |
|
templates
Package templates provides embedded files that bd writes into user workspaces.
|
Package templates provides embedded files that bd writes into user workspaces. |
|
templates/agents
Package agents provides embedded AGENTS.md templates for bd init and setup.
|
Package agents provides embedded AGENTS.md templates for bd init and setup. |
|
testutil/fixtures
Package fixtures provides realistic test data generation for benchmarks and tests.
|
Package fixtures provides realistic test data generation for benchmarks and tests. |
|
timeparsing
Package timeparsing provides layered time parsing for relative date/time expressions.
|
Package timeparsing provides layered time parsing for relative date/time expressions. |
|
tracker
Package tracker provides a plugin framework for external issue tracker integrations.
|
Package tracker provides a plugin framework for external issue tracker integrations. |
|
types
Package types defines core data structures for the bd issue tracker.
|
Package types defines core data structures for the bd issue tracker. |
|
ui
Package ui provides terminal styling and pager support for beads CLI output.
|
Package ui provides terminal styling and pager support for beads CLI output. |
|
uimd
Package uimd provides markdown rendering for beads CLI output.
|
Package uimd provides markdown rendering for beads CLI output. |
|
utils
Package utils provides utility functions for issue ID parsing and resolution.
|
Package utils provides utility functions for issue ID parsing and resolution. |
|
plugins
|
|
|
scripts
|
|
|
bench-ready-indexes
command
|
|
|
repro-dolt-hang
command
repro-dolt-hang: Compare old vs new Dolt transaction patterns under concurrent load
|
repro-dolt-hang: Compare old vs new Dolt transaction patterns under concurrent load |
|
repro-dolt-prod-timeouts
command
repro-dolt-prod-timeouts runs production-shaped bd CLI timeout scenarios.
|
repro-dolt-prod-timeouts runs production-shaped bd CLI timeout scenarios. |