forked from bots-garden/ori
| ✨ Switch the ACP adapter to @agentclientprotocol/claude-agent-acp (template 0.0.2) | 1 | # 2026-09-18 — Publishing the ori kit to Docker Hub |
| 2 | ||
| 3 | ## State | |
| 4 | ||
| 5 | Kit fixed so that `sbx kit pack` / `push` accept it (see history). Ready to publish; **not pushed yet**: | |
| 6 | ||
| 7 | ```bash | |
| 8 | sbx kit push kits/ori docker.io/k33g/ori-kit:latest # add --sign for a Sigstore signature | |
| 9 | sbx kit inspect docker.io/k33g/ori-kit:latest # check after push | |
| 10 | sbx run -d claude . --template k33g/ori:0.0.1 --kit docker.io/k33g/ori-kit:latest --name ori -p 5555:8888 | |
| 11 | ``` | |
| 12 | Auth order for push: `sbx login` session → `sbx secret set --registry` → Docker credential store (`~/.docker/config.json` has a docker.io entry). | |
| 13 | ||
| 14 | ## Traps | |
| 15 | ||
| 16 | - No `sbx kit package`; verbs are `pack`, `push`, `validate`, `inspect`, `pull`, `sign`, `verify`, `provenance`. They take the kit **directory**. | |
| 17 | - `sbx kit validate` succeeding does **not** guarantee `pack`/`push` will: validate expands `${{ kit.args.* }}` first, pack/push decode the raw YAML. Never put a placeholder in a non-string field (ports.container). Trial recipe: copy the kit to /tmp, edit, `sbx kit pack /tmp/copy -o /tmp/x.zip`. | |
| 18 | - Provenance records the git commit of the directory: commit before pushing for a meaningful attestation. | |
| 19 | - After publishing, the quickstart/README launch commands could reference `--kit docker.io/k33g/ori-kit:latest` instead of `./kits/ori` — not done, the user decides. |