* feat: comprehensive NixOS support improvements This commit adds full NixOS support and automates Nix package maintenance: ## Static Linux Binaries for NixOS Changes .goreleaser.yml to create static Linux binaries: - Set CGO_ENABLED=0 for Linux amd64 and arm64 builds - Remove cross-compiler dependencies (aarch64-linux-gnu-gcc) - Simplifies build process while fixing NixOS compatibility Static binaries work on all Linux distributions including NixOS, Alpine, and musl-based distros without dynamic linker dependencies. ## Automated default.nix Version Management Adds default.nix to the version bump workflow: - Updates default.nix version field in bump-version.sh (new step 9) - Adds default.nix to version verification checks - Prevents version drift (was 5 releases behind: 0.42.0 vs 0.47.0) - Updates README.md to remove glibc 2.32+ requirement ## Automated vendorHash Management Creates scripts/update-nix-vendorhash.sh to automate vendorHash updates: - Automatically detects correct hash by triggering Nix build error - Extracts hash from error message and updates default.nix - Verifies update with clean build - Eliminates error-prone manual copy-paste workflow - Works with local Nix OR Docker (uses nixos/nix image automatically) Integrates vendorHash check into bump-version.sh: - Detects when go.mod or go.sum have changed - Prompts to run vendorHash update script interactively - Catches synchronization issues at release time ## Documentation Updates AGENTS.md with Nix package maintenance guide: - Documents when and how to update vendorHash - Recommends automated script as primary method - Provides manual and alternative methods as fallback - Notes Docker fallback for maintainers without Nix ## Impact - NixOS users can now install via standard methods - Nix package version stays synchronized automatically - vendorHash updates work without Nix installed (via Docker) - vendorHash updates are caught during release workflow - All Linux users benefit from more portable binaries Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> * fix: address PR review feedback for NixOS support Fixes three issues identified in PR review: 1. Replace undefined log_* functions in bump-version.sh with existing echo pattern (log_warning, log_info, log_success, log_error were called but not defined) 2. Update default.nix version from 0.42.0 to 0.47.0 to fix version drift with cmd/bd/version.go 3. Remove Nix Package Maintenance section from AGENTS.md per beads architecture (use bd prime for dynamic context, keep AGENTS.md minimal) * fix: update versions to 0.47.1 after merge with main - Update claude-plugin plugin.json to 0.47.1 - Update default.nix to 0.47.1 - Fixes version check failures after merging latest main branch --------- Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
70 lines
2.9 KiB
Markdown
70 lines
2.9 KiB
Markdown
# bd - Beads
|
|
|
|
**Distributed, git-backed graph issue tracker for AI agents.**
|
|
|
|
[](LICENSE)
|
|
[](https://goreportcard.com/report/github.com/steveyegge/beads)
|
|
[](https://github.com/steveyegge/beads/releases)
|
|
[](https://www.npmjs.com/package/@beads/bd)
|
|
[](https://pypi.org/project/beads-mcp/)
|
|
|
|
Beads provides a persistent, structured memory for coding agents. It replaces messy markdown plans with a dependency-aware graph, allowing agents to handle long-horizon tasks without losing context.
|
|
|
|
## ⚡ Quick Start
|
|
|
|
```bash
|
|
# Install (macOS/Linux/FreeBSD)
|
|
curl -fsSL https://raw.githubusercontent.com/steveyegge/beads/main/scripts/install.sh | bash
|
|
|
|
# Initialize (Humans run this once)
|
|
bd init
|
|
|
|
# Tell your agent
|
|
echo "Use 'bd' for task tracking" >> AGENTS.md
|
|
|
|
```
|
|
|
|
## 🛠 Features
|
|
|
|
* **Git as Database:** Issues stored as JSONL in `.beads/`. Versioned, branched, and merged like code.
|
|
* **Agent-Optimized:** JSON output, dependency tracking, and auto-ready task detection.
|
|
* **Zero Conflict:** Hash-based IDs (`bd-a1b2`) prevent merge collisions in multi-agent/multi-branch workflows.
|
|
* **Invisible Infrastructure:** SQLite local cache for speed; background daemon for auto-sync.
|
|
* **Compaction:** Semantic "memory decay" summarizes old closed tasks to save context window.
|
|
|
|
## 📖 Essential Commands
|
|
|
|
| Command | Action |
|
|
| --- | --- |
|
|
| `bd ready` | List tasks with no open blockers. |
|
|
| `bd create "Title" -p 0` | Create a P0 task. |
|
|
| `bd dep add <child> <parent>` | Link tasks (blocks, related, parent-child). |
|
|
| `bd show <id>` | View task details and audit trail. |
|
|
|
|
## 🔗 Hierarchy & Workflow
|
|
|
|
Beads supports hierarchical IDs for epics:
|
|
|
|
* `bd-a3f8` (Epic)
|
|
* `bd-a3f8.1` (Task)
|
|
* `bd-a3f8.1.1` (Sub-task)
|
|
|
|
**Stealth Mode:** Run `bd init --stealth` to use Beads locally without committing files to the main repo. Perfect for personal use on shared projects.
|
|
|
|
## 📦 Installation
|
|
|
|
* **npm:** `npm install -g @beads/bd`
|
|
* **Homebrew:** `brew install steveyegge/beads/bd`
|
|
* **Go:** `go install github.com/steveyegge/beads/cmd/bd@latest`
|
|
|
|
**Requirements:** Linux, FreeBSD, macOS, or Windows.
|
|
|
|
## 🌐 Community Tools
|
|
|
|
See [docs/COMMUNITY_TOOLS.md](docs/COMMUNITY_TOOLS.md) for a curated list of community-built UIs, extensions, and integrations—including terminal interfaces, web UIs, editor extensions, and native apps.
|
|
|
|
## 📝 Documentation
|
|
|
|
* [Installing](docs/INSTALLING.md) | [Agent Workflow](AGENT_INSTRUCTIONS.md) | [Sync Branch Mode](docs/PROTECTED_BRANCHES.md) | [Troubleshooting](docs/TROUBLESHOOTING.md) | [FAQ](docs/FAQ.md)
|
|
* [](https://deepwiki.com/steveyegge/beads)
|