amicus 4.5.3 → 4.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "amicus",
3
- "version": "4.5.3",
3
+ "version": "4.5.4",
4
4
  "description": "Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.",
5
5
  "author": {
6
6
  "name": "Christian Wagner"
package/CHANGELOG.md CHANGED
@@ -3,6 +3,32 @@
3
3
  All notable changes to Amicus are documented here. Format follows
4
4
  [Keep a Changelog](https://keepachangelog.com/en/1.1.0/); versions follow semver.
5
5
 
6
+ ## [4.5.4] - 2026-08-01
7
+
8
+ ### Fixed
9
+
10
+ - **README: corrected a false claim about Electron and install channels.** The install section
11
+ said "the standalone Electron window is npm-only." That is not true — the Council Workspace
12
+ auto-open gate (`src/sidecar/workspace-auto-open.js`) keys on `client === 'code-local'` plus
13
+ Electron presence, **not** on install channel, so a plugin-channel user in Claude Code local
14
+ does get the window. Removed.
15
+
16
+ ### Changed
17
+
18
+ - **README now leads with npm as the recommended install**, with a per-channel comparison table.
19
+ The accurate reason npm is preferable for the interactive experience: the plugin's MCP config
20
+ sets `AMICUS_SKIP_POSTINSTALL=1`, and `scripts/postinstall.js` returns early on that — *before*
21
+ `provisionElectron()`. So the plugin channel gets no `amicus` on `PATH` (every window-opening
22
+ command becomes an `npx` call), no Electron provisioning or cache-heal, no reachable
23
+ `amicus doctor --fix` when the GUI breaks, and a fresh npx cache directory on every release.
24
+ The plugin block keeps its genuine strengths — native registration and the slash commands the
25
+ npm paths don't have — alongside an accurate statement of the tradeoff.
26
+ - **README documents the single-MCP-registration behavior** when both channels are installed.
27
+ Config, API keys, and session history are shared, but the MCP server is one registration named
28
+ `amicus` that resolves to whichever install registered most recently — so the copy the CLI runs
29
+ and the copy Claude's MCP tools run can differ. This is the #76 confusion; `amicus doctor`
30
+ reports the MCP launch path and `--fix` repairs that copy in place.
31
+
6
32
  ## [4.5.3] - 2026-08-01
7
33
 
8
34
  ### Fixed
package/README.md CHANGED
@@ -169,26 +169,40 @@ Any flag you also type on that second line overrides just that value — a pack
169
169
 
170
170
  > **Two install channels — read this first.** Amicus ships two ways, and CLI commands look different in each:
171
171
  >
172
- > - **npm global** (`npm install -g amicus` or the install script) puts `amicus`/`am` on your `PATH`. Every `amicus <command>` example in this README works as written.
172
+ > - **npm global** (`npm install -g amicus` or the install script) **the recommended path.** Puts `amicus`/`am` on your `PATH`, so every `amicus <command>` example in this README works as written, and provisions the Electron GUI that the parallel window runs in.
173
173
  > - **Claude Code plugin** (`/plugin install amicus@bourbondog-amicus`) does **not** put a CLI on your `PATH`. CLI calls go through `npx -y amicus@latest <command>` instead — e.g. `amicus doctor` becomes `npx -y amicus@latest doctor`. In exchange, the plugin channel gets two things npm does **not**: the slash commands `/amicus:council` and `/amicus:sidecar`. **These are plugin-channel-ONLY — npm users don't get them** and drive the same skills by saying "council review this" / talking to Claude instead.
174
174
  >
175
+ > See the [comparison table below](#1-install) for the full tradeoff — the short version is that npm is what you want for the interactive window, and the two can be installed side by side.
176
+ >
175
177
  > **Convention used throughout this README:** plugin-channel users: prefix CLI examples with `npx -y amicus@latest` (skip the bare `amicus`/`am`). Individual code blocks are not duplicated per channel — this note is the one translation you need.
176
178
 
177
179
  ### 1. Install
178
180
 
179
- Pick whichever fits. Every path delivers the MCP server and both skills; the `amicus`/`am` CLI lands on your PATH with the **npm and install-script paths** (the plugin path runs the CLI on demand via `npx -y amicus@latest <command>`):
181
+ Every path delivers the MCP server and both skills. They differ in what else you get:
180
182
 
181
- **As a Claude Code plugin** the most native path if you use Claude Code:
183
+ | | **npm / install script** | **Claude Code plugin** |
184
+ |---|---|---|
185
+ | `amicus` / `am` on your `PATH` | ✅ | ❌ — every call is `npx -y amicus@latest <command>` |
186
+ | **Interactive Electron window** (`amicus start`, `watch --ui`) | ✅ provisioned at install | ⚠️ best-effort — see below |
187
+ | Self-heal when the GUI breaks (`amicus doctor --fix`) | ✅ | ❌ no CLI to run it with |
188
+ | MCP server + both skills | ✅ | ✅ |
189
+ | Slash commands `/amicus:council`, `/amicus:sidecar` | ❌ | ✅ |
182
190
 
183
- ```text
184
- /plugin marketplace add BourbonDog/amicus
185
- /plugin install amicus@bourbondog-amicus
186
- /reload-plugins
191
+ ---
192
+
193
+ #### With npm — recommended
194
+
195
+ The canonical path, and the one that gets you the full interactive experience (needs [Node.js](https://nodejs.org) ≥ 18):
196
+
197
+ ```bash
198
+ npm install -g amicus
187
199
  ```
188
200
 
189
- Claude Code registers the MCP server and both skills for you nothing to configure. It also gets you two slash commands the npm/install-script paths don't: **`/amicus:council`** (run a full council review) and **`/amicus:sidecar`** (fork a conversation to another model). (The plugin does not put `amicus` on your PATH — CLI calls go through `npx -y amicus@latest <command>`; the standalone Electron window is npm-only; and the first council/sidecar call downloads the OpenCode engine.)
201
+ This is the path to pick unless you specifically want the plugin's slash commands. It puts `amicus`/`am` on your `PATH` which is what the **parallel window** is driven by and its postinstall provisions the Electron GUI, with `amicus doctor --fix` to repair it in place if anything goes wrong later.
202
+
203
+ #### With the install script
190
204
 
191
- **With the install script** — macOS, Linux, or Windows (needs [Node.js](https://nodejs.org) ≥ 18):
205
+ Same result as npm, one command — macOS, Linux, or Windows (needs [Node.js](https://nodejs.org) ≥ 18):
192
206
 
193
207
  ```bash
194
208
  # macOS / Linux
@@ -200,12 +214,26 @@ curl -fsSL https://raw.githubusercontent.com/BourbonDog/amicus/main/install.sh |
200
214
  irm https://raw.githubusercontent.com/BourbonDog/amicus/main/install.ps1 | iex
201
215
  ```
202
216
 
203
- **With npm** the canonical path (needs [Node.js](https://nodejs.org) ≥ 18):
217
+ #### As a Claude Code plugin
204
218
 
205
- ```bash
206
- npm install -g amicus
219
+ The most native *registration* path if you use Claude Code, and the only one with slash commands:
220
+
221
+ ```text
222
+ /plugin marketplace add BourbonDog/amicus
223
+ /plugin install amicus@bourbondog-amicus
224
+ /reload-plugins
207
225
  ```
208
226
 
227
+ Claude Code registers the MCP server and both skills for you — nothing to configure. You also get **`/amicus:council`** (run a full council review) and **`/amicus:sidecar`** (fork a conversation to another model), which the npm paths don't have.
228
+
229
+ > **Know the tradeoff before you pick this.** The plugin does not put `amicus` on your `PATH`, so every CLI call goes through `npx -y amicus@latest <command>` — including the ones that open the interactive window. It also skips amicus's postinstall, which is what provisions and self-heals the Electron GUI. The window still works when Electron lands in the npx cache, and the Council Workspace still auto-opens on a council run from Claude Code — but nothing repairs it when Electron *doesn't* land, and each new release re-resolves into a fresh cache directory. **If you want the parallel window as a daily driver, install with npm.**
230
+ >
231
+ > (Also: the first council/sidecar call downloads the OpenCode engine.)
232
+
233
+ **Running both is supported** — and is what you want if you like the slash commands *and* the window. Install with npm for the CLI and the GUI, then add the plugin for `/amicus:council`. Your config, API keys, and session history live outside either install and are shared automatically.
234
+
235
+ > One thing to know if you do: the MCP server is a **single registration named `amicus`**, so it resolves to one install — whichever registered most recently, which is usually the plugin's `npx -y amicus@latest mcp`. That's harmless (both serve the same tools), but it means the copy your CLI runs and the copy Claude's MCP tools run can differ. `amicus doctor` reports the MCP launch path explicitly and `--fix` repairs that copy in place, so if a GUI or engine problem ever shows up in Claude but not in your terminal, that's the first thing to check.
236
+
209
237
  For the **npm** and **install-script** paths, a postinstall auto-configures everything — no manual registration:
210
238
 
211
239
  - Registers the **MCP server** in Claude Code and in Claude Desktop / Cowork, so the Amicus tools appear natively.
@@ -413,7 +441,7 @@ $ amicus status demo123 --json
413
441
  "taskId": "demo123",
414
442
  "status": "complete",
415
443
  "elapsed": "5m 0s",
416
- "version": "4.5.3",
444
+ "version": "4.5.4",
417
445
  "model": "google/gemini-2.5-flash",
418
446
  "phase": "terminal"
419
447
  }
package/docs/usage.md CHANGED
@@ -443,7 +443,7 @@ $ amicus status demo123 --json
443
443
  "taskId": "demo123",
444
444
  "status": "complete",
445
445
  "elapsed": "5m 0s",
446
- "version": "4.5.3",
446
+ "version": "4.5.4",
447
447
  "model": "google/gemini-2.5-flash",
448
448
  "phase": "terminal"
449
449
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "amicus",
3
- "version": "4.5.3",
3
+ "version": "4.5.4",
4
4
  "mcpName": "io.github.BourbonDog/amicus",
5
5
  "description": "Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.",
6
6
  "keywords": [