overlane 0.0.0-stage → 0.1.12

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.
Files changed (29) hide show
  1. package/README.md +116 -2
  2. package/assets/tree-sitter-javascript.wasm +0 -0
  3. package/assets/tree-sitter-python.wasm +0 -0
  4. package/assets/tree-sitter-tsx.wasm +0 -0
  5. package/assets/tree-sitter-typescript.wasm +0 -0
  6. package/assets/tree-sitter-zig.wasm +0 -0
  7. package/assets/web-tree-sitter.wasm +0 -0
  8. package/dist/mvrx.mjs +3 -0
  9. package/dist/overlane.mjs +58508 -0
  10. package/package.json +40 -4
  11. package/plugins/claude/.claude-plugin/marketplace.json +14 -0
  12. package/plugins/claude/plugins/mvrx-harness/.claude-plugin/plugin.json +8 -0
  13. package/plugins/claude/plugins/mvrx-harness/hooks/hooks.json +39 -0
  14. package/plugins/claude/plugins/mvrx-harness/scripts/harness-context.mjs +67 -0
  15. package/plugins/claude/plugins/mvrx-harness/scripts/harness-quota.mjs +69 -0
  16. package/plugins/claude/plugins/mvrx-harness/scripts/harness-statusline.mjs +64 -0
  17. package/plugins/claude/plugins/mvrx-harness/scripts/harness-stop.mjs +69 -0
  18. package/plugins/claude/plugins/mvrx-harness/skills/harness-context/SKILL.md +23 -0
  19. package/plugins/claude/plugins/mvrx-harness/skills/run-step/SKILL.md +37 -0
  20. package/plugins/codex/.agents/plugins/marketplace.json +17 -0
  21. package/plugins/codex/plugins/mvrx-harness/.codex-plugin/plugin.json +19 -0
  22. package/plugins/codex/plugins/mvrx-harness/hooks/hooks.json +17 -0
  23. package/plugins/codex/plugins/mvrx-harness/scripts/harness-context.mjs +67 -0
  24. package/plugins/codex/plugins/mvrx-harness/scripts/harness-quota.mjs +69 -0
  25. package/plugins/codex/plugins/mvrx-harness/scripts/harness-statusline.mjs +64 -0
  26. package/plugins/codex/plugins/mvrx-harness/scripts/harness-stop.mjs +69 -0
  27. package/plugins/codex/plugins/mvrx-harness/skills/harness-context/SKILL.md +23 -0
  28. package/plugins/codex/plugins/mvrx-harness/skills/run-step/SKILL.md +37 -0
  29. package/plugins/release-manifest.json +107 -0
package/README.md CHANGED
@@ -1,3 +1,117 @@
1
- # Temporary Holding Version
1
+ # Overlane
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
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://docs.overlane.dev.
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
package/dist/mvrx.mjs ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ globalThis.__OVERLANE_INVOKED_AS__ = "mvrx";
3
+ await import("./overlane.mjs");