bridgellm 0.1.2 → 0.1.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.
- package/README.md +56 -38
- package/dist/commands/connect.js +32 -27
- package/dist/commands/connect.js.map +1 -1
- package/dist/config.d.ts +2 -0
- package/dist/config.js +60 -1
- package/dist/config.js.map +1 -1
- package/dist/index.js +25 -1
- package/dist/index.js.map +1 -1
- package/package.json +22 -5
package/README.md
CHANGED
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
# BridgeLLM
|
|
2
2
|
|
|
3
|
-
Let
|
|
3
|
+
**Let your coding agents talk to each other across services.**
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
[](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
|
-
|
|
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
|
|
27
|
+
# 2. Connect your project
|
|
28
|
+
cd your-project/
|
|
24
29
|
bridgellm connect
|
|
25
|
-
# → picks your
|
|
30
|
+
# → picks your feature
|
|
26
31
|
# → writes .mcp.json + CLAUDE.md
|
|
27
32
|
|
|
28
|
-
# 3. Restart
|
|
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
|
|
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
|
|
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
|
-
#
|
|
46
|
-
bridgellm login
|
|
50
|
+
# Authentication
|
|
51
|
+
bridgellm login # GitHub OAuth login
|
|
52
|
+
bridgellm login --server <url> # Custom server
|
|
47
53
|
|
|
48
54
|
# Project setup
|
|
49
|
-
bridgellm connect
|
|
55
|
+
bridgellm connect # Connect to a feature
|
|
50
56
|
|
|
51
57
|
# Team management
|
|
52
|
-
bridgellm team create <name>
|
|
53
|
-
bridgellm team join <invite-code>
|
|
58
|
+
bridgellm team create <name> # Create team, get invite code
|
|
59
|
+
bridgellm team join <invite-code> # Join with invite code
|
|
54
60
|
|
|
55
|
-
#
|
|
56
|
-
bridgellm config show
|
|
57
|
-
bridgellm config set role
|
|
58
|
-
bridgellm config set 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
|
-
|
|
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
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
74
|
+
Your Agent ── bridge_write ──▶ BridgeLLM ◀── bridge_read ── Their Agent
|
|
75
|
+
│
|
|
76
|
+
PostgreSQL
|
|
77
|
+
(shared context)
|
|
70
78
|
```
|
|
71
79
|
|
|
72
|
-
No
|
|
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
|
-
|
|
77
|
-
|
|
78
|
-
|
|
|
79
|
-
|
|
80
|
-
|
|
|
81
|
-
|
|
|
82
|
-
|
|
|
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
|
|
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
|
package/dist/commands/connect.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { readFile, writeFile } from
|
|
2
|
-
import { join } from
|
|
3
|
-
import { getMergedConfig, getLocalConfig, saveLocalConfig
|
|
4
|
-
import { heading, info, success, ask, select, summary } from
|
|
5
|
-
const CLAUDE_MD_START =
|
|
6
|
-
const CLAUDE_MD_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(
|
|
20
|
+
throw new Error("No team configured. Run `bridgellm login` first.");
|
|
21
21
|
}
|
|
22
22
|
if (!config.role) {
|
|
23
|
-
throw new Error(
|
|
23
|
+
throw new Error("No role configured. Run `bridgellm login` first.");
|
|
24
24
|
}
|
|
25
|
-
heading(
|
|
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,
|
|
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(
|
|
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(
|
|
40
|
+
feature = await ask("No features yet. Feature name: ");
|
|
39
41
|
}
|
|
40
42
|
}
|
|
41
43
|
catch {
|
|
42
|
-
feature = await ask(
|
|
44
|
+
feature = await ask("Feature name: ");
|
|
43
45
|
}
|
|
44
46
|
}
|
|
45
47
|
if (!feature)
|
|
46
|
-
throw new Error(
|
|
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:
|
|
56
|
+
type: "http",
|
|
55
57
|
url: `${config.server}/mcp`,
|
|
56
58
|
headers: {
|
|
57
59
|
Authorization: `Bearer ${config.token}`,
|
|
58
|
-
|
|
59
|
-
|
|
60
|
+
"X-BridgeLLM-Feature": feature,
|
|
61
|
+
"X-BridgeLLM-Role": config.role,
|
|
60
62
|
},
|
|
61
63
|
},
|
|
62
64
|
},
|
|
63
65
|
};
|
|
64
|
-
const mcpPath = join(cwd,
|
|
65
|
-
await writeFile(mcpPath, JSON.stringify(mcpConfig, null, 2) +
|
|
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,
|
|
78
|
-
let claudeContent =
|
|
79
|
+
const claudePath = join(cwd, "CLAUDE.md");
|
|
80
|
+
let claudeContent = "";
|
|
79
81
|
try {
|
|
80
|
-
claudeContent = await readFile(claudePath,
|
|
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 +
|
|
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(
|
|
96
|
-
info(
|
|
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":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,
|
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -23,3 +23,5 @@ export declare function saveGlobalConfig(config: GlobalConfig): Promise<void>;
|
|
|
23
23
|
export declare function getLocalConfig(cwd: string): Promise<LocalConfig>;
|
|
24
24
|
export declare function saveLocalConfig(cwd: string, config: LocalConfig): Promise<void>;
|
|
25
25
|
export declare function getMergedConfig(cwd: string): Promise<MergedConfig>;
|
|
26
|
+
export declare function clean(cwd: string): Promise<void>;
|
|
27
|
+
export declare function reset(cwd: string): Promise<void>;
|
package/dist/config.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { readFile, writeFile, mkdir } from 'node:fs/promises';
|
|
1
|
+
import { readFile, writeFile, mkdir, rm, unlink } from 'node:fs/promises';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
3
|
import { homedir } from 'node:os';
|
|
4
4
|
export const DEFAULT_SERVER = 'https://bridgellm-bridge-411567362585.asia-south1.run.app';
|
|
@@ -83,6 +83,65 @@ export async function getMergedConfig(cwd) {
|
|
|
83
83
|
feature: local.feature,
|
|
84
84
|
};
|
|
85
85
|
}
|
|
86
|
+
// ── Clean (local only) ──
|
|
87
|
+
async function tryUnlink(path) {
|
|
88
|
+
try {
|
|
89
|
+
await unlink(path);
|
|
90
|
+
return true;
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
return false;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
export async function clean(cwd) {
|
|
97
|
+
const removed = [];
|
|
98
|
+
if (await tryUnlink(join(cwd, '.mcp.json')))
|
|
99
|
+
removed.push('.mcp.json');
|
|
100
|
+
if (await tryUnlink(join(cwd, '.bridgellm.yml')))
|
|
101
|
+
removed.push('.bridgellm.yml');
|
|
102
|
+
// Remove bridgellm block from CLAUDE.md
|
|
103
|
+
const claudePath = join(cwd, 'CLAUDE.md');
|
|
104
|
+
try {
|
|
105
|
+
const content = await readFile(claudePath, 'utf-8');
|
|
106
|
+
const START = '<!-- bridgellm:start -->';
|
|
107
|
+
const END = '<!-- bridgellm:end -->';
|
|
108
|
+
if (content.includes(START)) {
|
|
109
|
+
const regex = new RegExp(`\\n?${START.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}[\\s\\S]*?${END.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}\\n?`);
|
|
110
|
+
const cleaned = content.replace(regex, '\n').trim();
|
|
111
|
+
if (cleaned) {
|
|
112
|
+
await writeFile(claudePath, cleaned + '\n');
|
|
113
|
+
removed.push('CLAUDE.md (bridgellm block)');
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
await unlink(claudePath);
|
|
117
|
+
removed.push('CLAUDE.md');
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
// no CLAUDE.md
|
|
123
|
+
}
|
|
124
|
+
if (removed.length > 0) {
|
|
125
|
+
console.log(` Removed: ${removed.join(', ')}`);
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
console.log(' Nothing to clean.');
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
// ── Reset (local + global) ──
|
|
132
|
+
export async function reset(cwd) {
|
|
133
|
+
// Clean local first
|
|
134
|
+
await clean(cwd);
|
|
135
|
+
// Remove global config
|
|
136
|
+
try {
|
|
137
|
+
await rm(BRIDGELLM_DIR, { recursive: true, force: true });
|
|
138
|
+
console.log(' Removed ~/.bridgellm/');
|
|
139
|
+
}
|
|
140
|
+
catch {
|
|
141
|
+
// already gone
|
|
142
|
+
}
|
|
143
|
+
console.log(' Reset complete. Run `bridgellm login` to start fresh.');
|
|
144
|
+
}
|
|
86
145
|
function parseSimpleYaml(raw) {
|
|
87
146
|
const result = {};
|
|
88
147
|
for (const line of raw.split('\n')) {
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import { Command } from 'commander';
|
|
|
3
3
|
import { login } from './commands/login.js';
|
|
4
4
|
import { connect } from './commands/connect.js';
|
|
5
5
|
import { createTeam, joinTeam } from './commands/team.js';
|
|
6
|
-
import { getGlobalConfig, saveGlobalConfig, getServerUrl, DEFAULT_SERVER } from './config.js';
|
|
6
|
+
import { getGlobalConfig, saveGlobalConfig, getServerUrl, DEFAULT_SERVER, clean, reset } from './config.js';
|
|
7
7
|
const program = new Command();
|
|
8
8
|
program
|
|
9
9
|
.name('bridgellm')
|
|
@@ -110,5 +110,29 @@ config
|
|
|
110
110
|
process.exit(1);
|
|
111
111
|
}
|
|
112
112
|
});
|
|
113
|
+
program
|
|
114
|
+
.command('clean')
|
|
115
|
+
.description('Remove local project config (.mcp.json, .bridgellm.yml, CLAUDE.md bridgellm block)')
|
|
116
|
+
.action(async () => {
|
|
117
|
+
try {
|
|
118
|
+
await clean(process.cwd());
|
|
119
|
+
}
|
|
120
|
+
catch (err) {
|
|
121
|
+
console.error(err.message);
|
|
122
|
+
process.exit(1);
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
program
|
|
126
|
+
.command('reset')
|
|
127
|
+
.description('Remove everything (local + global config) and start fresh')
|
|
128
|
+
.action(async () => {
|
|
129
|
+
try {
|
|
130
|
+
await reset(process.cwd());
|
|
131
|
+
}
|
|
132
|
+
catch (err) {
|
|
133
|
+
console.error(err.message);
|
|
134
|
+
process.exit(1);
|
|
135
|
+
}
|
|
136
|
+
});
|
|
113
137
|
program.parse();
|
|
114
138
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.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.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "BridgeLLM CLI — let AI coding agents talk to each other across teams",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
|
-
"bridgellm": "
|
|
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
|
-
"
|
|
26
|
+
"ai-agents",
|
|
27
|
+
"ai-coding",
|
|
20
28
|
"llm",
|
|
29
|
+
"bridge",
|
|
21
30
|
"cross-team",
|
|
31
|
+
"cross-service",
|
|
22
32
|
"context-sharing",
|
|
23
|
-
"
|
|
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"
|