the-campfire 0.3.2 → 0.4.0

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
@@ -85,7 +85,7 @@
85
85
 
86
86
  ## Quick Start
87
87
 
88
- There are three ways to run Campfire: from npm, from source, or with Docker.
88
+ There are four ways to run Campfire: from npm, from source, with Docker, or as a native macOS app.
89
89
 
90
90
  ### Option 1: npm (fastest)
91
91
 
@@ -187,6 +187,22 @@ docker stop campfire && docker rm campfire
187
187
 
188
188
  See [Docker Deployment](#docker-deployment) for advanced configuration (mounting agent CLIs, reverse proxy, environment variables).
189
189
 
190
+ ### Option 4: macOS Desktop App (Apple Silicon)
191
+
192
+ A native desktop app for Macs with Apple Silicon. It bundles the full Campfire server and the Bun runtime — no Bun install needed, every feature included.
193
+
194
+ 1. Download `Campfire-<version>-arm64.dmg` from the [latest release](https://github.com/stretchcloud/campfire/releases/latest)
195
+ 2. Drag **Campfire** into **Applications**
196
+ 3. First launch: right-click the app → **Open** (the build is not notarized with Apple; if macOS still refuses, run `xattr -cr /Applications/Campfire.app` once)
197
+
198
+ The app stores its data in the same `~/.campfire` directory as the CLI, so sessions, recordings, and settings are shared. If a Campfire server is already running on port 4567 (for example the `the-campfire` background service), the app attaches to it instead of starting a second one. Agent CLIs (`claude`, `codex`, …) still need to be installed on your machine.
199
+
200
+ To build the DMG from source:
201
+
202
+ ```bash
203
+ make dmg # stages the backend, then packages desktop/dist/Campfire-<version>-arm64.dmg
204
+ ```
205
+
190
206
  ### Requirements
191
207
 
192
208
  **For native (npm or source):**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "the-campfire",
3
- "version": "0.3.2",
3
+ "version": "0.4.0",
4
4
  "type": "module",
5
5
  "description": "Campfire \u2014 collaborative web platform for AI coding agents. Run Claude Code, Codex, Goose, Aider, and more from one browser UI with real-time collaboration, permission voting, and automation.",
6
6
  "license": "MIT",
@@ -55,6 +55,17 @@ export function generateAgentToolDefinitions(backends: BackendType[] = TOOL_BACK
55
55
  }));
56
56
  }
57
57
 
58
+ /**
59
+ * Resolve the Bun executable to launch the stdio MCP server with. When the
60
+ * server itself runs under Bun (always in production, including the desktop
61
+ * app where Bun is bundled inside the .app and not on PATH), use the absolute
62
+ * path of the current runtime so the agent CLI can spawn it without needing
63
+ * a global `bun` install.
64
+ */
65
+ function resolveBunCommand(): string {
66
+ return typeof Bun !== "undefined" && process.execPath ? process.execPath : "bun";
67
+ }
68
+
58
69
  export function createAgentMcpServerConfig(options: {
59
70
  port: number;
60
71
  token: string;
@@ -64,7 +75,7 @@ export function createAgentMcpServerConfig(options: {
64
75
  }): McpServerConfig {
65
76
  return {
66
77
  type: "stdio",
67
- command: "bun",
78
+ command: resolveBunCommand(),
68
79
  args: [`${options.packageRoot}/server/agent-mcp-stdio.ts`],
69
80
  env: {
70
81
  CAMPFIRE_AGENT_MCP_URL: `http://127.0.0.1:${options.port}/api/internal/agent-mcp`,