refactor: move Claude Code plugin to dedicated subdirectory (GH#985)
Move all plugin content to claude-plugin/ subdirectory for cleaner separation from core beads functionality: - claude-plugin/.claude-plugin/plugin.json - plugin manifest - claude-plugin/commands/ - all slash commands - claude-plugin/agents/ - task-agent (now in correct location) - claude-plugin/skills/beads/ - beads skill with resources Root .claude-plugin/ now only contains marketplace.json pointing to ./claude-plugin. Note: After updating, users may need to clear plugin cache: rm -rf ~/.claude/plugins/cache/beads-marketplace/ Fixes #985 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> Executed-By: beads/crew/dave Rig: beads Role: crew
This commit is contained in:
committed by
Steve Yegge
parent
0777bb907c
commit
f03c754df1
242
claude-plugin/commands/daemons.md
Normal file
242
claude-plugin/commands/daemons.md
Normal file
@@ -0,0 +1,242 @@
|
||||
# bd daemons - Daemon Management
|
||||
|
||||
Manage bd daemon processes across all repositories and worktrees.
|
||||
|
||||
## Synopsis
|
||||
|
||||
```bash
|
||||
bd daemons <subcommand> [flags]
|
||||
```
|
||||
|
||||
## Description
|
||||
|
||||
The `bd daemons` command provides tools for discovering, monitoring, and managing multiple bd daemon processes across your system. This is useful when working with multiple repositories or git worktrees.
|
||||
|
||||
## Subcommands
|
||||
|
||||
### list
|
||||
|
||||
List all running bd daemons with metadata.
|
||||
|
||||
```bash
|
||||
bd daemons list [--search DIRS] [--json] [--no-cleanup]
|
||||
```
|
||||
|
||||
**Flags:**
|
||||
- `--search` - Directories to search for daemons (default: home, /tmp, cwd)
|
||||
- `--json` - Output in JSON format
|
||||
- `--no-cleanup` - Skip auto-cleanup of stale sockets
|
||||
|
||||
**Example:**
|
||||
```bash
|
||||
bd daemons list
|
||||
bd daemons list --search /Users/me/projects --json
|
||||
```
|
||||
|
||||
### health
|
||||
|
||||
Check health of all bd daemons and report issues.
|
||||
|
||||
```bash
|
||||
bd daemons health [--search DIRS] [--json]
|
||||
```
|
||||
|
||||
Reports:
|
||||
- Stale sockets (dead processes)
|
||||
- Version mismatches between daemon and CLI
|
||||
- Unresponsive daemons
|
||||
|
||||
**Flags:**
|
||||
- `--search` - Directories to search for daemons
|
||||
- `--json` - Output in JSON format
|
||||
|
||||
**Example:**
|
||||
```bash
|
||||
bd daemons health
|
||||
bd daemons health --json
|
||||
```
|
||||
|
||||
### stop
|
||||
|
||||
Stop a specific daemon gracefully.
|
||||
|
||||
```bash
|
||||
bd daemons stop <workspace-path|pid> [--json]
|
||||
```
|
||||
|
||||
**Arguments:**
|
||||
- `<workspace-path|pid>` - Workspace path or PID of daemon to stop
|
||||
|
||||
**Flags:**
|
||||
- `--json` - Output in JSON format
|
||||
|
||||
**Example:**
|
||||
```bash
|
||||
bd daemons stop /Users/me/projects/myapp
|
||||
bd daemons stop 12345
|
||||
bd daemons stop /Users/me/projects/myapp --json
|
||||
```
|
||||
|
||||
### restart
|
||||
|
||||
Restart a specific daemon gracefully.
|
||||
|
||||
```bash
|
||||
bd daemons restart <workspace-path|pid> [--search DIRS] [--json]
|
||||
```
|
||||
|
||||
Stops the daemon gracefully, then starts a new one in its place. Useful after upgrading bd or when a daemon needs to be refreshed.
|
||||
|
||||
**Arguments:**
|
||||
- `<workspace-path|pid>` - Workspace path or PID of daemon to restart
|
||||
|
||||
**Flags:**
|
||||
- `--search` - Directories to search for daemons
|
||||
- `--json` - Output in JSON format
|
||||
|
||||
**Example:**
|
||||
```bash
|
||||
bd daemons restart /Users/me/projects/myapp
|
||||
bd daemons restart 12345
|
||||
bd daemons restart /Users/me/projects/myapp --json
|
||||
```
|
||||
|
||||
### logs
|
||||
|
||||
View logs for a specific daemon.
|
||||
|
||||
```bash
|
||||
bd daemons logs <workspace-path|pid> [-f] [-n LINES] [--json]
|
||||
```
|
||||
|
||||
**Arguments:**
|
||||
- `<workspace-path|pid>` - Workspace path or PID of daemon
|
||||
|
||||
**Flags:**
|
||||
- `-f, --follow` - Follow log output (like tail -f)
|
||||
- `-n, --lines INT` - Number of lines to show from end (default: 50)
|
||||
- `--json` - Output in JSON format
|
||||
|
||||
**Example:**
|
||||
```bash
|
||||
bd daemons logs /Users/me/projects/myapp
|
||||
bd daemons logs 12345 -n 100
|
||||
bd daemons logs /Users/me/projects/myapp -f
|
||||
bd daemons logs 12345 --json
|
||||
```
|
||||
|
||||
### killall
|
||||
|
||||
Stop all running bd daemons.
|
||||
|
||||
```bash
|
||||
bd daemons killall [--search DIRS] [--force] [--json]
|
||||
```
|
||||
|
||||
Uses escalating shutdown strategy:
|
||||
1. RPC shutdown (2 second timeout)
|
||||
2. SIGTERM (3 second timeout)
|
||||
3. SIGKILL (1 second timeout)
|
||||
|
||||
**Flags:**
|
||||
- `--search` - Directories to search for daemons
|
||||
- `--force` - Use SIGKILL immediately if graceful shutdown fails
|
||||
- `--json` - Output in JSON format
|
||||
|
||||
**Example:**
|
||||
```bash
|
||||
bd daemons killall
|
||||
bd daemons killall --force
|
||||
bd daemons killall --json
|
||||
```
|
||||
|
||||
## Common Use Cases
|
||||
|
||||
### Version Upgrade
|
||||
|
||||
After upgrading bd, restart all daemons to use the new version:
|
||||
|
||||
```bash
|
||||
bd daemons health # Check for version mismatches
|
||||
bd daemons killall # Stop all old daemons
|
||||
# Daemons will auto-start with new version on next bd command
|
||||
|
||||
# Or restart a specific daemon
|
||||
bd daemons restart /path/to/workspace
|
||||
```
|
||||
|
||||
### Debugging
|
||||
|
||||
Check daemon status and view logs:
|
||||
|
||||
```bash
|
||||
bd daemons list
|
||||
bd daemons health
|
||||
bd daemons logs /path/to/workspace -n 100
|
||||
```
|
||||
|
||||
### Cleanup
|
||||
|
||||
Remove stale daemon sockets:
|
||||
|
||||
```bash
|
||||
bd daemons list # Auto-cleanup happens by default
|
||||
bd daemons list --no-cleanup # Skip cleanup
|
||||
```
|
||||
|
||||
### Multi-Workspace Management
|
||||
|
||||
Discover daemons in specific directories:
|
||||
|
||||
```bash
|
||||
bd daemons list --search /Users/me/projects
|
||||
bd daemons health --search /Users/me/work
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Stale Sockets
|
||||
|
||||
If you see stale sockets (dead process but socket file exists):
|
||||
|
||||
```bash
|
||||
bd daemons list # Auto-cleanup removes stale sockets
|
||||
```
|
||||
|
||||
### Version Mismatch
|
||||
|
||||
If daemon version != CLI version:
|
||||
|
||||
```bash
|
||||
bd daemons health # Identify mismatched daemons
|
||||
bd daemons killall # Stop all daemons
|
||||
# Next bd command will auto-start new version
|
||||
```
|
||||
|
||||
### Daemon Won't Stop
|
||||
|
||||
If graceful shutdown fails:
|
||||
|
||||
```bash
|
||||
bd daemons killall --force # Force kill with SIGKILL
|
||||
```
|
||||
|
||||
### Can't Find Daemon
|
||||
|
||||
If daemon isn't discovered:
|
||||
|
||||
```bash
|
||||
bd daemons list --search /path/to/workspace
|
||||
```
|
||||
|
||||
Or check the socket manually:
|
||||
|
||||
```bash
|
||||
ls -la /path/to/workspace/.beads/bd.sock
|
||||
```
|
||||
|
||||
## See Also
|
||||
|
||||
- [bd daemon](daemon.md) - Start a daemon manually
|
||||
- [AGENTS.md](../AGENTS.md) - Agent workflow guide
|
||||
- [README.md](../README.md) - Main documentation
|
||||
Reference in New Issue
Block a user