@mifune/agro 0.9.0 → 0.10.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.
Files changed (5) hide show
  1. package/NOTICE +2 -2
  2. package/README.md +16 -16
  3. package/dist/agro.js +1132 -474
  4. package/dist/oh.js +1132 -474
  5. package/package.json +5 -5
package/NOTICE CHANGED
@@ -9,9 +9,9 @@ of the License is included in the LICENSE file.
9
9
  Third-Party Attributions
10
10
  =========================
11
11
 
12
- typescript (referenced in .oh/cli/package-lock.json) is the sole dependency
12
+ typescript (referenced in .agro/cli/package-lock.json) is the sole dependency
13
13
  in this repository declaring "license": "Apache-2.0". It is a devDependency
14
- (.oh/cli/package.json, "devDependencies") used only for type-checking and is
14
+ (.agro/cli/package.json, "devDependencies") used only for type-checking and is
15
15
  excluded from the published package, whose "files" array is limited to
16
16
  "dist" (bundled output produced by esbuild, not the typescript package
17
17
  itself). It therefore carries no NOTICE obligation for consumers of this
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @mifune/agro
2
2
 
3
- The **AGRO CLI** (`agro`) — create an [Open Harness](https://oh.mifune.dev)
3
+ The **AGRO CLI** (`agro`) — create an [Open Harness](https://agro.mifune.dev)
4
4
  Docker sandbox for coding agents and drive its lifecycle from the command line.
5
5
 
6
6
  Open Harness is a portable harness for running coding agents (Claude Code, Codex, Pi,
@@ -31,7 +31,7 @@ installs the prebuilt `agro` artifact from the latest GitHub release — it neve
31
31
  clones or builds on your machine:
32
32
 
33
33
  ```bash
34
- curl -fsSL https://github.com/mifunedev/openharness/releases/latest/download/get-agro.sh | bash
34
+ curl -fsSL https://agro.mifune.dev/get-agro.sh | bash
35
35
  ```
36
36
 
37
37
  ### Requirements
@@ -48,7 +48,7 @@ contains no CLI code of its own: its only file imports the `agro` bundle from an
48
48
  exact-pinned `@mifune/agro` dependency. The two packages expose disjoint executables
49
49
  (`agro` and `oh`), can be installed together, and removing either never removes the
50
50
  other's executable. `oh --help` ends with a line that names `agro` as the canonical
51
- CLI; everything else about `oh` — the `.oh/` control plane, `oh.json`, `OH_*`
51
+ CLI; everything else about `oh` — the `.agro/` control plane, `agro.json`, `OH_*`
52
52
  variables, `~/.oh/sandboxes` — is unchanged, and `agro` reads and writes exactly the
53
53
  same files.
54
54
 
@@ -66,7 +66,7 @@ To bind one of your own checkouts into the sandbox, equip it and pass `--repo`:
66
66
 
67
67
  ```bash
68
68
  cd your-project
69
- oh update # vendor .oh/ + crons/ — and nothing else (compatibility window)
69
+ oh update # vendor .agro/ + crons/ — and nothing else (compatibility window)
70
70
  agro sandbox install docker --repo "$PWD" --name your-project
71
71
  ```
72
72
 
@@ -105,34 +105,34 @@ with `OH_EXECUTION_TARGET=local` or `OH_EXECUTION_TARGET=docker-compose`.
105
105
  | `agro ps [name]` | Show sandbox service status. |
106
106
  | `agro destroy [name] [--yes]` | Remove the sandbox, wipe its named volumes (`docker compose down -v`), then delete the registry entry. Names the volumes, then requires you to type the sandbox name; refuses without a TTY unless `--yes` is passed. |
107
107
  | `agro update [--dry-run]` | Upgrade the installed `agro` executable and nothing else, through the mechanism that installed it: npm-managed (`npm view` + `npm install -g --prefix <owning prefix> @mifune/agro@<version>`) or standalone (download `AGRO_JS_URL`, falling back to `OH_JS_URL` and defaulting to the latest `agro.js` release asset; verify its shebang and `--version`; rename it over the file; keep `<path>.prev` until the new file verifies). Refuses image-shipped, source-checkout, legacy-package, unresolvable, read-only, PATH-shadowed, and downgrade cases with the supported procedure; never uses `sudo`; a no-op when current. Project payload vendoring is `oh update` — see the compatibility note below. |
108
- | `agro config show [--sandbox <name>]` | Print the resolved `oh.json` — every non-secret setting. |
109
- | `agro config set <field> <value> [--sandbox <name>]` | Set one dotted `oh.json` field (`access.sshPort 2200`), validated against the schema. A secret key is refused with a pointer at `agro secret set`. |
108
+ | `agro config show [--sandbox <name>]` | Print the resolved `agro.json` — every non-secret setting. |
109
+ | `agro config set <field> <value> [--sandbox <name>]` | Set one dotted `agro.json` field (`access.sshPort 2200`), validated against the schema. A secret key is refused with a pointer at `agro secret set`. |
110
110
  | `agro config repo` | Create a repo on your GitHub account, keep the cloned-from upstream as the `openharness` remote, point `origin` at yours, and push. Asks first and defaults to no; never runs without an interactive yes. |
111
111
  | `agro config <integration>` | Configure an integration via an interactive wizard. |
112
112
  | `agro secret set <KEY> [--sandbox <name>]` | Prompt for the value with the input hidden and write it to the gitignored `.env` (mode `0600`). The value is never taken from the command line, where shell history would keep it. |
113
113
  | `agro secret list [--sandbox <name>]` | List the allow-listed keys that hold a value, with the values redacted. |
114
114
  | `agro compose config` | Print the resolved compose configuration. |
115
- | `agro harness <list\|install\|status>` | Install and inspect agent CLI harnesses. `install` is the only door: it probes the running sandbox, installs into the persistent home volume, and reports. It reads and writes no `oh.json` field, and needs no rebuild. |
115
+ | `agro harness <list\|install\|status>` | Install and inspect agent CLI harnesses. `install` is the only door: it probes the running sandbox, installs into the persistent home volume, and reports. It reads and writes no `agro.json` field, and needs no rebuild. |
116
116
  | `agro tool <list\|install\|status>` | Install and inspect sandbox tooling that is not an agent CLI. `herdr`, `cloudflared`, `agent-browser`, `microsandbox`, and `tailscale` are `installable`; `gh` and the Docker CLI are `baked-in` and cannot be installed. Nothing installs at boot. A large download is confirmed first, and `--yes` accepts it. |
117
117
  | `agro gateway <args…>` | Manage a messaging client session (Slack bridge for `pi`/`hermes`). |
118
118
  | `agro cloud <args…>` | Configure credentials and manage OpenHarness Cloud SSH keys and nodes. |
119
119
  | `agro --version` | Print the CLI version. |
120
120
  | `agro --help` | Show help; every subcommand also accepts `--help`. |
121
121
 
122
- `oh.json` and the `.env` beside it are the only two configuration surfaces: `oh.json`
122
+ `agro.json` and the `.env` beside it are the only two configuration surfaces: `agro.json`
123
123
  holds every non-secret setting, `.env` holds only the allow-listed secrets. Each has
124
124
  two homes — a sandbox's registry entry (`--sandbox <name>`) and the project root
125
125
  (no flag). See
126
- [configuration](https://github.com/mifunedev/openharness/blob/main/docs/configuration.md)
126
+ [configuration](https://github.com/mifunedev/agro/blob/main/docs/configuration.md)
127
127
  for the field reference.
128
128
 
129
129
  `agro` (or `oh`) is the only lifecycle door, on the host and in the sandbox, and every verb
130
- runs `.oh/scripts/docker-compose.sh` — see
131
- [lifecycle commands](https://github.com/mifunedev/openharness/blob/main/docs/lifecycle-commands.md), which also
130
+ runs `.agro/scripts/docker-compose.sh` — see
131
+ [lifecycle commands](https://github.com/mifunedev/agro/blob/main/docs/lifecycle-commands.md), which also
132
132
  states the confirmation policy `agro destroy` carries.
133
133
 
134
134
  `agro update` never touches a project. During the compatibility window `oh update` vendors
135
- `.oh/` + `crons/` into the current directory, equipping an empty checkout and upgrading an
135
+ `.agro/` + `crons/` into the current directory, equipping an empty checkout and upgrading an
136
136
  equipped one (`--from <dir>` / `--from-remote [--ref <ref>]`, `--dry-run`, `--force`); it
137
137
  writes nothing else and never prompts. `agro update` rejects those flags and points at
138
138
  `oh update`. `oh update` prefers the payload bundled into the CLI itself; with `--from-remote`
@@ -158,7 +158,7 @@ agro cloud nodes watch <node-id>
158
158
  ```
159
159
 
160
160
  Both settings are repository-local. `agro cloud config` writes the API base URL to `cloud.apiUrl`
161
- in the tracked `oh.json` and, until OpenHarness Cloud issues user API tokens, stores the
161
+ in the tracked `agro.json` and, until OpenHarness Cloud issues user API tokens, stores the
162
162
  user-provided provisioner key as `OH_CLOUD_PROVISION_KEY` in the gitignored root `.env`
163
163
  (mode `0600`). The key is never printed; `agro cloud config show` redacts it. Nothing is written
164
164
  under `$HOME`.
@@ -173,9 +173,9 @@ SSH-key and node lifecycle command set.
173
173
 
174
174
  ## Documentation
175
175
 
176
- - **Docs:** https://oh.mifune.dev
177
- - **Installation guide:** https://oh.mifune.dev/docs/installation
178
- - **Source & issues:** https://github.com/mifunedev/openharness
176
+ - **Docs:** https://agro.mifune.dev
177
+ - **Installation guide:** https://agro.mifune.dev/docs/installation
178
+ - **Source & issues:** https://github.com/mifunedev/agro
179
179
 
180
180
  ## License
181
181