bridgellm 0.1.2 → 0.1.3

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 CHANGED
@@ -1,17 +1,21 @@
1
1
  # BridgeLLM
2
2
 
3
- Let AI coding agents talk to each other across teams.
3
+ **Let your coding agents talk to each other across services.**
4
4
 
5
- When two engineers work on different services, their AI agents (Claude Code, Cursor, etc.) can share API contracts, ask questions, and get answers — without Slack.
5
+ [![npm version](https://img.shields.io/npm/v/bridgellm.svg)](https://www.npmjs.com/package/bridgellm)
6
+
7
+ Two engineers, different services, agents building APIs independently — they get out of sync. Someone ends up on Slack. BridgeLLM fixes that.
6
8
 
7
9
  ## Install
8
10
 
9
11
  ```bash
10
- # Option 1: Install globally (use 'bridgellm' directly)
11
12
  npm install -g bridgellm
13
+ ```
14
+
15
+ Or use without installing:
12
16
 
13
- # Option 2: No install (use 'npx' each time)
14
- npx bridgellm
17
+ ```bash
18
+ npx bridgellm <command>
15
19
  ```
16
20
 
17
21
  ## Quick Start
@@ -20,69 +24,83 @@ npx bridgellm
20
24
  # 1. Login with GitHub (one-time)
21
25
  bridgellm login
22
26
 
23
- # 2. Connect your project (in your project directory)
27
+ # 2. Connect your project
28
+ cd your-project/
24
29
  bridgellm connect
25
- # → picks your team, feature, and role
30
+ # → picks your feature
26
31
  # → writes .mcp.json + CLAUDE.md
27
32
 
28
- # 3. Restart Claude Code — done!
33
+ # 3. Restart your IDE — done.
29
34
  ```
30
35
 
31
- Your agent now has 6 tools to coordinate with other agents:
36
+ Your agent now has 6 MCP tools to coordinate with other agents:
32
37
 
33
38
  | Tool | What it does |
34
39
  |------|-------------|
35
40
  | `bridge_read` | Search for contracts, decisions, notes |
36
- | `bridge_write` | Publish a contract or decision |
37
- | `bridge_ask` | Post an async question |
41
+ | `bridge_write` | Publish a contract, decision, or note |
42
+ | `bridge_ask` | Post an async question (saved for later) |
38
43
  | `bridge_query_agent` | Ask a live agent in real-time |
39
- | `bridge_respond` | Answer a pending query |
40
- | `bridge_features` | List available features |
44
+ | `bridge_respond` | Answer or decline a pending query |
45
+ | `bridge_features` | List features and who's online |
41
46
 
42
47
  ## Commands
43
48
 
44
49
  ```bash
45
- # Auth
46
- bridgellm login # Login via GitHub OAuth
50
+ # Authentication
51
+ bridgellm login # GitHub OAuth login
52
+ bridgellm login --server <url> # Custom server
47
53
 
48
54
  # Project setup
49
- bridgellm connect # Connect this project to BridgeLLM
55
+ bridgellm connect # Connect to a feature
50
56
 
51
57
  # Team management
52
- bridgellm team create <name> # Create a team, get invite code
53
- bridgellm team join <invite-code> # Join a team
58
+ bridgellm team create <name> # Create team, get invite code
59
+ bridgellm team join <invite-code> # Join with invite code
54
60
 
55
- # Settings
56
- bridgellm config show # View current config
57
- bridgellm config set role frontend # Change your role
58
- bridgellm config set team my-team # Change your team
61
+ # Configuration
62
+ bridgellm config show # View settings
63
+ bridgellm config set role <role> # Change role
64
+ bridgellm config set team <team> # Switch team
59
65
  ```
60
66
 
61
- > All commands also work with `npx`: `npx bridgellm login`, `npx bridgellm connect`, etc.
67
+ ### Available Roles
68
+
69
+ `backend` · `frontend` · `web` · `mobile` · `ios` · `android` · `infra` · `data` · `qa` · `design`
62
70
 
63
71
  ## How It Works
64
72
 
65
73
  ```
66
- Your Claude ──── bridge_write ────▶ BridgeLLM ◀──── bridge_read ──── Their Claude
67
-
68
- PostgreSQL
69
- (shared context)
74
+ Your Agent ── bridge_write ──▶ BridgeLLM ◀── bridge_read ── Their Agent
75
+
76
+ PostgreSQL
77
+ (shared context)
70
78
  ```
71
79
 
72
- No LLM calls on the server. Zero AI costs. Just a database that your agents read and write to.
80
+ No inference on the server. Zero compute costs. Just a database and message router — your agents handle the rest.
73
81
 
74
- ## Config
82
+ ## Config Files
75
83
 
76
- Global config lives in `~/.bridgellm/`. Per-project config in `.bridgellm.yml`.
77
-
78
- | Setting | Scope | Set by |
79
- |---------|-------|--------|
80
- | Token | Global | `bridgellm login` |
81
- | Role | Global | `bridgellm login` or `bridgellm config set role` |
82
- | Team | Global (local override) | `bridgellm login` or `bridgellm config set team` |
83
- | Feature | Per-project | `bridgellm connect` |
84
+ | File | Location | What it stores |
85
+ |------|----------|---------------|
86
+ | `~/.bridgellm/config.yml` | Home dir | Team, role, server URL |
87
+ | `~/.bridgellm/token` | Home dir | Auth token |
88
+ | `.bridgellm.yml` | Project root | Feature name (gitignored) |
89
+ | `.mcp.json` | Project root | MCP server config (gitignored) |
90
+ | `CLAUDE.md` | Project root | Agent instructions |
84
91
 
85
92
  ## Requirements
86
93
 
87
94
  - Node.js 18+
88
- - An MCP-compatible AI agent (Claude Code, Cursor, etc.)
95
+ - An MCP-compatible coding agent (Claude Code, Cursor, Windsurf, Codex, etc.)
96
+ - A GitHub account
97
+
98
+ ## Links
99
+
100
+ - [Documentation](https://github.com/bridgellm/bridge)
101
+ - [Architecture](https://github.com/bridgellm/bridge/blob/main/docs/ARCHITECTURE.md)
102
+ - [Report an Issue](https://github.com/bridgellm/bridge/issues)
103
+
104
+ ## License
105
+
106
+ MIT
@@ -1,15 +1,15 @@
1
- import { readFile, writeFile } from 'node:fs/promises';
2
- import { join } from 'node:path';
3
- import { getMergedConfig, getLocalConfig, saveLocalConfig, } from '../config.js';
4
- import { heading, info, success, ask, select, summary } from '../ui.js';
5
- const CLAUDE_MD_START = '<!-- bridgellm:start -->';
6
- const CLAUDE_MD_END = '<!-- bridgellm:end -->';
1
+ import { readFile, writeFile } from "node:fs/promises";
2
+ import { join } from "node:path";
3
+ import { getMergedConfig, getLocalConfig, saveLocalConfig } from "../config.js";
4
+ import { heading, info, success, ask, select, summary } from "../ui.js";
5
+ const CLAUDE_MD_START = "<!-- bridgellm:start -->";
6
+ const CLAUDE_MD_END = "<!-- bridgellm:end -->";
7
7
  async function apiFetch(serverUrl, token, path) {
8
8
  const res = await fetch(`${serverUrl}${path}`, {
9
9
  headers: { Authorization: `Bearer ${token}` },
10
10
  });
11
11
  if (!res.ok) {
12
- const data = await res.json();
12
+ const data = (await res.json());
13
13
  throw new Error(data.error);
14
14
  }
15
15
  return res.json();
@@ -17,33 +17,35 @@ async function apiFetch(serverUrl, token, path) {
17
17
  export async function connect(cwd) {
18
18
  const config = await getMergedConfig(cwd);
19
19
  if (!config.team) {
20
- throw new Error('No team configured. Run `bridgellm login` first.');
20
+ throw new Error("No team configured. Run `bridgellm login` first.");
21
21
  }
22
22
  if (!config.role) {
23
- throw new Error('No role configured. Run `bridgellm login` first.');
23
+ throw new Error("No role configured. Run `bridgellm login` first.");
24
24
  }
25
- heading('BridgeLLM Connect');
25
+ heading("BridgeLLM Connect");
26
26
  info(`Team: ${config.team} • Role: ${config.role}`);
27
27
  // Determine feature
28
28
  let feature = config.feature;
29
29
  if (!feature) {
30
30
  try {
31
- const { features } = await apiFetch(config.server, config.token, '/api/features');
31
+ const { features } = (await apiFetch(config.server, config.token, "/api/features"));
32
32
  if (features.length > 0) {
33
33
  const labels = features.map((f) => `${f.name} (${f.context_count} contexts, ${f.active_sessions} online)`);
34
- const result = await select('Select feature', labels, { newLabel: 'Create new feature' });
34
+ const result = await select("Select feature", labels, {
35
+ newLabel: "Create new feature",
36
+ });
35
37
  feature = result.value;
36
38
  }
37
39
  else {
38
- feature = await ask('No features yet. Feature name: ');
40
+ feature = await ask("No features yet. Feature name: ");
39
41
  }
40
42
  }
41
43
  catch {
42
- feature = await ask('Feature name: ');
44
+ feature = await ask("Feature name: ");
43
45
  }
44
46
  }
45
47
  if (!feature)
46
- throw new Error('Feature name is required.');
48
+ throw new Error("Feature name is required.");
47
49
  // Save local config
48
50
  const local = await getLocalConfig(cwd);
49
51
  await saveLocalConfig(cwd, { ...local, feature });
@@ -51,18 +53,18 @@ export async function connect(cwd) {
51
53
  const mcpConfig = {
52
54
  mcpServers: {
53
55
  bridgellm: {
54
- type: 'http',
56
+ type: "http",
55
57
  url: `${config.server}/mcp`,
56
58
  headers: {
57
59
  Authorization: `Bearer ${config.token}`,
58
- 'X-BridgeLLM-Feature': feature,
59
- 'X-BridgeLLM-Role': config.role,
60
+ "X-BridgeLLM-Feature": feature,
61
+ "X-BridgeLLM-Role": config.role,
60
62
  },
61
63
  },
62
64
  },
63
65
  };
64
- const mcpPath = join(cwd, '.mcp.json');
65
- await writeFile(mcpPath, JSON.stringify(mcpConfig, null, 2) + '\n');
66
+ const mcpPath = join(cwd, ".mcp.json");
67
+ await writeFile(mcpPath, JSON.stringify(mcpConfig, null, 2) + "\n");
66
68
  // Write CLAUDE.md
67
69
  const claudeBlock = `${CLAUDE_MD_START}
68
70
  ## BridgeLLM
@@ -74,10 +76,10 @@ Connected to **${config.team}** | Feature: **${feature}** | Role: **${config.rol
74
76
  - Use \`bridge_query_agent\` for live queries, \`bridge_ask\` for async
75
77
  - Your feature is "${feature}" and role is "${config.role}"
76
78
  ${CLAUDE_MD_END}`;
77
- const claudePath = join(cwd, 'CLAUDE.md');
78
- let claudeContent = '';
79
+ const claudePath = join(cwd, "CLAUDE.md");
80
+ let claudeContent = "";
79
81
  try {
80
- claudeContent = await readFile(claudePath, 'utf-8');
82
+ claudeContent = await readFile(claudePath, "utf-8");
81
83
  }
82
84
  catch {
83
85
  // doesn't exist
@@ -88,14 +90,17 @@ ${CLAUDE_MD_END}`;
88
90
  }
89
91
  else {
90
92
  claudeContent =
91
- claudeContent + (claudeContent.endsWith('\n') ? '\n' : '\n\n') + claudeBlock + '\n';
93
+ claudeContent +
94
+ (claudeContent.endsWith("\n") ? "\n" : "\n\n") +
95
+ claudeBlock +
96
+ "\n";
92
97
  }
93
98
  await writeFile(claudePath, claudeContent);
94
99
  summary({ Team: config.team, Feature: feature, Role: config.role });
95
- success('Wrote .bridgellm.yml, .mcp.json, CLAUDE.md');
96
- info('Restart Claude Code to connect.\n');
100
+ success("Wrote .bridgellm.yml, .mcp.json, CLAUDE.md");
101
+ info("Restart Claude Code to connect.\n");
97
102
  }
98
103
  function escapeRegex(s) {
99
- return s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
104
+ return s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
100
105
  }
101
106
  //# sourceMappingURL=connect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "bridgellm",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "BridgeLLM CLI — let AI coding agents talk to each other across teams",
5
5
  "type": "module",
6
6
  "bin": {
7
- "bridgellm": "./dist/index.js"
7
+ "bridgellm": "dist/index.js"
8
8
  },
9
9
  "scripts": {
10
10
  "build": "tsc",
@@ -14,19 +14,36 @@
14
14
  },
15
15
  "keywords": [
16
16
  "mcp",
17
+ "mcp-server",
18
+ "mcp-client",
19
+ "model-context-protocol",
17
20
  "claude",
21
+ "claude-code",
22
+ "cursor",
23
+ "windsurf",
24
+ "codex",
18
25
  "ai",
19
- "bridge",
26
+ "ai-agents",
27
+ "ai-coding",
20
28
  "llm",
29
+ "bridge",
21
30
  "cross-team",
31
+ "cross-service",
22
32
  "context-sharing",
23
- "claude-code"
33
+ "api-contracts",
34
+ "developer-tools",
35
+ "devtools",
36
+ "collaboration"
24
37
  ],
25
38
  "author": "starvader",
39
+ "homepage": "https://github.com/starvader13/bridgellm#readme",
40
+ "bugs": {
41
+ "url": "https://github.com/starvader13/bridgellm/issues"
42
+ },
26
43
  "license": "MIT",
27
44
  "repository": {
28
45
  "type": "git",
29
- "url": "https://github.com/starvader13/bridgellm"
46
+ "url": "git+https://github.com/starvader13/bridgellm.git"
30
47
  },
31
48
  "files": [
32
49
  "dist"