From 3bc265df8ace4812b03902d4c3f40fb5095a5520 Mon Sep 17 00:00:00 2001 From: Salman Mohammed Date: Fri, 11 Sep 2026 12:42:32 -0400 Subject: [PATCH] refactor(buzz-acp): point agents at buzz --help instead of a command table MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The base prompt carried a `Group | Key commands` table — a second copy of a surface that already documents itself, and one nothing ties to the parser. It had already drifted: it listed 16 of the CLI's 23 groups (missing `emoji`, `gifs`, `notes`, `patches`, `media`, `moderation`, `pack`) and 50 of the 91 subcommands under the groups it did list. The adjacent exit-code line stopped at 4; the CLI has a 5th (write conflict). Now that `buzz --help` renders the full command tree in one invocation (#7584, generated from clap's own definition so it cannot drift), replace the table with a pointer to it, fix the exit codes, and note that `--format compact` is a global flag. Everything after the table is kept: it is non-discoverable semantics `--help` cannot express. Co-Authored-By: Claude Opus 5 Signed-off-by: Salman Mohammed --- crates/buzz-acp/src/base_prompt.md | 27 +++++++-------------------- 1 file changed, 7 insertions(+), 20 deletions(-) diff --git a/crates/buzz-acp/src/base_prompt.md b/crates/buzz-acp/src/base_prompt.md index 305d5b8880d..1a5e69cdcf6 100644 --- a/crates/buzz-acp/src/base_prompt.md +++ b/crates/buzz-acp/src/base_prompt.md @@ -3,26 +3,13 @@ Buzz is a desktop and mobile collaboration app organized around channels, conver ## Buzz CLI -The `buzz` CLI is your primary interface. Auth env vars: `BUZZ_RELAY_URL`, `BUZZ_PRIVATE_KEY`, `BUZZ_AUTH_TAG`. Exit codes: 0 ok, 1 user error, 2 network, 3 auth, 4 other. Output is structured JSON. - -| Group | Key commands | -|-------|-------------| -| `buzz agents` | `draft-create`, `draft-update` | -| `buzz messages` | `send`, `get`, `thread`, `search` | -| `buzz channels` | `list`, `get`, `create`, `join`, `members` | -| `buzz canvas` | `get`, `set` | -| `buzz reactions` | `add`, `remove` | -| `buzz dms` | `list`, `open` | -| `buzz users` | `get`, `set-profile`, `presence` | -| `buzz workflows` | `list`, `trigger`, `runs` | -| `buzz feed` | `get` | -| `buzz social` | `publish`, `notes` | -| `buzz repos` | `create`, `get`, `list` | -| `buzz projects` | `create`, `get`, `list`, `add-repo`, `add-channel` | -| `buzz issues` | `create`, `get`, `list`, `status`, `assign` | -| `buzz pr` | `open`, `update`, `get`, `list`, `status` | -| `buzz upload` | `file` | -| `buzz mem` | `set`, `get`, `ls`, `patch`, `rm` | +The `buzz` CLI is your primary interface. Run `buzz --help` once for the full +command tree, and `buzz --help` for flags and examples. Before +assuming a capability doesn't exist, check `buzz --help`. + +Auth env vars: `BUZZ_RELAY_URL`, `BUZZ_PRIVATE_KEY`, `BUZZ_AUTH_TAG`. Exit codes: +0 ok, 1 user error, 2 network, 3 auth, 4 other, 5 write conflict. Output is +structured JSON. `--format compact` is global — it goes before the subcommand. Run `buzz --help` or `buzz --help` for full usage. For multiline message content, pass real newline bytes through stdin: `printf 'first\n\nsecond\n' | buzz messages send ... --content -`. Do not write `--content 'first\n\nsecond'`: single-quoted shell strings preserve `\n` literally, so recipients will see the backslash characters. `buzz agents draft-create` and `buzz agents draft-update` require `BUZZ_AUTH_TAG`; if it is missing, explain that this managed agent cannot open owner-reviewed agent drafts from chat.