feat(plugin): add /claude-mailbox:mailbox-doctor for one-command setup
The doctor command runs entirely inside Claude Code and walks through: binary install via npm, daemon autostart, mailbox-name prompt with write to per-project `.claude/settings.json` env, and a self → self smoke test. Also adds `/claude-mailbox:mailbox-status` as a read-only health check. Reduces the colleague onboarding to: add marketplace, install plugin, run the doctor — no terminal context-switch required.
This commit is contained in:
23
plugin/commands/mailbox-status.md
Normal file
23
plugin/commands/mailbox-status.md
Normal file
@@ -0,0 +1,23 @@
|
||||
---
|
||||
description: Read-only Claude-Mailbox health check. No changes, no installs — just report.
|
||||
allowed-tools: Bash, Read
|
||||
---
|
||||
|
||||
Report the Claude-Mailbox setup status without making any changes. If something is wrong, **tell** the user but **do not** fix it — suggest `/claude-mailbox:mailbox-doctor` for that.
|
||||
|
||||
Print exactly this block, filling in each line:
|
||||
|
||||
```
|
||||
Claude-Mailbox status
|
||||
binary: <output of `claude-mailbox --version`, or "not installed">
|
||||
daemon: <output of `claude-mailbox status`>
|
||||
health: <"ok" if GET http://127.0.0.1:47822/health returns 200, else "unreachable">
|
||||
mailbox name: <value of env.CLAUDE_MAILBOX_NAME in ./.claude/settings.json, or "unset"; also note if ~/.claude/settings.json has a value>
|
||||
pending: <integer count from `claude-mailbox peek --name <resolved-name>` if name is set, else "n/a">
|
||||
```
|
||||
|
||||
End with one line:
|
||||
|
||||
- All good → `Status: OK`
|
||||
- Missing daemon or unset name → `Status: Setup incomplete. Run /claude-mailbox:mailbox-doctor to fix.`
|
||||
- Daemon installed but stopped → `Status: Daemon is not running. Try \`claude-mailbox start\` or run /claude-mailbox:mailbox-doctor.`
|
||||
Reference in New Issue
Block a user