gossipcat 0.1.0 → 0.1.2
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.
- package/README.md +294 -121
- package/dist-mcp/data/archetypes.json +226 -0
- package/dist-mcp/mcp-server.js +879 -741
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<img src="packages/dashboard-v2/public/assets/banner.png" alt="Gossipcat" width="600" />
|
|
2
|
+
<img src="https://raw.githubusercontent.com/gossipcat-ai/gossipcat-ai/master/packages/dashboard-v2/public/assets/banner.png" alt="Gossipcat" width="600" />
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
5
|
<p align="center">
|
|
@@ -7,18 +7,21 @@
|
|
|
7
7
|
</p>
|
|
8
8
|
|
|
9
9
|
<p align="center">
|
|
10
|
-
<a href="https://github.com/
|
|
10
|
+
<a href="https://github.com/gossipcat-ai/gossipcat-ai/releases/latest"><img src="https://img.shields.io/github/v/release/gossipcat-ai/gossipcat-ai?color=0ea5e9&label=release" alt="Latest release" /></a>
|
|
11
|
+
<a href="https://github.com/gossipcat-ai/gossipcat-ai/releases"><img src="https://img.shields.io/github/downloads/gossipcat-ai/gossipcat-ai/total?color=0ea5e9" alt="Downloads" /></a>
|
|
12
|
+
<a href="https://github.com/gossipcat-ai/gossipcat-ai/blob/master/LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue" alt="MIT License" /></a>
|
|
11
13
|
<a href="#quickstart"><img src="https://img.shields.io/badge/node-22%2B-green" alt="Node 22+" /></a>
|
|
14
|
+
<a href="https://github.com/gossipcat-ai/gossipcat-ai/stargazers"><img src="https://img.shields.io/github/stars/gossipcat-ai/gossipcat-ai?style=social" alt="GitHub stars" /></a>
|
|
12
15
|
</p>
|
|
13
16
|
|
|
14
17
|
<p align="center">
|
|
15
|
-
<a href="#quickstart"><strong>
|
|
16
|
-
<a href="#
|
|
17
|
-
<a href="#
|
|
18
|
-
<a href="#
|
|
19
|
-
<a href="#
|
|
20
|
-
<a href="#configuration"><strong>
|
|
21
|
-
<a href="#
|
|
18
|
+
<a href="#quickstart"><strong>Install</strong></a> ·
|
|
19
|
+
<a href="#first-run--5-minutes"><strong>First Run</strong></a> ·
|
|
20
|
+
<a href="#how-to-use-it-day-to-day"><strong>Daily Use</strong></a> ·
|
|
21
|
+
<a href="#reading-the-dashboard"><strong>Dashboard</strong></a> ·
|
|
22
|
+
<a href="#troubleshooting"><strong>Troubleshooting</strong></a> ·
|
|
23
|
+
<a href="#configuration"><strong>Config</strong></a> ·
|
|
24
|
+
<a href="#for-ai-agents"><strong>For AI Agents</strong></a>
|
|
22
25
|
</p>
|
|
23
26
|
|
|
24
27
|
<br/>
|
|
@@ -160,37 +163,62 @@ Both types participate equally in consensus, cross-review, and skill development
|
|
|
160
163
|
|
|
161
164
|
## Quickstart
|
|
162
165
|
|
|
163
|
-
**Requirements:** Node.js 22+
|
|
166
|
+
**Requirements:** Node.js 22+ and [Claude Code](https://claude.com/claude-code).
|
|
164
167
|
|
|
165
|
-
###
|
|
168
|
+
### One-liner
|
|
166
169
|
|
|
167
170
|
```bash
|
|
168
|
-
npm install -g gossipcat
|
|
171
|
+
npm install -g https://github.com/gossipcat-ai/gossipcat-ai/releases/latest/download/gossipcat.tgz && \
|
|
172
|
+
claude mcp add gossipcat -s user -- gossipcat
|
|
169
173
|
```
|
|
170
174
|
|
|
171
|
-
|
|
175
|
+
Restart Claude Code. Then in any project, ask:
|
|
176
|
+
|
|
177
|
+
> "Set up a gossipcat team for this project"
|
|
178
|
+
|
|
179
|
+
Claude Code will call `gossip_setup()` to scaffold `.gossip/config.json` and your agent team. First-run bootstrap also writes the dispatch rules and tool catalog so Claude Code knows how to use gossipcat — no manual config needed.
|
|
180
|
+
|
|
181
|
+
Gossipcat ships from **[GitHub Releases](https://github.com/gossipcat-ai/gossipcat-ai/releases)**, not the npm registry. The install URL above always points at the latest release. `npm` downloads the tarball directly, installs it globally, and drops a `gossipcat` binary on your `PATH` — no `npm publish` involved.
|
|
182
|
+
|
|
183
|
+
### What the install ships
|
|
184
|
+
|
|
185
|
+
| | What you get |
|
|
186
|
+
|---|---|
|
|
187
|
+
| **MCP server** | Bundled binary at `dist-mcp/mcp-server.js`, wired as the `gossipcat` command on `PATH` |
|
|
188
|
+
| **Dashboard** | Prebuilt static assets in `dist-dashboard/` — launches automatically on a dynamic port (ask Claude Code *"what's my gossipcat dashboard URL?"*). Override with `GOSSIPCAT_PORT=24420` if you want a stable port. |
|
|
189
|
+
| **Default skills + rules + archetypes** | 18 bundled skill templates, operational rules, and project archetypes copied into the install |
|
|
190
|
+
| **Postinstall wizard** | Writes `.mcp.json` with correct absolute paths for your machine |
|
|
191
|
+
|
|
192
|
+
### Alternative install paths
|
|
172
193
|
|
|
173
|
-
|
|
194
|
+
**Pin to a specific version:**
|
|
174
195
|
```bash
|
|
175
|
-
npm install
|
|
196
|
+
npm install -g https://github.com/gossipcat-ai/gossipcat-ai/releases/download/v0.1.1/gossipcat-0.1.1.tgz
|
|
176
197
|
```
|
|
177
|
-
The postinstall will write a `.mcp.json` into your project root automatically. Open Claude Code in that directory and gossipcat connects.
|
|
178
198
|
|
|
179
|
-
|
|
199
|
+
**Project-local install** (each project gets its own gossipcat):
|
|
200
|
+
```bash
|
|
201
|
+
cd your-project
|
|
202
|
+
npm install --save-dev https://github.com/gossipcat-ai/gossipcat-ai/releases/latest/download/gossipcat.tgz
|
|
203
|
+
```
|
|
204
|
+
The postinstall writes `.mcp.json` to your project root. Open Claude Code in that directory and gossipcat connects automatically — no `claude mcp add` needed.
|
|
180
205
|
|
|
181
|
-
|
|
206
|
+
**From source** (contributors):
|
|
182
207
|
```bash
|
|
183
|
-
|
|
208
|
+
git clone https://github.com/gossipcat-ai/gossipcat-ai.git
|
|
209
|
+
cd gossipcat-ai
|
|
210
|
+
npm install
|
|
211
|
+
npm run build:mcp
|
|
212
|
+
claude mcp add gossipcat -s user -- node "$PWD/dist-mcp/mcp-server.js"
|
|
184
213
|
```
|
|
185
214
|
|
|
186
|
-
|
|
215
|
+
### Upgrading
|
|
187
216
|
|
|
188
|
-
|
|
217
|
+
Re-run the one-liner — npm will fetch the latest release tarball and replace the installed version:
|
|
189
218
|
```bash
|
|
190
|
-
|
|
191
|
-
cd gossipcat-ai && npm install && npm run build:mcp
|
|
192
|
-
claude mcp add gossipcat -s user -- node "$PWD/dist-mcp/mcp-server.js"
|
|
219
|
+
npm install -g https://github.com/gossipcat-ai/gossipcat-ai/releases/latest/download/gossipcat.tgz
|
|
193
220
|
```
|
|
221
|
+
Or in-session, ask Claude Code: *"Check for gossipcat updates"* — the `gossip_update` tool fetches the latest release notes and applies the upgrade with your confirmation.
|
|
194
222
|
|
|
195
223
|
### 3. API keys
|
|
196
224
|
|
|
@@ -287,142 +315,273 @@ Available presets: `reviewer`, `implementer`, `tester`, `researcher`, `debugger`
|
|
|
287
315
|
|
|
288
316
|
<br/>
|
|
289
317
|
|
|
290
|
-
##
|
|
318
|
+
## First Run — 5 Minutes
|
|
291
319
|
|
|
292
|
-
|
|
320
|
+
The fastest path from "just installed" to "first useful review". If you skip this section you'll probably get stuck on the same things everyone else gets stuck on.
|
|
293
321
|
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
322
|
+
### Step 1 — Open Claude Code in any project
|
|
323
|
+
|
|
324
|
+
```bash
|
|
325
|
+
cd ~/your-project
|
|
326
|
+
claude
|
|
298
327
|
```
|
|
299
328
|
|
|
300
|
-
|
|
329
|
+
Gossipcat is registered globally now, so it boots automatically. You'll see it in the MCP server list.
|
|
301
330
|
|
|
302
|
-
|
|
331
|
+
### Step 2 — Bootstrap once
|
|
332
|
+
|
|
333
|
+
In Claude Code, just type:
|
|
303
334
|
|
|
304
|
-
|
|
335
|
+
> **Run gossip_status**
|
|
305
336
|
|
|
337
|
+
This loads gossipcat's operating rules into the current session, creates `.gossip/` in your project on first run, and prints the dashboard URL + auth key. Copy the key — you'll paste it into the dashboard once.
|
|
338
|
+
|
|
339
|
+
You'll see something like:
|
|
306
340
|
```
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
341
|
+
Status:
|
|
342
|
+
Host: claude-code (native agents supported)
|
|
343
|
+
Relay: running :49664
|
|
344
|
+
Workers: 0
|
|
345
|
+
Dashboard: http://localhost:49664/dashboard (key: c3208820f8f70605fd45fa90004a2a4b)
|
|
346
|
+
Quota: google — OK
|
|
310
347
|
```
|
|
311
348
|
|
|
312
|
-
|
|
349
|
+
Open the dashboard URL in your browser, paste the key. You're now connected.
|
|
313
350
|
|
|
314
|
-
|
|
351
|
+
### Step 3 — Create your first team
|
|
352
|
+
|
|
353
|
+
Tell Claude what you're building:
|
|
315
354
|
|
|
316
|
-
|
|
355
|
+
> **"Set up a gossipcat team for this project — it's a TypeScript Next.js app with a Postgres backend and Stripe payments."**
|
|
356
|
+
|
|
357
|
+
Claude calls `gossip_setup()` and proposes a team. Typical proposal:
|
|
317
358
|
|
|
318
359
|
```
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
360
|
+
Proposed team:
|
|
361
|
+
- sonnet-reviewer (anthropic/claude-sonnet-4-6, native) reviewer + security
|
|
362
|
+
- gemini-reviewer (google/gemini-2.5-pro, relay) reviewer + types
|
|
363
|
+
- haiku-researcher (anthropic/claude-haiku-4-5, native) researcher
|
|
364
|
+
- opus-implementer (anthropic/claude-opus-4-6, native) implementer
|
|
365
|
+
|
|
366
|
+
Approve? (y/n)
|
|
322
367
|
```
|
|
323
368
|
|
|
324
|
-
|
|
369
|
+
Native agents (`native: true`) run through your existing Claude Code subscription — **no API key needed**. Relay agents need a key for their provider. If you don't have a Google API key, drop `gemini-reviewer` from the team for now and add it later.
|
|
325
370
|
|
|
326
|
-
|
|
371
|
+
Once you approve, gossipcat writes `.gossip/config.json` and the agents are live.
|
|
372
|
+
|
|
373
|
+
### Step 4 — Run your first review
|
|
327
374
|
|
|
328
|
-
|
|
375
|
+
In a project where you've made some changes:
|
|
376
|
+
|
|
377
|
+
> **"Do a consensus review of my recent changes"**
|
|
378
|
+
|
|
379
|
+
What happens (typical timing):
|
|
380
|
+
|
|
381
|
+
| Phase | Time | What you see |
|
|
382
|
+
|---|---|---|
|
|
383
|
+
| 1. Decompose | 1s | Claude picks agents and dispatches them in parallel |
|
|
384
|
+
| 2. Independent review | 30s–2min | Each agent reads your diff and reports findings |
|
|
385
|
+
| 3. Cross-review | 30s–1min | Each agent reviews the others' findings |
|
|
386
|
+
| 4. Consensus report | <1s | Findings tagged CONFIRMED / DISPUTED / UNVERIFIED / UNIQUE |
|
|
387
|
+
| 5. Verification | varies | Claude reads UNVERIFIED findings against the code, decides if they're real |
|
|
388
|
+
| 6. Signal recording | <1s | Accuracy signals saved per agent |
|
|
389
|
+
|
|
390
|
+
You get a report like:
|
|
329
391
|
|
|
330
392
|
```
|
|
331
|
-
|
|
332
|
-
|
|
393
|
+
Consensus round b81956b2-e0fa4ea4 — 3 agents
|
|
394
|
+
|
|
395
|
+
CONFIRMED (2):
|
|
396
|
+
[critical] Race condition in tasks Map at server.ts:47 — sonnet + gemini
|
|
397
|
+
[high] Missing auth on WebSocket upgrade at server.ts:112 — sonnet + gemini
|
|
398
|
+
|
|
399
|
+
UNIQUE (1):
|
|
400
|
+
[medium] String concat in SQL query at queries.ts:88 — only sonnet caught this
|
|
401
|
+
|
|
402
|
+
DISPUTED (1):
|
|
403
|
+
[low] "Memory leak in timer" — haiku says yes, sonnet/gemini say no
|
|
404
|
+
→ verified, sonnet was right (not a leak — cleanup is in finally)
|
|
405
|
+
|
|
406
|
+
Final: 3 real bugs to fix, 1 false alarm caught by cross-review.
|
|
333
407
|
```
|
|
334
408
|
|
|
335
|
-
|
|
409
|
+
You only act on **CONFIRMED** + verified **UNIQUE** findings. The cross-review is the whole point — single-agent reviews ship hallucinated bugs as critical findings 5–10% of the time. Cross-review with verification drops that to under 1%.
|
|
410
|
+
|
|
411
|
+
### Step 5 — Watch the dashboard
|
|
412
|
+
|
|
413
|
+
The dashboard shows everything live: agents, scores, active tasks, consensus reports, signals. You can leave it open in a tab while you work — every gossipcat tool call pushes an update via WebSocket.
|
|
414
|
+
|
|
415
|
+
That's the basic loop. The rest of this README covers advanced workflows, troubleshooting, and how to interpret what you're seeing.
|
|
416
|
+
|
|
417
|
+
<br/>
|
|
418
|
+
|
|
419
|
+
## How to use it day-to-day
|
|
420
|
+
|
|
421
|
+
Concrete recipes for the most common workflows. Each one shows what to type, what you'll get back, and what to do with it.
|
|
422
|
+
|
|
423
|
+
### Recipe 1: Review a diff before committing
|
|
424
|
+
|
|
425
|
+
**Type:**
|
|
426
|
+
> "Review my staged changes"
|
|
427
|
+
|
|
428
|
+
**What you'll get:** A consensus report (1–3 minutes) with findings tagged CONFIRMED / UNIQUE / DISPUTED. Claude verifies UNVERIFIED findings against the code and tells you which are real.
|
|
429
|
+
|
|
430
|
+
**What to do with it:** Fix the CONFIRMED + verified-real findings. Ignore disputed-but-falsified findings. If a finding looks important but you disagree, ask Claude *"verify finding f3 against the code yourself"* — it'll re-check and either back you up or push back.
|
|
431
|
+
|
|
432
|
+
**When NOT to use it:** Tiny diffs (under 20 lines) — overhead exceeds value. Just eyeball them.
|
|
336
433
|
|
|
337
434
|
---
|
|
338
435
|
|
|
339
|
-
###
|
|
436
|
+
### Recipe 2: Catch security issues before shipping a feature
|
|
340
437
|
|
|
341
|
-
|
|
342
|
-
"
|
|
343
|
-
|
|
344
|
-
|
|
438
|
+
**Type:**
|
|
439
|
+
> "Security audit the payment handler at lib/stripe/webhook.ts"
|
|
440
|
+
|
|
441
|
+
**What you'll get:** Each security-skilled agent reviews from a different angle (OWASP, input validation, auth, secrets). Findings get cross-validated. Real vulns surface; theoretical ones get caught and dropped.
|
|
345
442
|
|
|
346
|
-
|
|
443
|
+
**What to do with it:** Fix critical/high findings before merge. Bookmark medium/low findings for the next pass.
|
|
444
|
+
|
|
445
|
+
**Tip:** Be specific about the file or module. "Security audit the codebase" is too broad and produces noisy results. "Security audit `lib/stripe/webhook.ts`" produces actionable findings.
|
|
347
446
|
|
|
348
447
|
---
|
|
349
448
|
|
|
350
|
-
###
|
|
449
|
+
### Recipe 3: Understand a piece of code before changing it
|
|
351
450
|
|
|
352
|
-
|
|
353
|
-
"
|
|
354
|
-
"Which agent is best at security reviews?"
|
|
355
|
-
```
|
|
451
|
+
**Type:**
|
|
452
|
+
> "Research how the WebSocket connection lifecycle works in this project before I touch it"
|
|
356
453
|
|
|
357
|
-
|
|
454
|
+
**What you'll get:** A research agent (haiku-researcher by default — fast and cheap) reads the code, traces call paths, and writes a summary. The summary is saved to that agent's cognitive memory so the next time you ask about the same area it remembers.
|
|
455
|
+
|
|
456
|
+
**What to do with it:** Use the summary to plan your change. The agent will reference it next time you ask anything related — no re-discovery cost.
|
|
358
457
|
|
|
359
458
|
---
|
|
360
459
|
|
|
361
|
-
###
|
|
460
|
+
### Recipe 4: Verify your own assumption
|
|
362
461
|
|
|
363
|
-
|
|
364
|
-
"
|
|
365
|
-
"Develop a skill for the reviewer's repeated type-safety misses"
|
|
366
|
-
```
|
|
462
|
+
**Type:**
|
|
463
|
+
> "I think there's a race condition in the tasks Map at server.ts:47 — check if I'm right"
|
|
367
464
|
|
|
368
|
-
|
|
465
|
+
**What you'll get:** Two agents independently check the specific claim and either confirm or push back. Author self-review is optimistic — this isn't.
|
|
466
|
+
|
|
467
|
+
**What to do with it:** If both agree with you, fix it. If they push back, read their reasoning before defending your hypothesis. They might be right.
|
|
468
|
+
|
|
469
|
+
---
|
|
470
|
+
|
|
471
|
+
### Recipe 5: See which agents you can actually trust
|
|
472
|
+
|
|
473
|
+
**Type:**
|
|
474
|
+
> "Show me agent scores"
|
|
475
|
+
|
|
476
|
+
**What you'll get:** A table of agents sorted by reliability with per-category accuracy and dispatch weights. Categories include `trust_boundaries`, `injection_vectors`, `concurrency`, `error_handling`, `data_integrity`, `type_safety`, etc.
|
|
477
|
+
|
|
478
|
+
**What to do with it:** If `gemini-reviewer` is sitting at 30% accuracy on `concurrency`, you know not to trust its concurrency findings without cross-review. If `sonnet-reviewer` is at 90% on `trust_boundaries`, you can ship its findings on auth/session bugs with high confidence.
|
|
479
|
+
|
|
480
|
+
---
|
|
481
|
+
|
|
482
|
+
### Recipe 6: Improve an agent that keeps making the same mistake
|
|
483
|
+
|
|
484
|
+
**Type:**
|
|
485
|
+
> "gemini-reviewer keeps hallucinating about concurrency — develop a skill for it"
|
|
486
|
+
|
|
487
|
+
**What you'll get:** Gossipcat reads gemini-reviewer's failure data, generates a targeted skill file with concrete anti-patterns, and injects it into the agent's prompt for all future concurrency-related reviews. Effectiveness is measured statistically (z-test on post-bind signals) — it'll tell you if the skill is actually working after ~30 dispatches.
|
|
488
|
+
|
|
489
|
+
**What to do with it:** Nothing — it's automatic. Just keep using the agent. Over time, the failure rate drops.
|
|
490
|
+
|
|
491
|
+
---
|
|
492
|
+
|
|
493
|
+
### Recipe 7: Set up a team for a brand-new project
|
|
494
|
+
|
|
495
|
+
**Type:**
|
|
496
|
+
> "Set up a gossipcat team for a TypeScript Cloudflare Workers project with Drizzle ORM and KV storage"
|
|
497
|
+
|
|
498
|
+
**What you'll get:** A proposed team with archetypes matched to your stack. Worker projects need different reviewers than long-running Node services — gossipcat picks accordingly.
|
|
499
|
+
|
|
500
|
+
**What to do with it:** Review the proposal, drop agents you can't run (missing API keys), approve.
|
|
501
|
+
|
|
502
|
+
---
|
|
503
|
+
|
|
504
|
+
### Things to avoid
|
|
505
|
+
|
|
506
|
+
- **Don't ask for "review the whole codebase"** — too broad, agents will pick whatever they find first. Scope to a file, module, or diff.
|
|
507
|
+
- **Don't approve findings without reading them** — even after cross-review, ~5% of findings are genuinely wrong. The reasoning matters more than the verdict.
|
|
508
|
+
- **Don't ignore the dashboard** — when something feels weird (slow dispatch, repeated failures, suspicious findings), the dashboard usually shows you why before you have to ask.
|
|
509
|
+
- **Don't run consensus mode for trivial questions** — `gossip_run` with one agent is fine for "what does this function do?"-tier queries. Save consensus for changes that touch shared state, auth, persistence, or the dispatch pipeline itself.
|
|
369
510
|
|
|
370
511
|
<br/>
|
|
371
512
|
|
|
372
|
-
##
|
|
513
|
+
## Reading the dashboard
|
|
514
|
+
|
|
515
|
+
The dashboard at `http://localhost:<port>/dashboard` is the visual layer over everything gossipcat knows. Open it once with the auth key from `gossip_status`, leave the tab open while you work. Updates push live via WebSocket.
|
|
373
516
|
|
|
374
|
-
|
|
517
|
+
| Panel | What it shows | When to look at it |
|
|
518
|
+
|---|---|---|
|
|
519
|
+
| **Overview** | Active agents, dispatch weights, recent finding counts | First thing in the morning — quick sanity check |
|
|
520
|
+
| **Team** | All agents sorted by reliability score, with category breakdowns | Picking which agent to trust for a tricky finding |
|
|
521
|
+
| **Tasks** | Live + historical task list with agent, duration, status | When something feels stuck — find it here first |
|
|
522
|
+
| **Findings** | Consensus reports paginated by round, with CONFIRMED/DISPUTED/UNVERIFIED breakdowns | Reviewing what got caught in a recent review |
|
|
523
|
+
| **Agent detail** | Per-agent memory entries, skills, score history, task history | Diagnosing why a specific agent keeps failing in a category |
|
|
524
|
+
| **Signals** | Raw signal feed (agreement / hallucination / unique_confirmed) | Auditing the scoring pipeline if scores look wrong |
|
|
525
|
+
| **Logs** | mcp.log content (boot, errors, warnings) | When the MCP server is misbehaving and you need raw evidence |
|
|
375
526
|
|
|
376
|
-
|
|
527
|
+
**Auth keys rotate every session.** A fresh key is generated each time gossipcat boots. If the dashboard says "unauthorized", run `gossip_status` again to get the new key.
|
|
377
528
|
|
|
378
|
-
|
|
379
|
-
|---------------|-------------|
|
|
380
|
-
| Review your latest changes | *"Review my recent changes"* |
|
|
381
|
-
| Deep review of critical code | *"Do a consensus review on the auth module"* |
|
|
382
|
-
| Catch security issues | *"Security audit the payment handler"* |
|
|
383
|
-
| Research before building | *"How does the dispatch pipeline work?"* |
|
|
384
|
-
| Get a second opinion | *"Check if I'm right about this race condition"* |
|
|
385
|
-
| Check which agents are performing well | *"Show me agent scores"* |
|
|
386
|
-
| Improve a struggling agent | *"Develop a skill for the reviewer's type-safety misses"* |
|
|
387
|
-
| Save context for next session | *"Save session"* |
|
|
529
|
+
<br/>
|
|
388
530
|
|
|
389
|
-
|
|
531
|
+
## Troubleshooting
|
|
390
532
|
|
|
391
|
-
###
|
|
533
|
+
### "Dashboard says unauthorized / 401"
|
|
534
|
+
The auth key rotates every boot. Run `gossip_status` in Claude Code to get the current key, paste it into the dashboard login.
|
|
392
535
|
|
|
393
|
-
|
|
394
|
-
|
|
536
|
+
### "Dashboard URL doesn't load at all"
|
|
537
|
+
Check `~/.gossip/mcp.log` (or `<your-project>/.gossip/mcp.log`) for the boot log. Look for the `[gossipcat] 🌐 Dashboard:` line — that's the actual port. If it's missing, the relay didn't start. Common causes:
|
|
538
|
+
- **Conflicting `.gossip/relay.pid`** from a crashed previous boot — delete it and restart Claude Code
|
|
539
|
+
- **`GOSSIPCAT_PORT` set to a port already in use** — unset the env var or pick a free port
|
|
395
540
|
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
→ gemini-reviewer checks for logic bugs
|
|
399
|
-
→ gemini-tester checks for edge cases
|
|
541
|
+
### "Boot says 'No gossip.agents.json found' and nothing happens"
|
|
542
|
+
This was a critical bug in v0.1.0 — fixed in v0.1.1. Upgrade with the install one-liner above. v0.1.1+ boots in degraded mode (dashboard + relay only) so you can run `gossip_setup` from inside Claude Code.
|
|
400
543
|
|
|
401
|
-
|
|
544
|
+
### "Agents keep returning empty findings"
|
|
545
|
+
Usually a model or quota problem. Check `gossip_status` — it shows `Quota: google — OK` (or `cooling down`) per provider. If you're rate-limited, gossipcat will fall back to native agents automatically, but fallback agents may not be in your team. Either wait for the cooldown or add native agents to your team.
|
|
402
546
|
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
✓ CONFIRMED: missing error handler on WebSocket close (2/3 agree)
|
|
406
|
-
? UNVERIFIED: potential memory leak in Map (1 found, others couldn't verify)
|
|
547
|
+
### "The same hallucinated finding keeps coming back"
|
|
548
|
+
Record a `hallucination_caught` signal: ask Claude *"record a hallucination_caught signal for finding f3 in the last consensus round — it claimed X but the code shows Y"*. After 3 such signals, the offending agent's score drops in that category and the orchestrator stops asking it questions in that area.
|
|
407
549
|
|
|
408
|
-
|
|
409
|
-
|
|
550
|
+
### "I want to use my own model / provider"
|
|
551
|
+
Edit `.gossip/config.json` directly. Any OpenAI-compatible endpoint works via `provider: "openai"` + `base_url`. Local models work via Ollama (`provider: "local"`). See the [Configuration](#configuration) section.
|
|
552
|
+
|
|
553
|
+
### "Multiple Claude Code instances all want gossipcat"
|
|
554
|
+
Already supported as of v0.1.1 — each instance gets its own dynamic port. If you want a stable port for one specific instance (e.g. for browser bookmarks), set `GOSSIPCAT_PORT=24420` for that one project's environment.
|
|
555
|
+
|
|
556
|
+
### "How do I uninstall?"
|
|
557
|
+
```bash
|
|
558
|
+
npm uninstall -g gossipcat
|
|
559
|
+
claude mcp remove gossipcat -s user
|
|
560
|
+
rm -rf ~/.gossip # if you want to wipe global memory + signals
|
|
561
|
+
rm -rf <project>/.gossip # if you want to wipe per-project state
|
|
410
562
|
```
|
|
411
563
|
|
|
412
|
-
###
|
|
564
|
+
### Still stuck?
|
|
565
|
+
File an issue at https://github.com/gossipcat-ai/gossipcat-ai/issues. Include the contents of `.gossip/mcp.log` (last 100 lines) and the output of `gossip_status`. Or ask Claude in-session: *"file a gossipcat bug report about <...>"* — the `gossip_bug_feedback` tool packages it up automatically.
|
|
413
566
|
|
|
414
|
-
|
|
567
|
+
<br/>
|
|
568
|
+
|
|
569
|
+
## Under the hood
|
|
570
|
+
|
|
571
|
+
Claude Code translates your natural-language requests into gossipcat MCP tool calls automatically — you don't need to type these — but if you want fine-grained control they're documented here:
|
|
415
572
|
|
|
416
573
|
```
|
|
417
574
|
gossip_run(agent_id: "auto", task: "...") → single-agent task
|
|
418
|
-
gossip_dispatch(mode: "consensus", tasks: [...]) → multi-agent review
|
|
419
|
-
gossip_collect(consensus: true) →
|
|
420
|
-
gossip_signals(action: "record", signals: [...]) → record accuracy
|
|
575
|
+
gossip_dispatch(mode: "consensus", tasks: [...]) → multi-agent review with cross-review
|
|
576
|
+
gossip_collect(consensus: true) → wait for results, run consensus
|
|
577
|
+
gossip_signals(action: "record", signals: [...]) → record accuracy after verification
|
|
421
578
|
gossip_scores() → view agent performance
|
|
422
|
-
gossip_skills(action: "develop", ...) → improve struggling
|
|
579
|
+
gossip_skills(action: "develop", ...) → improve a struggling agent
|
|
580
|
+
gossip_status() → system status + dashboard URL
|
|
581
|
+
gossip_setup(...) → create or update your team
|
|
423
582
|
```
|
|
424
583
|
|
|
425
|
-
|
|
584
|
+
The dispatch rules at `.claude/rules/gossipcat.md` (auto-generated on first boot) teach Claude Code when to pick which mode based on what your change touches. You can edit these rules to bias the dispatch.
|
|
426
585
|
|
|
427
586
|
<br/>
|
|
428
587
|
|
|
@@ -529,30 +688,16 @@ These tools are called by the internal LLM (the orchestrator — Claude Code wit
|
|
|
529
688
|
|
|
530
689
|
<br/>
|
|
531
690
|
|
|
532
|
-
## Dashboard
|
|
691
|
+
## Dashboard internals
|
|
533
692
|
|
|
534
|
-
|
|
535
|
-
```bash
|
|
536
|
-
npm run build:dashboard
|
|
537
|
-
```
|
|
693
|
+
> User-facing dashboard guide is in [Reading the dashboard](#reading-the-dashboard) above. This section covers the build + tech stack.
|
|
538
694
|
|
|
539
|
-
The dashboard
|
|
695
|
+
Built with React + Vite + shadcn/ui. Source lives at `packages/dashboard-v2/`. The bundled assets ship in `dist-dashboard/` and the relay serves them as static files at `http://localhost:<dynamic-port>/dashboard/`. Live updates push via WebSocket — every gossipcat tool call emits an event that connected dashboard tabs receive in real time.
|
|
540
696
|
|
|
697
|
+
To rebuild from source (contributors only):
|
|
698
|
+
```bash
|
|
699
|
+
npm run build:dashboard
|
|
541
700
|
```
|
|
542
|
-
Dashboard: http://localhost:24420/dashboard (key: a1b2c3...)
|
|
543
|
-
```
|
|
544
|
-
|
|
545
|
-
A new auth key is generated each session. Paste it when prompted to log in.
|
|
546
|
-
|
|
547
|
-
Built with React + Vite + shadcn/ui:
|
|
548
|
-
|
|
549
|
-
- **Overview** — agent cards with dispatch weights, recent tasks, finding metrics
|
|
550
|
-
- **Team** — all agents sorted by reliability
|
|
551
|
-
- **Tasks** — task history with agent, duration, and status
|
|
552
|
-
- **Findings** — consensus reports with CONFIRMED/DISPUTED/UNVERIFIED breakdowns
|
|
553
|
-
- **Agent detail** — per-agent memory, skills, scores, and task history
|
|
554
|
-
|
|
555
|
-
Live updates via WebSocket — every tool call pushes events to connected clients.
|
|
556
701
|
|
|
557
702
|
<br/>
|
|
558
703
|
|
|
@@ -692,6 +837,7 @@ Gossipcat auto-detects the host environment:
|
|
|
692
837
|
| Statistical skill effectiveness (z-test on per-category accuracy, auto pass/fail verdicts) | ✅ Shipped |
|
|
693
838
|
| Native subagents get skill injection + cognitive memory recall | ✅ Shipped |
|
|
694
839
|
| Relay cross-reviewers get `file_read` + `file_grep` (closes tool-blindness gap with natives) | ✅ Shipped |
|
|
840
|
+
| npm package — one-liner install with bundled MCP server + dashboard | ✅ Shipped |
|
|
695
841
|
| Full implementation workflow (agents write code) | 🔄 In progress |
|
|
696
842
|
| Dashboard enrichment (graphs, trends, session history) | ☐ Planned |
|
|
697
843
|
| Local Postgres migration (embedded Postgres for tasks/signals/consensus/memory — unblocks full task results, real queries, no more JSONL scans) | ☐ Planned |
|
|
@@ -702,6 +848,33 @@ Gossipcat auto-detects the host environment:
|
|
|
702
848
|
|
|
703
849
|
<br/>
|
|
704
850
|
|
|
851
|
+
## Contributing
|
|
852
|
+
|
|
853
|
+
Gossipcat is open source and early-stage — bug reports, feature ideas, and PRs are all welcome.
|
|
854
|
+
|
|
855
|
+
- **Bugs / feature requests** → [open an issue](https://github.com/gossipcat-ai/gossipcat-ai/issues). Or ask Claude Code directly: *"File a gossipcat bug report about <...>"* — the `gossip_bug_feedback` tool posts structured issues from your current session.
|
|
856
|
+
- **Pull requests** → fork, branch, PR against `master`. Run `npm test` before pushing. Commit messages follow conventional commits (`fix:`, `feat:`, `chore:`, `docs:`).
|
|
857
|
+
- **Discussions** → new ideas, design questions, "should this be a feature?" → [GitHub Discussions](https://github.com/gossipcat-ai/gossipcat-ai/discussions).
|
|
858
|
+
|
|
859
|
+
See `CLAUDE.md` in the repo for the operational rules gossipcat's own agents follow during development — it's a useful read if you want to understand the signal pipeline and consensus workflow from the inside.
|
|
860
|
+
|
|
861
|
+
### Cutting a release (maintainers)
|
|
862
|
+
|
|
863
|
+
Releases go to GitHub Releases via a two-stage script that respects branch protection — no direct commits to master.
|
|
864
|
+
|
|
865
|
+
```bash
|
|
866
|
+
# Stage 1 — open the version bump PR
|
|
867
|
+
./scripts/release.sh 0.1.2
|
|
868
|
+
|
|
869
|
+
# review + merge the PR via gh or web UI
|
|
870
|
+
gh pr merge <pr-number> --squash --delete-branch
|
|
871
|
+
|
|
872
|
+
# Stage 2 — build, tag, release (from master, after the PR is merged)
|
|
873
|
+
git checkout master && git pull
|
|
874
|
+
./scripts/release.sh # no args
|
|
875
|
+
```
|
|
876
|
+
|
|
877
|
+
Stage 1 creates `chore/release-X.Y.Z`, bumps `package.json`, opens the PR, exits. Stage 2 reads the version from `package.json`, builds the MCP bundle + dashboard, packs the tarball, tags, pushes the tag, and creates the GitHub release with auto-generated notes from commits since the last tag.
|
|
705
878
|
|
|
706
879
|
<br/>
|
|
707
880
|
|