remcodex 0.1.0-beta.1 → 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,35 +138,122 @@ 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
144
150
 
145
- For the current developer preview, the recommended local install path is:
151
+ For the current beta, the fastest way to try RemCodex is:
146
152
 
147
153
  ```bash
148
- npm install
149
- npm run build
150
- npm link
151
- remcodex start
154
+ npx remcodex
152
155
  ```
153
156
 
154
- Then open:
157
+ You can also install it globally:
155
158
 
156
- ```text
157
- http://127.0.0.1:3000
159
+ ```bash
160
+ npm install -g remcodex
161
+ remcodex
158
162
  ```
159
163
 
164
+ RemCodex starts a local server and opens the browser for you.
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
- RemCodex already ships with a local CLI entrypoint, even though the npm package is not published yet.
248
+ RemCodex also works well from source if you want to develop locally or inspect the runtime setup.
165
249
 
166
- If you do not want to run `npm link`, you can call the built CLI directly:
250
+ Local development path:
167
251
 
168
252
  ```bash
169
- node dist/server/src/cli.js start --no-open
253
+ npm install
254
+ npm run build
255
+ npm link
256
+ remcodex start
170
257
  ```
171
258
 
172
259
  Useful commands:
@@ -184,12 +271,6 @@ node dist/server/src/cli.js start --db ~/.remcodex/remcodex-alt.db --no-open
184
271
  node dist/server/src/cli.js doctor --db ~/.remcodex/remcodex-alt.db
185
272
  ```
186
273
 
187
- Planned install target after the npm package is published:
188
-
189
- ```bash
190
- npx remcodex
191
- ```
192
-
193
274
  ## Development
194
275
 
195
276
  ```bash
@@ -306,7 +387,7 @@ This is the honest list:
306
387
  - no production-grade auth / multi-user hardening yet
307
388
  - no release pipeline yet
308
389
 
309
- If you are comfortable cloning a repo and running a local Node app, you can use it today.
390
+ If you are comfortable running a local Node app or a small CLI tool, you can use it today.
310
391
 
311
392
  ## Roadmap
312
393
 
@@ -320,12 +401,6 @@ Near-term:
320
401
 
321
402
  Later:
322
403
 
323
- - package for easier local install
404
+ - improve the first-run install and update experience
324
405
  - optional sync / multi-device helpers
325
406
  - stronger sharing, auditing, and team workflows
326
-
327
- ## License
328
-
329
- No license has been added yet.
330
-
331
- Until a license is added, assume this repository is **source-available for review only**, not open source for reuse.
@@ -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.1",
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": {