| @@ -25,29 +25,29 @@ Every release publishes the image and the two kits to Docker Hub at mm's version |
| 25 | | 25 | |
| 26 | | On Docker Hub | What it is | | 26 | | On Docker Hub | What it is | |
| 27 | |---|---| | 27 | |---|---| |
| 28 | -| `k33g/mm-sandbox:0.0.2` | The template image. You never name it yourself: each kit pulls it. | | 28 | +| `k33g/mm-sandbox:0.1.1` | The template image. You never name it yourself: each kit pulls it. | |
| 29 | -| `k33g/mm-tui:0.0.2` | The window-mode kit, for `sbx run`. | | 29 | +| `k33g/mm-tui:0.1.1` | The window-mode kit, for `sbx run`. | |
| 30 | -| `k33g/mm-acp:0.0.2` | The editor kit, for `sbx create` + `sbx exec -i … mm -acp`. | | 30 | +| `k33g/mm-acp:0.1.1` | The editor kit, for `sbx create` + `sbx exec -i … mm -acp`. | |
| 31 | | 31 | |
| 32 | Nothing to build, no `--pull never`, and no setting to change: Docker Hub is an allowed kit source out of the box (`sbx settings get kit.allowedSources` shows `docker.io/`), and a reference with a `/` but no registry host is read as `docker.io/…`. Only Docker Desktop with the `sbx` command, and a model server on your machine, are needed. | 32 | Nothing to build, no `--pull never`, and no setting to change: Docker Hub is an allowed kit source out of the box (`sbx settings get kit.allowedSources` shows `docker.io/`), and a reference with a `/` but no registry host is read as `docker.io/…`. Only Docker Desktop with the `sbx` command, and a model server on your machine, are needed. |
| 33 | | 33 | |
| 34 | **Look before you run.** `sbx kit inspect` reads the kit from the Hub without creating anything: its image, its entry point, its arguments and their defaults, the ports it allows. | 34 | **Look before you run.** `sbx kit inspect` reads the kit from the Hub without creating anything: its image, its entry point, its arguments and their defaults, the ports it allows. |
| 35 | | 35 | |
| 36 | ```bash | 36 | ```bash |
| 37 | -sbx kit inspect k33g/mm-tui:0.0.2 | 37 | +sbx kit inspect k33g/mm-tui:0.1.1 |
| 38 | ``` | 38 | ``` |
| 39 | | 39 | |
| 40 | **Window mode.** From the project you want mm to work on: | 40 | **Window mode.** From the project you want mm to work on: |
| 41 | | 41 | |
| 42 | ```bash | 42 | ```bash |
| 43 | cd /path/to/your/project | 43 | cd /path/to/your/project |
| 44 | -sbx run k33g/mm-tui:0.0.2 . -- agent.dmr.yaml | 44 | +sbx run k33g/mm-tui:0.1.1 . -- agent.dmr.yaml |
| 45 | ``` | 45 | ``` |
| 46 | | 46 | |
| 47 | The first run pulls the kit and the image, creates the sandbox `mm-tui-<directory>`, mounts the current directory as its workspace and opens `mm -tui agent.dmr.yaml` in it. What follows `--` is mm's own command line, so `-- -config other.yaml` works too. Without anything after `--`, mm reads the kit's `config` argument, then `./agent.yaml` in the workspace: | 47 | The first run pulls the kit and the image, creates the sandbox `mm-tui-<directory>`, mounts the current directory as its workspace and opens `mm -tui agent.dmr.yaml` in it. What follows `--` is mm's own command line, so `-- -config other.yaml` works too. Without anything after `--`, mm reads the kit's `config` argument, then `./agent.yaml` in the workspace: |
| 48 | | 48 | |
| 49 | ```bash | 49 | ```bash |
| 50 | -sbx run k33g/mm-tui:0.0.2 . --kit-arg config=agent.dmr.yaml | 50 | +sbx run k33g/mm-tui:0.1.1 . --kit-arg config=agent.dmr.yaml |
| 51 | ``` | 51 | ``` |
| 52 | | 52 | |
| 53 | Later, `sbx run --name mm-tui-<directory>` re-attaches to that sandbox; `sbx ls` lists them. | 53 | Later, `sbx run --name mm-tui-<directory>` re-attaches to that sandbox; `sbx ls` lists them. |
| @@ -56,7 +56,7 @@ Later, `sbx run --name mm-tui-<directory>` re-attaches to that sandbox; `sbx ls` |
| 56 | | 56 | |
| 57 | ```bash | 57 | ```bash |
| 58 | cd /path/to/your/project | 58 | cd /path/to/your/project |
| 59 | -sbx create --name mm-acp k33g/mm-acp:0.0.2 . --kit-arg config=agent.dmr.yaml | 59 | +sbx create --name mm-acp k33g/mm-acp:0.1.1 . --kit-arg config=agent.dmr.yaml |
| 60 | | 60 | |
| 61 | #sbx create k33g/mm-acp:0.1.0 . --name sbx-mm-acp | 61 | #sbx create k33g/mm-acp:0.1.0 . --name sbx-mm-acp |
| 62 | ``` | 62 | ``` |
| @@ -82,9 +82,9 @@ The editor starts `mm -acp` inside the sandbox for every conversation; `sbx exec |
| 82 | | `--kit-arg` | Default | Effect | | 82 | | `--kit-arg` | Default | Effect | |
| 83 | |---|---|---| | 83 | |---|---|---| |
| 84 | | `config=<path>` | empty | The file mm reads (its `AGENT_CONFIG`): relative to the workspace, or absolute inside the sandbox. Empty: `./agent.yaml`, then the built-in defaults. | | 84 | | `config=<path>` | empty | The file mm reads (its `AGENT_CONFIG`): relative to the workspace, or absolute inside the sandbox. Empty: `./agent.yaml`, then the built-in defaults. | |
| 85 | -| `tag=<version>` | the kit's own version (`0.0.2`) | Which `k33g/mm-sandbox:<version>` image to use. Normally left alone: a kit and its image share a version. | | 85 | +| `tag=<version>` | the kit's own version (`0.1.1`) | Which `k33g/mm-sandbox:<version>` image to use. Normally left alone: a kit and its image share a version. | |
| 86 | | 86 | |
| 87 | -**Other versions.** Replace `0.0.2` with the release you want, in the kit reference only — the kit brings the matching image. A kit can also be pinned by digest, `k33g/mm-tui@sha256:…`, the digest being what `sbx kit inspect` or the Hub page shows. | 87 | +**Other versions.** Replace `0.1.1` with the release you want, in the kit reference only — the kit brings the matching image. A kit can also be pinned by digest, `k33g/mm-tui@sha256:…`, the digest being what `sbx kit inspect` or the Hub page shows. |
| 88 | | 88 | |
| 89 | **If sbx refuses the source.** A message like `its source is not in your allowlist` means `kit.allowedSources` was narrowed on this machine; `sbx settings set kit.allowedSources '["docker.io/"]'` restores the default, or add `docker.io/k33g/` to your list. | 89 | **If sbx refuses the source.** A message like `its source is not in your allowlist` means `kit.allowedSources` was narrowed on this machine; `sbx settings set kit.allowedSources '["docker.io/"]'` restores the default, or add `docker.io/k33g/` to your list. |
| 90 | | 90 | |
| @@ -95,11 +95,11 @@ Sections 1–3 are the same flow with a template and kits built locally, for a w |
| 95 | From the repository root: | 95 | From the repository root: |
| 96 | | 96 | |
| 97 | ```bash | 97 | ```bash |
| 98 | -./docker-sbx/build.sh # TAG from release.env: v0.0.2 → k33g/mm-sandbox:0.0.2 | 98 | +./docker-sbx/build.sh # TAG from release.env: v0.1.1 → k33g/mm-sandbox:0.1.1 |
| 99 | ./docker-sbx/build.sh v0.0.3 # → k33g/mm-sandbox:0.0.3 | 99 | ./docker-sbx/build.sh v0.0.3 # → k33g/mm-sandbox:0.0.3 |
| 100 | ``` | 100 | ``` |
| 101 | | 101 | |
| 102 | -The image tag is mm's tag without the `v`, the same rule as the release assets, and the script rewrites the kits' default `tag` argument to the version it built, so the kits always name the image just built. The image lands in the local Docker image store: every `sbx run` / `sbx create` below carries `--pull never` until you `docker push k33g/mm-sandbox:0.0.2`. If `sbx` runs on another machine, `EXPORT=1 ./docker-sbx/build.sh` also writes `tmp/mm-sandbox-<version>.tar`; load it there with `sbx template load`. | 102 | +The image tag is mm's tag without the `v`, the same rule as the release assets, and the script rewrites the kits' default `tag` argument to the version it built, so the kits always name the image just built. The image lands in the local Docker image store: every `sbx run` / `sbx create` below carries `--pull never` until you `docker push k33g/mm-sandbox:0.1.1`. If `sbx` runs on another machine, `EXPORT=1 ./docker-sbx/build.sh` also writes `tmp/mm-sandbox-<version>.tar`; load it there with `sbx template load`. |
| 103 | | 103 | |
| 104 | ## 2. Window mode in the terminal — kit `mm-tui` | 104 | ## 2. Window mode in the terminal — kit `mm-tui` |
| 105 | | 105 | |
| @@ -114,7 +114,7 @@ What follows `--` reaches `mm` as its own arguments, so this runs `mm -tui agent |
| 114 | | `--kit-arg` | Default | Effect | | 114 | | `--kit-arg` | Default | Effect | |
| 115 | |---|---|---| | 115 | |---|---|---| |
| 116 | | `config=<path>` | empty | The file `mm` reads when nothing follows `--` (its `AGENT_CONFIG`). Relative to the workspace, or absolute. Empty: `./agent.yaml`, then the built-in defaults. | | 116 | | `config=<path>` | empty | The file `mm` reads when nothing follows `--` (its `AGENT_CONFIG`). Relative to the workspace, or absolute. Empty: `./agent.yaml`, then the built-in defaults. | |
| 117 | -| `tag=<version>` | the version last built (`0.0.2`) | Which `k33g/mm-sandbox:<version>` image to use. | | 117 | +| `tag=<version>` | the version last built (`0.1.1`) | Which `k33g/mm-sandbox:<version>` image to use. | |
| 118 | | 118 | |
| 119 | `sbx run --name <name>` re-attaches to a sandbox that already exists. Sessions, when enabled in the YAML, are written under the workspace's `.mm/sessions`, which is your host directory. | 119 | `sbx run --name <name>` re-attaches to a sandbox that already exists. Sessions, when enabled in the YAML, are written under the workspace's `.mm/sessions`, which is your host directory. |
| 120 | | 120 | |
| @@ -127,7 +127,7 @@ cd /path/to/your/project |
| 127 | sbx create --pull never --name mm-acp ./docker-sbx/kits/mm-acp . \ | 127 | sbx create --pull never --name mm-acp ./docker-sbx/kits/mm-acp . \ |
| 128 | --kit-arg config=agent.dmr.yaml | 128 | --kit-arg config=agent.dmr.yaml |
| 129 | | 129 | |
| 130 | -# once the image is pushed (docker push k33g/mm-sandbox:0.0.2), --pull never is not needed: | 130 | +# once the image is pushed (docker push k33g/mm-sandbox:0.1.1), --pull never is not needed: |
| 131 | sbx create --name mm-acp ./docker-sbx/kits/mm-acp . \ | 131 | sbx create --name mm-acp ./docker-sbx/kits/mm-acp . \ |
| 132 | --kit-arg config=agent.dmr.yaml | 132 | --kit-arg config=agent.dmr.yaml |
| 133 | ``` | 133 | ``` |