refactor: re-brand the opencode-devbox with-pi variant (single source of truth)
pi-devbox no longer installs pi itself. The Dockerfile is now a thin FROM joakimp/opencode-devbox:latest-with-pi (overridable via BASE_IMAGE), inheriting pi + pi-toolkit + pi-extensions + pi-fork (fork) + pi-observational-memory (recall) + the LAN-access helper + all base tooling from the single source of truth. Eliminates the install-logic duplication that drifted against opencode-devbox/Dockerfile.variant (decision #3). Consequences (documented in CHANGELOG/AGENTS): - The image now ALSO contains opencode (with-pi has INSTALL_OPENCODE=true). A leaner pi-only image would need a dedicated pi-only variant upstream. - Publish ordering: release opencode-devbox first so latest-with-pi carries the target pi version, THEN tag this repo. The smoke test asserts pi --version matches the tag (EXPECTED_PI_VERSION) and fails loudly if the base is stale — turning the version coupling into an enforced ordering guard. CI: drop PI_VERSION build-arg (Dockerfile installs nothing); keep tag->version resolution to feed the smoke base-freshness guard. Smoke adds fork/recall clone + node_modules + settings.json registration checks; size threshold 2200 -> 2900 MB (now tracks with-pi). Docs updated across README, AGENTS, DOCKER_HUB, .env.example, docker-compose.
This commit is contained in:
+30
-1
@@ -8,7 +8,36 @@ Tags follow the pi npm version: `v{pi_version}[letter]` — bare tag for the fir
|
||||
|
||||
## Unreleased
|
||||
|
||||
_(no changes since v0.78.0)_
|
||||
### Changed: refactored to re-brand the opencode-devbox `with-pi` variant
|
||||
|
||||
pi-devbox no longer installs pi itself. The `Dockerfile` is now a thin
|
||||
`FROM joakimp/opencode-devbox:latest-with-pi` (overridable via the `BASE_IMAGE`
|
||||
arg), inheriting pi + pi-toolkit + pi-extensions and all base tooling from the
|
||||
single source of truth. This eliminates the install-logic duplication that
|
||||
used to drift against `opencode-devbox/Dockerfile.variant`.
|
||||
|
||||
### Added (inherited from the with-pi variant)
|
||||
|
||||
- **`fork` tool** (pi-fork) and **`recall` tool** (pi-observational-memory),
|
||||
baked into `/opt` with `node_modules` and registered at runtime.
|
||||
- **Host-OS-agnostic LAN access**: on VM-backed hosts (macOS OrbStack /
|
||||
Docker Desktop) the entrypoint sets up the host as an SSH jump to reach LAN
|
||||
peers (`dssh` alias; `DEVBOX_LAN_ACCESS` / `HOST_SSH_USER` env). No-op on
|
||||
native Linux. See the opencode-devbox README for details.
|
||||
|
||||
### Consequences / notes
|
||||
|
||||
- Because it FROMs `with-pi`, the image **now also contains opencode**. If a
|
||||
leaner pi-only image is wanted, add a pi-only variant to opencode-devbox and
|
||||
FROM that instead.
|
||||
- **Publish ordering**: release opencode-devbox first so `latest-with-pi`
|
||||
carries the target pi version, *then* tag this repo. The smoke test asserts
|
||||
`pi --version` matches the tag and fails loudly if the base is stale.
|
||||
- CI no longer passes `PI_VERSION` as a build-arg (the Dockerfile installs
|
||||
nothing); it still resolves the tag version to feed the smoke base-freshness
|
||||
guard. Smoke size threshold 2200 → 2900 MB (now tracks with-pi).
|
||||
|
||||
_pi version unchanged at `0.78.0` (still latest)._
|
||||
|
||||
## v0.78.0 — 2026-05-29
|
||||
|
||||
|
||||
Reference in New Issue
Block a user