overlane 0.0.0-stage → 0.1.9
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 +116 -2
- package/assets/tree-sitter-javascript.wasm +0 -0
- package/assets/tree-sitter-python.wasm +0 -0
- package/assets/tree-sitter-tsx.wasm +0 -0
- package/assets/tree-sitter-typescript.wasm +0 -0
- package/assets/tree-sitter-zig.wasm +0 -0
- package/assets/web-tree-sitter.wasm +0 -0
- package/dist/mvrx.mjs +3 -0
- package/dist/overlane.mjs +58508 -0
- package/package.json +40 -4
- package/plugins/claude/.claude-plugin/marketplace.json +14 -0
- package/plugins/claude/plugins/mvrx-harness/.claude-plugin/plugin.json +8 -0
- package/plugins/claude/plugins/mvrx-harness/hooks/hooks.json +39 -0
- package/plugins/claude/plugins/mvrx-harness/scripts/harness-context.mjs +67 -0
- package/plugins/claude/plugins/mvrx-harness/scripts/harness-quota.mjs +69 -0
- package/plugins/claude/plugins/mvrx-harness/scripts/harness-statusline.mjs +64 -0
- package/plugins/claude/plugins/mvrx-harness/scripts/harness-stop.mjs +69 -0
- package/plugins/claude/plugins/mvrx-harness/skills/harness-context/SKILL.md +23 -0
- package/plugins/claude/plugins/mvrx-harness/skills/run-step/SKILL.md +37 -0
- package/plugins/codex/.agents/plugins/marketplace.json +17 -0
- package/plugins/codex/plugins/mvrx-harness/.codex-plugin/plugin.json +19 -0
- package/plugins/codex/plugins/mvrx-harness/hooks/hooks.json +17 -0
- package/plugins/codex/plugins/mvrx-harness/scripts/harness-context.mjs +67 -0
- package/plugins/codex/plugins/mvrx-harness/scripts/harness-quota.mjs +69 -0
- package/plugins/codex/plugins/mvrx-harness/scripts/harness-statusline.mjs +64 -0
- package/plugins/codex/plugins/mvrx-harness/scripts/harness-stop.mjs +69 -0
- package/plugins/codex/plugins/mvrx-harness/skills/harness-context/SKILL.md +23 -0
- package/plugins/codex/plugins/mvrx-harness/skills/run-step/SKILL.md +37 -0
- package/plugins/release-manifest.json +107 -0
package/README.md
CHANGED
|
@@ -1,3 +1,117 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Overlane
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Overlane connects a GitHub project to your coding agents. One connection gives Claude Code, Codex and background bots project memory, tasks, a code map, guardrails and evidence that work is really done.
|
|
4
|
+
|
|
5
|
+
This package is the `overlane` command line: connect and doctor, tasks and runs, releases, the code indexer (`overlane index`), the local code shim (`overlane shim`, off by default) and the Claude Code and Codex plugin (`overlane plugin install`).
|
|
6
|
+
|
|
7
|
+
Node 22 or later. No runtime dependencies: the package is one bundled file plus its assets, and works offline after install. The hosted service is not in the package. Docs: https://overlane.dev/docs.
|
|
8
|
+
|
|
9
|
+
## Install
|
|
10
|
+
|
|
11
|
+
npm i -g overlane
|
|
12
|
+
|
|
13
|
+
Or from a GitHub release tarball (every release attaches `overlane-<version>.tgz`):
|
|
14
|
+
|
|
15
|
+
npm i -g https://github.com/owenob1/mvrx-harness/releases/download/v<version>/overlane-<version>.tgz
|
|
16
|
+
|
|
17
|
+
Check it:
|
|
18
|
+
|
|
19
|
+
overlane --version
|
|
20
|
+
overlane help
|
|
21
|
+
|
|
22
|
+
The binary is `overlane`; `ol` is the short alias. The old `mvrx` command still works for now (it prints a one-line notice on stderr in a terminal, never when output is JSON) and will be removed in a later release. The previous package `@mvrx/harness` is deprecated; use `overlane`.
|
|
23
|
+
|
|
24
|
+
The package version is the plugin release version, so the plugin you install always matches the binary.
|
|
25
|
+
|
|
26
|
+
## Quick start
|
|
27
|
+
|
|
28
|
+
In a git repository:
|
|
29
|
+
|
|
30
|
+
overlane connect # sign in, bind the project to the service, register the plugin for this project
|
|
31
|
+
overlane plugin install # install the embedded plugin for Claude Code (and Codex, when `codex` is on PATH)
|
|
32
|
+
overlane doctor # check that each agent is ready
|
|
33
|
+
|
|
34
|
+
`overlane connect` reads the plugin marketplace from a stable folder under your data directory (`$XDG_DATA_HOME/mvrx-harness/marketplace`, default `~/.local/share/mvrx-harness/marketplace`; `MVRX_DATA_DIR` overrides the base). The package writes that folder from its embedded release the first time `connect`, `doctor` or `release` runs, so no separate step is needed before `connect`. The folder and the plugin id `mvrx-harness` keep their names for now so existing installs keep working (ADR 0034).
|
|
35
|
+
|
|
36
|
+
`overlane plugin install [--scope project|user] [--client claude|codex]`:
|
|
37
|
+
|
|
38
|
+
1. verifies every embedded plugin file against the embedded release manifest (sha256 per file and the release digest) and refuses to install if anything differs;
|
|
39
|
+
2. copies the tree into the stable marketplace folder and verifies the copy;
|
|
40
|
+
3. runs the clients' native commands: `claude plugin marketplace add`, `claude plugin marketplace update`, `claude plugin install mvrx-harness@mvrx-local --scope <scope>`, and for Codex `codex plugin marketplace add` and `codex plugin add` (Codex only when `codex` is on PATH).
|
|
41
|
+
|
|
42
|
+
The default scope is `user`. Use `--scope project` to write the plugin into the current project's `.claude/settings.json`. The signature on a release is checked by `overlane release update` against the service key; the embedded manifest is checked for integrity only.
|
|
43
|
+
|
|
44
|
+
Credentials: the npm package has no OS keychain module, so `overlane connect` keeps tokens in a 0600 file under `$XDG_CONFIG_HOME/mvrx-harness` (default `~/.config/mvrx-harness`). Nothing is written to the repository.
|
|
45
|
+
|
|
46
|
+
## For AI agents
|
|
47
|
+
|
|
48
|
+
`overlane` is built to be driven by an agent. Start here:
|
|
49
|
+
|
|
50
|
+
overlane context # one JSON briefing: auth, project, release, task, run, policy, next task, suggested commands
|
|
51
|
+
overlane search "<task>" # local, no credentials: the 5 best commands for a task, as JSON
|
|
52
|
+
overlane schema <command> # parameters (type, required, description), safety flags, result shape
|
|
53
|
+
overlane commands # every command, with its effect: read, write or destructive
|
|
54
|
+
|
|
55
|
+
- **Output.** JSON on stdout when stdout is not a terminal or with `--json`; text in a terminal or with `--text`. Messages go to stderr (`--verbose` keeps progress in JSON mode). A write with nothing to return prints `{"ok":true}`.
|
|
56
|
+
- **Errors** are `{"error":{"code","message","hint","retryable"}}` on stderr; `hint` is the exact next command. Exit codes: 0 ok, 1 failure, 2 usage, 3 auth required, 4 not found, 5 conflict or precondition, 6 blocked by policy or budget, 7 service unreachable. Messages never contain a credential.
|
|
57
|
+
- **Safety.** Every write takes `--dry-run`, which prints the requests it would send (method, path, body) and the files it would change, and needs no credentials. Destructive commands (`disconnect`, `release rollback`) need `--force` when stdin is not a terminal. Nothing prompts without a terminal.
|
|
58
|
+
- **Auth.** `HARNESS_TOKEN` is used before stored credentials; `overlane auth status` reports the state without revealing the token. Browser sign-in stays for humans (`overlane connect`).
|
|
59
|
+
- **Unknown commands** suggest the closest matches.
|
|
60
|
+
|
|
61
|
+
Add this block to AGENTS.md or CLAUDE.md (`overlane agents-md` prints it):
|
|
62
|
+
|
|
63
|
+
<!-- overlane:cli:begin -->
|
|
64
|
+
## Overlane
|
|
65
|
+
|
|
66
|
+
Agents: run `overlane context`, then `overlane search "<task>"`. `overlane schema <command>` gives exact flags; output is JSON when piped; exit codes: 0 ok, 2 usage, 3 auth, 4 not found, 5 conflict, 6 blocked by policy or budget, 7 unreachable; use `--dry-run` before a write.
|
|
67
|
+
<!-- overlane:cli:end -->
|
|
68
|
+
|
|
69
|
+
## Cloud sessions
|
|
70
|
+
|
|
71
|
+
The plugin hooks are Node scripts inside the installed plugin (`node ${CLAUDE_PLUGIN_ROOT}/scripts/...`); they need Node 22 and the plugin, not network access at install time. The `overlane` binary installs and updates the plugin and is what the agent calls for `overlane task ...`. Pin the version so a cloud session installs the same release every time.
|
|
72
|
+
|
|
73
|
+
### Claude Code on the web
|
|
74
|
+
|
|
75
|
+
In the environment's setup script:
|
|
76
|
+
|
|
77
|
+
npm i -g overlane@<version>
|
|
78
|
+
overlane plugin install --client claude --scope user
|
|
79
|
+
|
|
80
|
+
Authentication to the service for cloud runs comes from the `HARNESS_TOKEN` environment secret that the plugin hooks and the CLI read; keep it in the environment's secrets, never in files in the repository.
|
|
81
|
+
|
|
82
|
+
### Codex cloud
|
|
83
|
+
|
|
84
|
+
In the environment's setup script (the setup phase has network access; the agent phase can then work offline):
|
|
85
|
+
|
|
86
|
+
npm i -g overlane@<version>
|
|
87
|
+
overlane plugin install --client codex
|
|
88
|
+
|
|
89
|
+
Without the package manager, `npx -y overlane@<version> plugin install --client codex` does the same.
|
|
90
|
+
|
|
91
|
+
### Background bots
|
|
92
|
+
|
|
93
|
+
Bots that you message (chat or scheduled agents) do not need the CLI. They connect to Overlane through the remote MCP endpoint of the service, with a token held in the bot platform's secrets. The CLI and plugin are for sessions that have a shell and a working copy.
|
|
94
|
+
|
|
95
|
+
## Code indexer and shim
|
|
96
|
+
|
|
97
|
+
overlane index build --scip FILE --out DIR --tenant ID
|
|
98
|
+
overlane index upload --service URL --tenant ID --repo owner/name --commit SHA
|
|
99
|
+
|
|
100
|
+
`overlane index` parses TypeScript, TSX, JavaScript, Python and Zig with tree-sitter. The grammars ship in the package under `assets/` and are found relative to the installed bundle; `MVRX_ASSET_DIR` points at another folder.
|
|
101
|
+
|
|
102
|
+
`overlane shim` serves the local code tools over MCP on stdio. The code layer is off by default (ADR 0018); nothing starts it unless a project configures it.
|
|
103
|
+
|
|
104
|
+
## Environment
|
|
105
|
+
|
|
106
|
+
| Variable | Effect |
|
|
107
|
+
|---|---|
|
|
108
|
+
| `HARNESS_TOKEN` | Service token, used before stored credentials |
|
|
109
|
+
| `MVRX_DATA_DIR` | Base folder for the stable marketplace (default `$XDG_DATA_HOME/mvrx-harness`) |
|
|
110
|
+
| `MVRX_ASSET_DIR` | Folder holding the tree-sitter wasm files (default `assets/` inside the package) |
|
|
111
|
+
| `XDG_CONFIG_HOME` | Base for the user config folder `mvrx-harness` (credential fallback file, approvals) |
|
|
112
|
+
|
|
113
|
+
The `MVRX_*` and `HARNESS_*` variable names and the `mvrx-harness` folder names are internal and stay until a later migration (ADR 0034).
|
|
114
|
+
|
|
115
|
+
## Releases
|
|
116
|
+
|
|
117
|
+
Releases are built by the repository's release workflow: it packs `overlane-<version>.tgz`, installs it into a clean prefix, runs a smoke test, attaches it to the GitHub release `v<version>`, and publishes to npm with provenance when the repository has an npm token.
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/dist/mvrx.mjs
ADDED