@fibteq/myrel-runner 0.5.1 → 0.6.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 +14 -14
- package/dist/cli.js +21 -21
- package/dist/index.js +7 -7
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@ Gemini CLI.
|
|
|
9
9
|
progress back and returns its final answer.
|
|
10
10
|
- The CLI runs with **your own login on your computer**. myrel-runner never reads, sends or stores your Claude,
|
|
11
11
|
OpenAI or Google credentials. The only secret it keeps is its own Myrel runner token, in
|
|
12
|
-
`~/.
|
|
12
|
+
`~/.myrel-runner/config.json` (readable by you only).
|
|
13
13
|
- It only works in folders you shared, from Myrel > Devices or with `myrel-runner share`. A path from the server that is not one of them
|
|
14
14
|
(after resolving symlinks) is refused.
|
|
15
15
|
|
|
@@ -18,7 +18,7 @@ Gemini CLI.
|
|
|
18
18
|
Requires Node 22+ and at least one of `claude`, `codex` or `gemini` on your `PATH`, already signed in.
|
|
19
19
|
|
|
20
20
|
```sh
|
|
21
|
-
npx myrel-runner pair ABCD-1234 --server https://
|
|
21
|
+
npx myrel-runner pair ABCD-1234 --server https://myrel.example.com # code from Myrel > Devices
|
|
22
22
|
npx myrel-runner service install # runs now and at every login
|
|
23
23
|
npx myrel-runner@latest update # later: update and restart it
|
|
24
24
|
```
|
|
@@ -32,14 +32,14 @@ instead of in the background (Ctrl+C stops it).
|
|
|
32
32
|
|
|
33
33
|
### In the background
|
|
34
34
|
|
|
35
|
-
`myrel-runner service install` copies the runner to `~/.
|
|
35
|
+
`myrel-runner service install` copies the runner to `~/.myrel-runner/bin` (so it keeps working after npx clears its
|
|
36
36
|
cache) and registers it to start at login:
|
|
37
37
|
|
|
38
38
|
| OS | How | Logs |
|
|
39
39
|
|---|---|---|
|
|
40
|
-
| macOS | launchd agent `~/Library/LaunchAgents/io.fibteq.
|
|
41
|
-
| Linux | systemd user service `
|
|
42
|
-
| Windows | `
|
|
40
|
+
| macOS | launchd agent `~/Library/LaunchAgents/io.fibteq.myrel-runner.plist` | `~/.myrel-runner/runner.log` |
|
|
41
|
+
| Linux | systemd user service `myrel-runner.service` | `journalctl --user -u myrel-runner` |
|
|
42
|
+
| Windows | `myrel-runner.vbs` in the Startup folder | `~/.myrel-runner/runner.log` |
|
|
43
43
|
|
|
44
44
|
It keeps the `PATH` of the terminal you install it from, which is where it finds `claude`, `codex` and `gemini`.
|
|
45
45
|
On macOS and Linux it restarts after a crash, but not after a clean stop (the computer was removed in Myrel, or
|
|
@@ -51,12 +51,12 @@ from npm and restarts the background runner on it (`service install` again also
|
|
|
51
51
|
### Threads working at the same time
|
|
52
52
|
|
|
53
53
|
When a shared folder is a git repository, each thread works in its own
|
|
54
|
-
[git worktree](https://git-scm.com/docs/git-worktree) on its own branch, `
|
|
54
|
+
[git worktree](https://git-scm.com/docs/git-worktree) on its own branch, `myrel/thr-…`, made from the repository's
|
|
55
55
|
current commit on the thread's first task. Two threads can then work in the same project at once without changing
|
|
56
56
|
each other's files or switching each other's branch, and your own checkout is left alone. Each task's result says
|
|
57
57
|
which branch and folder the work is in; merge or open a PR from that branch as usual.
|
|
58
58
|
|
|
59
|
-
Worktrees live in `~/.
|
|
59
|
+
Worktrees live in `~/.myrel-runner/worktrees`. They start without your uncommitted changes and without ignored files
|
|
60
60
|
such as `node_modules` or `.env`, so a task may need to install dependencies first. A worktree that has not been used
|
|
61
61
|
for a day, has no uncommitted changes and whose branch is merged into your checkout's branch is removed
|
|
62
62
|
automatically, with its branch. `myrel-runner worktrees` lists them, `worktrees prune` cleans up now,
|
|
@@ -86,8 +86,8 @@ decisions, artifacts, memory, routines) added over MCP:
|
|
|
86
86
|
|
|
87
87
|
| CLI | How the MCP server is added |
|
|
88
88
|
|---|---|
|
|
89
|
-
| Claude Code | `--mcp-config <file>`, allowed with `--allowedTools
|
|
90
|
-
| Codex CLI | `-c mcp_servers.
|
|
89
|
+
| Claude Code | `--mcp-config <file>`, allowed with `--allowedTools mcp__myrel` |
|
|
90
|
+
| Codex CLI | `-c mcp_servers.myrel.url=…` and `-c mcp_servers.myrel.bearer_token_env_var="MYREL_MCP_TOKEN"` |
|
|
91
91
|
| Gemini CLI | its own settings file, through `GEMINI_CLI_SYSTEM_SETTINGS_PATH` |
|
|
92
92
|
|
|
93
93
|
The MCP endpoint is `<server>/api/agent-mcp/<thread>` and its token is valid only for that turn. Config files holding
|
|
@@ -97,10 +97,10 @@ Projects without a local folder are worked in the cloud by OpenCode, in the thre
|
|
|
97
97
|
|
|
98
98
|
### For apps that run it (the desktop app)
|
|
99
99
|
|
|
100
|
-
- `
|
|
100
|
+
- `MYREL_SERVER` and `MYREL_RUNNER_TOKEN` override the saved pairing, and an env token is never written to disk.
|
|
101
101
|
An app that already has the user's session can pair without a code: `POST /api/runners/pairing` (as the user)
|
|
102
102
|
returns a code, and `POST /api/runner/pair` trades it for the runner token.
|
|
103
|
-
- `
|
|
103
|
+
- `MYREL_RUNNER_HOME` moves the config folder.
|
|
104
104
|
- `myrel-runner start --json` prints one status object per line (`connecting`, `online`, `offline`, `task`,
|
|
105
105
|
`stopped`); `myrel-runner status --json` prints the config without the token.
|
|
106
106
|
- The build is a single JavaScript file with no native dependencies (`dist/cli.js`), so it can be packed into one
|
|
@@ -125,12 +125,12 @@ node packages/myrel-runner/dist/cli.js --help
|
|
|
125
125
|
## Releasing
|
|
126
126
|
|
|
127
127
|
1. Bump `version` in `package.json` here and in `packages/myrel-runner-alias/package.json`, and `RUNNER_VERSION`
|
|
128
|
-
in `src/runner.ts` (a test checks they match). Bump `RUNNER_PROTOCOL_VERSION` in `@
|
|
128
|
+
in `src/runner.ts` (a test checks they match). Bump `RUNNER_PROTOCOL_VERSION` in `@myrel/protocol` only when the
|
|
129
129
|
wire format changes; the server refuses runners on another protocol version and tells them to update.
|
|
130
130
|
2. Merge it. The [Release myrel-runner](../../.github/workflows/release-runner.yml) workflow then tests, builds and
|
|
131
131
|
publishes both packages whose version is not on npm yet (it can also be run by hand from the Actions tab).
|
|
132
132
|
It uses npm trusted publishing: once, on npmjs.com, open each package's **Settings > Trusted publishing**, choose
|
|
133
|
-
GitHub Actions and enter `Fibteq-Inc`, `
|
|
133
|
+
GitHub Actions and enter `Fibteq-Inc`, `myrel` and `release-runner.yml`.
|
|
134
134
|
|
|
135
135
|
By hand instead (needs an npm account in the `fibteq` npm organization), runner first, then the short name, with
|
|
136
136
|
`pnpm` (it replaces `workspace:` versions and uses the built files from `publishConfig`):
|