remcodex 0.1.0-beta.2 → 0.1.0-beta.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
@@ -138,6 +138,12 @@ Before running this project, you should have:
138
138
  - Codex CLI installed and already working locally
139
139
  - A machine where this app can access your local Codex data and working directories
140
140
 
141
+ On Linux, the first install may need a native build toolchain for `better-sqlite3` and `node-pty`:
142
+
143
+ - `python3`
144
+ - `make`
145
+ - `g++`
146
+
141
147
  This project is currently developed primarily around a local macOS workflow.
142
148
 
143
149
  ## Quick Start
@@ -159,6 +165,84 @@ RemCodex starts a local server and opens the browser for you.
159
165
 
160
166
  If you want to make it reachable from your phone, expose the local machine on your LAN and open the same URL with your host IP.
161
167
 
168
+ ### Linux Install Note
169
+
170
+ If `npx remcodex` appears to hang during the first install, it is usually still installing or compiling native dependencies.
171
+
172
+ Make sure the machine has:
173
+
174
+ - `python3`
175
+ - `make`
176
+ - `g++`
177
+
178
+ Common setup examples:
179
+
180
+ ```bash
181
+ # Debian / Ubuntu
182
+ apt-get install -y python3 make g++
183
+
184
+ # RHEL / CentOS / Rocky / Alibaba Cloud Linux
185
+ yum install -y python3 make gcc-c++
186
+ ```
187
+
188
+ ## Install FAQ
189
+
190
+ ### Why does `npx remcodex` seem to hang on Linux?
191
+
192
+ The package includes native dependencies such as `better-sqlite3` and `node-pty`.
193
+
194
+ On some Linux machines, the first install may need to download or compile native binaries before RemCodex itself starts. That can look like a long spinner before you see any RemCodex output.
195
+
196
+ ### What usually fixes Linux install failures?
197
+
198
+ Install the native build tools first:
199
+
200
+ - `python3`
201
+ - `make`
202
+ - `g++`
203
+
204
+ If you see `node-gyp`, `g++`, or build-related errors, the machine is usually missing part of that toolchain.
205
+
206
+ ### How can I get clearer logs than `npx remcodex`?
207
+
208
+ If the first `npx` run is unclear, install it globally instead:
209
+
210
+ ```bash
211
+ npm install -g remcodex
212
+ remcodex doctor
213
+ remcodex start
214
+ ```
215
+
216
+ That usually makes native install errors much easier to read.
217
+
218
+ ### What if I am starting RemCodex on a headless server?
219
+
220
+ Use:
221
+
222
+ ```bash
223
+ npx remcodex --no-open
224
+ ```
225
+
226
+ or:
227
+
228
+ ```bash
229
+ remcodex start --no-open
230
+ ```
231
+
232
+ RemCodex will still print the local and LAN URLs even when it does not try to open a browser.
233
+
234
+ ### Do I need Codex CLI installed first?
235
+
236
+ Yes.
237
+
238
+ RemCodex is a control surface for your local Codex runtime. If `codex` is not already installed and working in `PATH`, run:
239
+
240
+ ```bash
241
+ remcodex doctor
242
+ ```
243
+
244
+ and fix the reported Codex CLI issue first.
245
+
162
246
  ## Local CLI
163
247
 
164
248
  RemCodex also works well from source if you want to develop locally or inspect the runtime setup.
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.DEFAULT_PORT = void 0;
6
7
  exports.resolvePackageRoot = resolvePackageRoot;
7
8
  exports.resolveDefaultDatabasePath = resolveDefaultDatabasePath;
8
9
  exports.startRemCodexServer = startRemCodexServer;
@@ -46,9 +47,10 @@ function resolvePackageRoot(startDir = __dirname) {
46
47
  function resolveDefaultDatabasePath() {
47
48
  return node_path_1.default.join((0, node_os_1.homedir)(), ".remcodex", "remcodex.db");
48
49
  }
50
+ exports.DEFAULT_PORT = 18840;
49
51
  function buildRemCodexServer(options = {}) {
50
52
  const repoRoot = options.repoRoot ? node_path_1.default.resolve(options.repoRoot) : resolvePackageRoot();
51
- const port = options.port ?? Number.parseInt(process.env.PORT ?? "3000", 10);
53
+ const port = options.port ?? Number.parseInt(process.env.PORT ?? String(exports.DEFAULT_PORT), 10);
52
54
  const databasePath = options.databasePath ??
53
55
  process.env.DATABASE_PATH ??
54
56
  resolveDefaultDatabasePath();
@@ -169,7 +169,7 @@ async function runStart(flags) {
169
169
  printError("Install Codex first, or set CODEX_COMMAND to the correct executable.");
170
170
  return 1;
171
171
  }
172
- const preferredPort = flags.port ?? Number.parseInt(process.env.PORT ?? "3000", 10);
172
+ const preferredPort = flags.port ?? Number.parseInt(process.env.PORT ?? String(app_1.DEFAULT_PORT), 10);
173
173
  const codexMode = process.env.CODEX_MODE === "exec-json" ? "exec-json" : "app-server";
174
174
  let started = null;
175
175
  let activePort = preferredPort;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "remcodex",
3
- "version": "0.1.0-beta.2",
3
+ "version": "0.1.0-beta.3",
4
4
  "description": "Control Codex from anywhere. Even on your phone.",
5
5
  "license": "MIT",
6
6
  "bin": {