buddy-builder 1.4.1 → 1.4.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 +57 -0
- package/dist/main.cjs +5 -3
- package/dist/main.cjs.map +2 -2
- package/dist/renderer/app.js +29 -29
- package/dist/renderer/app.js.map +3 -3
- package/dist/renderer/styles/sidebar.css +23 -6
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="assets/icon-256.png" width="120" height="120" alt="Buddy Builder" />
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
<h1 align="center">Buddy Builder</h1>
|
|
6
|
+
|
|
7
|
+
<p align="center">
|
|
8
|
+
A desktop GUI for <a href="https://docs.anthropic.com/en/docs/claude-code">Claude Code</a>.<br/>
|
|
9
|
+
Manage multiple sessions, search conversations, and work with AI — visually.
|
|
10
|
+
</p>
|
|
11
|
+
|
|
12
|
+
<p align="center">
|
|
13
|
+
<a href="https://buddy-builder.io">Website</a> ·
|
|
14
|
+
<a href="https://www.npmjs.com/package/buddy-builder">npm</a>
|
|
15
|
+
</p>
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Features
|
|
20
|
+
|
|
21
|
+
- **Multiple sessions** — Run several Claude Code sessions side-by-side, each in its own project directory
|
|
22
|
+
- **Session management** — Rename, favorite, resume, and pop out sessions into separate windows
|
|
23
|
+
- **Full-text search** — Search across all your conversations by content or title
|
|
24
|
+
- **Permission control** — Approve tool use requests visually, with bulk approve support
|
|
25
|
+
- **Auto-naming** — Sessions are automatically given descriptive titles after a few exchanges
|
|
26
|
+
- **Desktop notifications** — Get notified when a session is waiting for input
|
|
27
|
+
- **System tray** — Minimize to tray and keep sessions running in the background
|
|
28
|
+
|
|
29
|
+
## Prerequisites
|
|
30
|
+
|
|
31
|
+
- [Node.js](https://nodejs.org/) (v18 or later)
|
|
32
|
+
- [Claude Code CLI](https://docs.anthropic.com/en/docs/claude-code) — `npm install -g @anthropic-ai/claude-code`
|
|
33
|
+
|
|
34
|
+
## Install
|
|
35
|
+
|
|
36
|
+
```sh
|
|
37
|
+
npm install -g buddy-builder
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Launch
|
|
41
|
+
|
|
42
|
+
```sh
|
|
43
|
+
buddy-builder
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Development
|
|
47
|
+
|
|
48
|
+
```sh
|
|
49
|
+
git clone https://github.com/BroderDigitalEnzymes/buddy-builder.git
|
|
50
|
+
cd buddy-builder
|
|
51
|
+
npm install
|
|
52
|
+
npm run dev
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## License
|
|
56
|
+
|
|
57
|
+
ISC
|
package/dist/main.cjs
CHANGED
|
@@ -15089,7 +15089,7 @@ function createSessionManager(sink, claudePath) {
|
|
|
15089
15089
|
const id = stub.claudeSessionId;
|
|
15090
15090
|
const managed = {
|
|
15091
15091
|
id,
|
|
15092
|
-
name: m.name
|
|
15092
|
+
name: m.name || stub.slug || "Untitled Session",
|
|
15093
15093
|
projectName: stub.projectName,
|
|
15094
15094
|
session: null,
|
|
15095
15095
|
claudeSessionId: stub.claudeSessionId,
|
|
@@ -16310,13 +16310,15 @@ import_electron6.app.whenReady().then(() => {
|
|
|
16310
16310
|
let claudePath = config2.claudePath;
|
|
16311
16311
|
try {
|
|
16312
16312
|
const shell2 = process.env.SHELL || "/bin/zsh";
|
|
16313
|
-
const
|
|
16313
|
+
const rawPath = (0, import_child_process4.execSync)(`${shell2} -ilc "echo \\$PATH"`, { encoding: "utf-8" });
|
|
16314
|
+
const shellPath = rawPath.trim().split("\n").filter(Boolean).pop();
|
|
16314
16315
|
if (shellPath) {
|
|
16315
16316
|
process.env.PATH = shellPath;
|
|
16316
16317
|
console.log("[shell] inherited PATH from login shell");
|
|
16317
16318
|
}
|
|
16318
16319
|
if (claudePath === "claude") {
|
|
16319
|
-
|
|
16320
|
+
const raw = (0, import_child_process4.execSync)(`${shell2} -ilc "which claude"`, { encoding: "utf-8" });
|
|
16321
|
+
claudePath = raw.trim().split("\n").filter(Boolean).pop() ?? "claude";
|
|
16320
16322
|
console.log("[claude] resolved path:", claudePath);
|
|
16321
16323
|
}
|
|
16322
16324
|
} catch {
|