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

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