Remove global daemon from docs, deprecate bd repos command

- Stub out 'bd repos' command with deprecation message
- Remove 140+ lines of global daemon/multi-repo docs from ADVANCED.md
- Add architecture section explaining daemon/MCP/beads roles (LSP model)
- Update AGENTS.md, MCP README, FAQ.md to emphasize per-project daemons
- Update commands/daemon.md and commands/repos.md

Closes #140

Global daemon was removed in v0.16.0 due to cross-project pollution
risks. bd now uses per-project local daemons (one per workspace) for
complete database isolation, following LSP architecture patterns.

Amp-Thread-ID: https://ampcode.com/threads/T-c45147dc-8939-43bf-8fbd-303ed4a8d845
Co-authored-by: Amp <amp@ampcode.com>
This commit is contained in:
Steve Yegge
2025-10-24 13:02:01 -07:00
parent 963181d7f8
commit f5feee0d20
8 changed files with 334 additions and 321 deletions
+17 -14
View File
@@ -1,22 +1,29 @@
---
description: Run background sync daemon
argument-hint: [--global] [--stop] [--status] [--health]
argument-hint: [--stop] [--status] [--health]
---
Run a background daemon that manages database connections and optionally syncs with git.
Run a per-project background daemon that manages database connections and syncs with git.
## Daemon Modes
## Per-Project Daemon (LSP Model)
- **Local daemon**: Socket at `.beads/bd.sock` (per-repository)
- **Global daemon**: Socket at `~/.beads/bd.sock` (all repositories)
Each project runs its own daemon at `.beads/bd.sock` for complete database isolation.
> On Windows these files store the daemons loopback TCP endpoint metadata—leave them in place so bd can reconnect.
> On Windows this file stores the daemon's loopback TCP endpoint metadata—leave it in place so bd can reconnect.
**Why per-project daemons?**
- Complete database isolation between projects
- No cross-project pollution or git worktree conflicts
- Simpler mental model: one project = one database = one daemon
- Follows LSP (Language Server Protocol) architecture
**Note:** Global daemon support was removed in v0.16.0. The `--global` flag is no longer functional.
## Common Operations
- **Start**: `bd daemon` or `bd daemon --global`
- **Stop**: `bd daemon --stop` or `bd daemon --global --stop`
- **Status**: `bd daemon --status` or `bd daemon --global --status`
- **Start**: `bd daemon` (auto-starts on first `bd` command)
- **Stop**: `bd daemon --stop`
- **Status**: `bd daemon --status`
- **Health**: `bd daemon --health` - shows uptime, cache stats, performance metrics
- **Metrics**: `bd daemon --metrics` - detailed operational telemetry
@@ -26,12 +33,8 @@ Run a background daemon that manages database connections and optionally syncs w
- **--auto-push**: Automatically push commits to remote
- **--interval**: Sync check interval (default: 5m)
## Migration
- **--migrate-to-global**: Migrate from local to global daemon
The daemon provides:
- Connection pooling and caching
- Better performance for frequent operations
- Automatic JSONL sync
- Automatic JSONL sync (5-second debounce)
- Optional git sync
+14 -15
View File
@@ -1,25 +1,24 @@
---
description: Manage work across multiple repositories
description: DEPRECATED - Multi-repository management
argument-hint: [command]
---
Manage work across multiple repositories when using a global daemon.
**DEPRECATED:** This command is no longer functional.
**Requires**: Running global daemon (`bd daemon --global`)
Global daemon support was removed in v0.16.0. bd now uses per-project local daemons (LSP model) for complete database isolation.
## Available Commands
## Why Was This Removed?
- **list**: List all cached repositories
- **ready**: Show ready work across all repositories
- `--group`: Group results by repository
- **stats**: Show combined statistics across all repositories
- **clear-cache**: Clear all cached repository connections
- Cross-project database pollution risks
- Git worktree conflicts
- Complexity in multi-workspace scenarios
## Usage
## Multi-Repo Workflows Now
- `bd repos list` - See all repositories connected to global daemon
- `bd repos ready` - View all ready work across projects
- `bd repos ready --group` - Group ready work by repository
- `bd repos stats` - Combined statistics from all repos
For working across multiple beads projects:
- Use your editor/shell to switch between project directories
- Each project has its own daemon at `.beads/bd.sock`
- Run `bd ready` in each project individually
- Use single MCP server instance that routes to per-project daemons
Useful for managing multiple beads projects from a single global daemon.
See [ADVANCED.md](../ADVANCED.md#architecture-daemon-vs-mcp-vs-beads) for architecture details.