vibegroup 0.1.9 → 0.1.11

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.
Files changed (3) hide show
  1. package/README.md +6 -9
  2. package/dist/cli.js +51 -4
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -12,21 +12,18 @@ When you and your teammates are each heads-down in your own repo on your own mac
12
12
  ## Install
13
13
 
14
14
  ```bash
15
- npx vibegroup install # registers the vibegroup plugin in Claude Code
15
+ npm i -g vibegroup # installs the `vibegroup` command (the Claude Code plugin ships inside it)
16
+ vibegroup init # one-time: registers the plugin, enables the channel, signs you in
16
17
  ```
17
18
 
18
- Or install the CLI globally:
19
-
20
- ```bash
21
- npm i -g vibegroup
22
- ```
19
+ That's the whole setup — `vibegroup init` installs the plugin for you. You need the global install because the everyday commands (`vibegroup claude`, `vibegroup who`) are run from your shell. (`npx vibegroup install` only registers the plugin and leaves no command behind, so don't rely on it.)
23
20
 
24
21
  ## Quickstart
25
22
 
26
23
  ```bash
27
- vibegroup init # one-time: install the plugin, enable the channel, sign in
28
24
  vibegroup team create acme --name Acme # create a team (or get invited to one)
29
25
  vibegroup claude --team acme # launch Claude Code wired to your team's room
26
+ vibegroup who --team acme # see who's in the room (people + their sessions)
30
27
  ```
31
28
 
32
29
  Inside the session, your agent can reach teammates' agents:
@@ -44,8 +41,8 @@ Inside the session, your agent can reach teammates' agents:
44
41
  ## Commands
45
42
 
46
43
  ```
47
- vibegroup install Register the plugin in Claude Code (also: npx vibegroup install)
48
- vibegroup init [email] One-time setup: plugin + channel + sign-in
44
+ vibegroup init [email] One-time setup: plugin + channel + sign-in (start here)
45
+ vibegroup install Re-register just the plugin (init already does this)
49
46
  vibegroup login [email] Sign in / sign up
50
47
  vibegroup logout Clear the cached session
51
48
  vibegroup status Show your auth status
package/dist/cli.js CHANGED
@@ -70,7 +70,7 @@ var package_default;
70
70
  var init_package = __esm(() => {
71
71
  package_default = {
72
72
  name: "vibegroup",
73
- version: "0.1.9",
73
+ version: "0.1.11",
74
74
  description: "Talk to your teammates' Claude Code agents — agent-to-agent collaboration for Claude Code over a shared channel.",
75
75
  type: "module",
76
76
  bin: {
@@ -396,6 +396,9 @@ import { dirname as dirname2, join as join2 } from "node:path";
396
396
  function packageRoot() {
397
397
  return join2(dirname2(fileURLToPath(import.meta.url)), "..");
398
398
  }
399
+ function runningViaNpx(scriptPath = fileURLToPath(import.meta.url)) {
400
+ return /[\\/]_npx[\\/]/.test(scriptPath);
401
+ }
399
402
  function claudeAvailable() {
400
403
  try {
401
404
  return spawnSync("claude", ["--version"], { stdio: "ignore" }).status === 0;
@@ -436,7 +439,18 @@ async function installCommand() {
436
439
  console.error(r.message);
437
440
  return 1;
438
441
  }
439
- console.log("\n✓ Plugin installed. Next: `vibegroup init` to enable the channel + sign in.");
442
+ console.log(`
443
+ ✓ Plugin installed.`);
444
+ if (runningViaNpx()) {
445
+ console.log("\nOne more step — the `vibegroup` command isn't on your PATH (you ran this via npx).");
446
+ console.log(`Install it so you can run the rest:
447
+ `);
448
+ console.log(" npm i -g vibegroup");
449
+ console.log(`
450
+ Then finish setup: vibegroup init`);
451
+ } else {
452
+ console.log("Next: `vibegroup init` to enable the channel + sign in.");
453
+ }
440
454
  return 0;
441
455
  }
442
456
  var init_install = __esm(() => {
@@ -706,6 +720,11 @@ async function initCommand(rest, flags = {}, env = process.env) {
706
720
  }
707
721
  console.log("✓ Channel enabled.");
708
722
  }
723
+ if (!dev) {
724
+ console.log(" On a Claude Team/Enterprise org this is set in claude.ai (Admin → Claude Code →");
725
+ console.log(" Managed settings) and overrides local settings. If Claude says vibegroup isn't");
726
+ console.log(" allowlisted, run `vibegroup allowlist-json` and have your admin paste it there.");
727
+ }
709
728
  if (isLoggedIn(readAuth(env))) {
710
729
  console.log("✓ Already signed in.");
711
730
  } else {
@@ -1198,6 +1217,31 @@ async function whoCommand(flags, env = process.env) {
1198
1217
  const room = str2(flags.room) ?? "general";
1199
1218
  const relayHttp = env.VIBEGROUP_RELAY_HTTP ?? DEFAULT_RELAY_HTTP;
1200
1219
  const apiBase2 = env.VIBEGROUP_API ?? "https://api.vibegroup.sh";
1220
+ if (!process.stdin.isTTY || !process.stdout.isTTY) {
1221
+ const token = await getValidAccessToken(apiBase2, env);
1222
+ if (!token) {
1223
+ console.error("Session expired — run `vibegroup login` again.");
1224
+ return 1;
1225
+ }
1226
+ try {
1227
+ const people = groupPeers(await fetchPresence(relayHttp, team, room, token), auth.user?.id);
1228
+ if (!people.length) {
1229
+ console.log(`No one is in ${team}/${room} right now.`);
1230
+ return 0;
1231
+ }
1232
+ console.log(`${team}/${room}:`);
1233
+ for (const p of people) {
1234
+ const n = p.sessions.length;
1235
+ console.log(` ${p.state === "available" ? "●" : "○"} ${p.name}${p.isYou ? " (you)" : ""} — ${n} session${n === 1 ? "" : "s"}`);
1236
+ for (const s of p.sessions)
1237
+ console.log(` - ${s.session ?? s.peerId.slice(0, 12)} (${s.state})`);
1238
+ }
1239
+ return 0;
1240
+ } catch (e) {
1241
+ console.error(`could not read presence: ${e.message}`);
1242
+ return 1;
1243
+ }
1244
+ }
1201
1245
  return runInk((onExit) => createElement3(Who, {
1202
1246
  relayHttp,
1203
1247
  team,
@@ -1420,11 +1464,14 @@ async function run(argv, env = process.env) {
1420
1464
  }
1421
1465
  var VERSION, DEFAULT_API_BASE2 = "https://api.vibegroup.sh", HELP = `vibegroup — talk to your teammates' Claude Code agents.
1422
1466
 
1467
+ Get started:
1468
+ npm i -g vibegroup then vibegroup init
1469
+
1423
1470
  Usage: vibegroup <command> [options]
1424
1471
 
1425
1472
  Commands:
1426
- install Register the vibegroup plugin in Claude Code (also: npx vibegroup install)
1427
- init [email] One-time setup: install the plugin, enable the channel, sign in
1473
+ init [email] One-time setup: install the plugin, enable the channel, sign in (start here)
1474
+ install Re-register just the plugin in Claude Code (init already does this)
1428
1475
  login [email] Sign in / sign up (opens your browser, verifies email)
1429
1476
  logout Clear the cached session
1430
1477
  status Show your auth + connection status
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vibegroup",
3
- "version": "0.1.9",
3
+ "version": "0.1.11",
4
4
  "description": "Talk to your teammates' Claude Code agents — agent-to-agent collaboration for Claude Code over a shared channel.",
5
5
  "type": "module",
6
6
  "bin": {