Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
380 lines
9.7 KiB
Markdown
380 lines
9.7 KiB
Markdown
# Installing bd
|
|
|
|
Complete installation guide for all platforms.
|
|
|
|
## Components Overview
|
|
|
|
Beads has several components - here's what they are and when you need them:
|
|
|
|
| Component | What It Is | When You Need It |
|
|
|-----------|------------|------------------|
|
|
| **bd CLI** | Core command-line tool | Always - this is the foundation |
|
|
| **Claude Code Plugin** | Slash commands + enhanced UX | Optional - if you want `/beads:ready`, `/beads:create` commands |
|
|
| **MCP Server (beads-mcp)** | Model Context Protocol interface | Only for MCP-only environments (Claude Desktop, Amp) |
|
|
|
|
**How they relate:**
|
|
- The **bd CLI** is the core - install it first via Homebrew, npm, or script
|
|
- The **Plugin** enhances Claude Code with slash commands but *requires* the CLI installed
|
|
- The **MCP server** is an *alternative* to the CLI for environments without shell access
|
|
|
|
**Typical setups:**
|
|
|
|
| Environment | What to Install |
|
|
|-------------|-----------------|
|
|
| Claude Code, Cursor, Windsurf | bd CLI (+ optional Plugin for Claude Code) |
|
|
| Claude Desktop (no shell) | MCP server only |
|
|
| Terminal / scripts | bd CLI only |
|
|
| CI/CD pipelines | bd CLI only |
|
|
|
|
**Are they mutually exclusive?** No - you can have CLI + Plugin + MCP all installed. They don't conflict. But most users only need the CLI.
|
|
|
|
## Quick Install (Recommended)
|
|
|
|
### Homebrew (macOS/Linux)
|
|
|
|
```bash
|
|
brew tap steveyegge/beads
|
|
brew install bd
|
|
```
|
|
|
|
**Why Homebrew?**
|
|
- ✅ Simple one-command install
|
|
- ✅ Automatic updates via `brew upgrade`
|
|
- ✅ No need to install Go
|
|
- ✅ Handles PATH setup automatically
|
|
|
|
### Quick Install Script (All Platforms)
|
|
|
|
```bash
|
|
curl -fsSL https://raw.githubusercontent.com/steveyegge/beads/main/scripts/install.sh | bash
|
|
```
|
|
|
|
The installer will:
|
|
- Detect your platform (macOS/Linux/FreeBSD, amd64/arm64)
|
|
- Install via `go install` if Go is available
|
|
- Fall back to building from source if needed
|
|
- Guide you through PATH setup if necessary
|
|
|
|
### Comparison of Installation Methods
|
|
|
|
| Method | Best For | Updates | Prerequisites | Notes |
|
|
|--------|----------|---------|---------------|-------|
|
|
| **Homebrew** | macOS/Linux users | `brew upgrade bd` | Homebrew | Recommended. Handles everything automatically |
|
|
| **npm** | JS/Node.js projects | `npm update -g @beads/bd` | Node.js | Convenient if npm is your ecosystem |
|
|
| **bun** | JS/Bun.js projects | `bun install -g --trust @beads/bd` | Bun.js | Convenient if bun is your ecosystem |
|
|
| **Install script** | Quick setup, CI/CD | Re-run script | curl, bash | Good for automation and one-liners |
|
|
| **go install** | Go developers | Re-run command | Go 1.24+ | Builds from source, always latest |
|
|
| **From source** | Contributors, custom builds | `git pull && go build` | Go, git | Full control, can modify code |
|
|
| **AUR (Arch)** | Arch Linux users | `yay -Syu` | yay/paru | Community-maintained |
|
|
|
|
**TL;DR:** Use Homebrew if available. Use npm if you're in a Node.js environment. Use the script for quick one-off installs or CI.
|
|
|
|
## Platform-Specific Installation
|
|
|
|
### macOS
|
|
|
|
**Via Homebrew** (recommended):
|
|
```bash
|
|
brew tap steveyegge/beads
|
|
brew install bd
|
|
```
|
|
|
|
**Via go install**:
|
|
```bash
|
|
go install github.com/steveyegge/beads/cmd/bd@latest
|
|
```
|
|
|
|
**From source**:
|
|
```bash
|
|
git clone https://github.com/steveyegge/beads
|
|
cd beads
|
|
go build -o bd ./cmd/bd
|
|
sudo mv bd /usr/local/bin/
|
|
```
|
|
|
|
### Linux
|
|
|
|
**Via Homebrew** (works on Linux too):
|
|
```bash
|
|
brew tap steveyegge/beads
|
|
brew install bd
|
|
```
|
|
|
|
**Arch Linux** (AUR):
|
|
```bash
|
|
# Install from AUR
|
|
yay -S beads-git
|
|
# or
|
|
paru -S beads-git
|
|
```
|
|
|
|
Thanks to [@v4rgas](https://github.com/v4rgas) for maintaining the AUR package!
|
|
|
|
**Via go install**:
|
|
```bash
|
|
go install github.com/steveyegge/beads/cmd/bd@latest
|
|
```
|
|
|
|
**From source**:
|
|
```bash
|
|
git clone https://github.com/steveyegge/beads
|
|
cd beads
|
|
go build -o bd ./cmd/bd
|
|
sudo mv bd /usr/local/bin/
|
|
```
|
|
|
|
### FreeBSD
|
|
|
|
**Via Quick Install Script**:
|
|
```bash
|
|
curl -fsSL https://raw.githubusercontent.com/steveyegge/beads/main/scripts/install.sh | bash
|
|
```
|
|
|
|
**Via go install**:
|
|
```bash
|
|
go install github.com/steveyegge/beads/cmd/bd@latest
|
|
```
|
|
|
|
### Windows 11
|
|
|
|
Beads now ships with native Windows support—no MSYS or MinGW required.
|
|
|
|
**Prerequisites:**
|
|
- [Go 1.24+](https://go.dev/dl/) installed (add `%USERPROFILE%\go\bin` to your `PATH`)
|
|
- Git for Windows
|
|
|
|
**Via PowerShell script**:
|
|
```pwsh
|
|
irm https://raw.githubusercontent.com/steveyegge/beads/main/install.ps1 | iex
|
|
```
|
|
|
|
**Via go install**:
|
|
```pwsh
|
|
go install github.com/steveyegge/beads/cmd/bd@latest
|
|
```
|
|
|
|
**From source**:
|
|
```pwsh
|
|
git clone https://github.com/steveyegge/beads
|
|
cd beads
|
|
go build -o bd.exe ./cmd/bd
|
|
Move-Item bd.exe $env:USERPROFILE\AppData\Local\Microsoft\WindowsApps\
|
|
```
|
|
|
|
**Verify installation**:
|
|
```pwsh
|
|
bd version
|
|
```
|
|
|
|
**Windows notes:**
|
|
- The background daemon listens on a loopback TCP endpoint recorded in `.beads\bd.sock`
|
|
- Keep that metadata file intact
|
|
- Allow `bd.exe` loopback traffic through any host firewall
|
|
|
|
## IDE and Editor Integrations
|
|
|
|
### CLI + Hooks (Recommended for Claude Code)
|
|
|
|
**The recommended approach** for Claude Code, Cursor, Windsurf, and other editors with shell access:
|
|
|
|
```bash
|
|
# 1. Install bd CLI (see Quick Install above)
|
|
brew install bd
|
|
|
|
# 2. Initialize in your project
|
|
cd your-project
|
|
bd init --quiet
|
|
|
|
# 3. Setup editor integration (choose one)
|
|
bd setup claude # Claude Code - installs SessionStart/PreCompact hooks
|
|
bd setup cursor # Cursor IDE - creates .cursor/rules/beads.mdc
|
|
bd setup aider # Aider - creates .aider.conf.yml
|
|
```
|
|
|
|
**How it works:**
|
|
- Editor hooks/rules inject `bd prime` automatically on session start
|
|
- `bd prime` provides ~1-2k tokens of workflow context
|
|
- You use `bd` CLI commands directly
|
|
- Git hooks (installed by `bd init`) auto-sync the database
|
|
|
|
**Why this is recommended:**
|
|
- **Context efficient** - ~1-2k tokens vs 10-50k for MCP tool schemas
|
|
- **Lower latency** - Direct CLI calls, no MCP protocol overhead
|
|
- **Universal** - Works with any editor that has shell access
|
|
- **More sustainable** - Less compute per request
|
|
|
|
**Verify installation:**
|
|
```bash
|
|
bd setup claude --check # Check Claude Code integration
|
|
bd setup cursor --check # Check Cursor integration
|
|
bd setup aider --check # Check Aider integration
|
|
```
|
|
|
|
### Claude Code Plugin (Optional)
|
|
|
|
For enhanced UX with slash commands:
|
|
|
|
```bash
|
|
# In Claude Code
|
|
/plugin marketplace add steveyegge/beads
|
|
/plugin install beads
|
|
# Restart Claude Code
|
|
```
|
|
|
|
The plugin adds:
|
|
- Slash commands: `/beads:ready`, `/beads:create`, `/beads:show`, `/beads:update`, `/beads:close`, etc.
|
|
- Task agent for autonomous execution
|
|
|
|
See [PLUGIN.md](PLUGIN.md) for complete plugin documentation.
|
|
|
|
### MCP Server (Alternative - for MCP-only environments)
|
|
|
|
**Use MCP only when CLI is unavailable** (Claude Desktop, Sourcegraph Amp without shell):
|
|
|
|
```bash
|
|
# Using uv (recommended)
|
|
uv tool install beads-mcp
|
|
|
|
# Or using pip
|
|
pip install beads-mcp
|
|
```
|
|
|
|
**Configuration for Claude Desktop** (macOS):
|
|
|
|
Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
|
|
|
|
```json
|
|
{
|
|
"mcpServers": {
|
|
"beads": {
|
|
"command": "beads-mcp"
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
**Configuration for Sourcegraph Amp**:
|
|
|
|
Add to your MCP settings:
|
|
|
|
```json
|
|
{
|
|
"beads": {
|
|
"command": "beads-mcp",
|
|
"args": []
|
|
}
|
|
}
|
|
```
|
|
|
|
**Trade-offs:**
|
|
- ✅ Works in MCP-only environments
|
|
- ❌ Higher context overhead (MCP schemas add 10-50k tokens)
|
|
- ❌ Additional latency from MCP protocol
|
|
|
|
See [integrations/beads-mcp/README.md](../integrations/beads-mcp/README.md) for detailed MCP server documentation.
|
|
|
|
## Verifying Installation
|
|
|
|
After installing, verify bd is working:
|
|
|
|
```bash
|
|
bd version
|
|
bd help
|
|
```
|
|
|
|
## Troubleshooting Installation
|
|
|
|
### `bd: command not found`
|
|
|
|
bd is not in your PATH. Either:
|
|
|
|
```bash
|
|
# Check if installed
|
|
go list -f {{.Target}} github.com/steveyegge/beads/cmd/bd
|
|
|
|
# Add Go bin to PATH (add to ~/.bashrc or ~/.zshrc)
|
|
export PATH="$PATH:$(go env GOPATH)/bin"
|
|
|
|
# Or reinstall
|
|
go install github.com/steveyegge/beads/cmd/bd@latest
|
|
```
|
|
|
|
### `zsh: killed bd` or crashes on macOS
|
|
|
|
Some users report crashes when running `bd init` or other commands on macOS. This is typically caused by CGO/SQLite compatibility issues.
|
|
|
|
**Workaround:**
|
|
```bash
|
|
# Build with CGO enabled
|
|
CGO_ENABLED=1 go install github.com/steveyegge/beads/cmd/bd@latest
|
|
|
|
# Or if building from source
|
|
git clone https://github.com/steveyegge/beads
|
|
cd beads
|
|
CGO_ENABLED=1 go build -o bd ./cmd/bd
|
|
sudo mv bd /usr/local/bin/
|
|
```
|
|
|
|
If you installed via Homebrew, this shouldn't be necessary as the formula already enables CGO. If you're still seeing crashes with the Homebrew version, please [file an issue](https://github.com/steveyegge/beads/issues).
|
|
|
|
### Claude Code Plugin: MCP server fails to start
|
|
|
|
If the Claude Code plugin's MCP server fails immediately after installation, it's likely that `uv` is not installed or not in your PATH.
|
|
|
|
**Symptoms:**
|
|
- Plugin slash commands work, but MCP tools are unavailable
|
|
- Error logs show `command not found: uv`
|
|
- Server fails silently on startup
|
|
|
|
**Solution:**
|
|
```bash
|
|
# Install uv
|
|
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
|
|
# Restart your shell or update PATH
|
|
source ~/.local/bin/env
|
|
|
|
# Verify uv is available
|
|
which uv
|
|
|
|
# Restart Claude Code
|
|
```
|
|
|
|
See the "Claude Code Plugin" section above for alternative installation methods (Homebrew, pip).
|
|
|
|
## Next Steps
|
|
|
|
After installation:
|
|
|
|
1. **Initialize a project**: `cd your-project && bd init`
|
|
2. **Configure your agent**: Add bd instructions to `AGENTS.md` (see [README.md](../README.md#quick-start))
|
|
3. **Learn the basics**: See [QUICKSTART.md](QUICKSTART.md) for a tutorial
|
|
4. **Explore examples**: Check out the [examples/](../examples/) directory
|
|
|
|
## Updating bd
|
|
|
|
### Homebrew
|
|
|
|
```bash
|
|
brew upgrade bd
|
|
```
|
|
|
|
### go install
|
|
|
|
```bash
|
|
go install github.com/steveyegge/beads/cmd/bd@latest
|
|
```
|
|
|
|
### From source
|
|
|
|
```bash
|
|
cd beads
|
|
git pull
|
|
go build -o bd ./cmd/bd
|
|
sudo mv bd /usr/local/bin/
|
|
```
|
|
|
|
## Uninstalling
|
|
|
|
To completely remove Beads from a repository, see [UNINSTALLING.md](UNINSTALLING.md).
|