diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index e0105ce..65fa6a2 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -11,7 +11,7 @@ { "name": "taskyou-os", "description": "Launch and manage AI agent teams on remote servers. Interactive setup walks you through everything — server provisioning, configuration, and deployment.", - "version": "1.0.0", + "version": "1.3.0", "author": { "name": "TaskYou" }, diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json index 51db0ed..7de9a1c 100644 --- a/.claude-plugin/plugin.json +++ b/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "taskyou-os", "description": "Launch and manage AI agent teams on remote servers. Interactive setup walks you through everything — server provisioning, configuration, and deployment.", - "version": "1.2.0", + "version": "1.3.0", "author": { "name": "TaskYou" }, diff --git a/.claude/commands/gm-doctor.md b/.claude/commands/gm-doctor.md index 0f6f472..9cb4b97 100644 --- a/.claude/commands/gm-doctor.md +++ b/.claude/commands/gm-doctor.md @@ -362,15 +362,22 @@ test -d "$LOCAL_PROJECT_DIR/channel/node_modules" && echo "DEPS_INSTALLED" || ec 4. **If channel exists, check for drift** — compare deployed channel against the plugin template (same approach as nono drift detection in Check 9). If the template is newer, update the deployed file and report WARN. -5. **Check the shell alias** includes `--dangerously-load-development-channels server:taskyou`: +5. **Check the shell alias** includes `--dangerously-load-development-channels server:taskyou`. This is the one step that doesn't self-heal, so make it as close to one-click as possible: ```bash - grep "$GM_ALIAS" ~/.zshrc 2>/dev/null || grep "$GM_ALIAS" ~/.bashrc 2>/dev/null + # Find which rc file defines the alias + for rc in ~/.zshrc ~/.bashrc; do grep -q "alias $GM_ALIAS=" "$rc" 2>/dev/null && echo "$rc"; done ``` - - If the alias exists but doesn't include `--dangerously-load-development-channels server:taskyou`, report WARN and show the user the updated alias line they should use: + - If the alias already includes the flag, report PASS. + - If the alias exists but is missing the flag: build the corrected line (the existing alias body + ` --dangerously-load-development-channels server:taskyou` appended after `claude`), then **offer to update it in place** rather than making the user hand-edit: + > "Your `$GM_ALIAS` alias needs the channel flag to receive push notifications. Want me to update it in ``? (I'll back the file up first.)" + + On yes, replace just that alias line in the rc file (back up to `.bak` first), then tell the user to run `source ` and restart the GM for it to take effect. On no, show them the exact line to paste: ``` alias ='cd && CLAUDE_CONFIG_DIR= claude --dangerously-load-development-channels server:taskyou' ``` - - If the alias already includes the flag, report PASS. + - If no alias is found at all, show the full line above and point them at the README "Updating" section. + + Always end this step by reminding the user: **the channel only loads at launch, so restart the GM after any alias change.** 6. **Check the CLAUDE.md** has the channel-based monitoring section (not the old background-agent approach): ```bash diff --git a/README.md b/README.md index 0b98927..ed98aab 100644 --- a/README.md +++ b/README.md @@ -125,11 +125,14 @@ Run `/taskyou-os:doctor` from any directory. It checks and updates everything au 4. **Executor health** — confirms every active task has a running executor pane, recovers orphaned tasks 5. **Command migration** — removes old local command files that shadow newer plugin-delivered versions 6. **CLAUDE.md drift** — detects new sections in the plugin template and offers to add them to your GM -7. **Security audit** — runs the server-side credential and permissions check -8. **Credential isolation** — verifies nono sandbox setup and detects template drift +7. **Task event channel** — deploys the push-notification channel to a GM that predates it (renders `channel/`, installs deps, writes `.mcp.json`) and offers to add the channel flag to your launch alias +8. **Security audit** — runs the server-side credential and permissions check +9. **Credential isolation** — verifies nono sandbox setup and detects template drift If `/doctor` finds issues, it fixes what it can and tells you what to do for the rest. +> **Enabling push notifications on an existing GM:** task events now arrive automatically as `` messages instead of needing a polling agent. Update the plugin, then run `/taskyou-os:doctor` — it deploys the channel and offers to add the required flag to your launch alias. After the alias change, **restart the GM** so the channel loads. (Channels are in research preview: they need Claude Code 2.1.80+ and a claude.ai login.) + ### Update the Server If you need to re-deploy server-side files (hooks, scripts, nono config) after a plugin update: