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.
- package/README.md +6 -9
- package/dist/cli.js +51 -4
- 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
|
-
|
|
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
|
-
|
|
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
|
|
48
|
-
vibegroup
|
|
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.
|
|
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(
|
|
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
|
|
1427
|
-
|
|
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
|