Initial commit: pi-devbox v0.74.0
pi coding-agent container built on opencode-devbox:base-latest. Includes Dockerfile, docker-compose, CI workflow, smoke-test, README, CHANGELOG, AGENTS.md.
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
# pi-devbox
|
||||
|
||||
A Docker container image with [pi coding-agent](https://github.com/earendil-works/pi) pre-installed, built on the [opencode-devbox](https://gitea.jordbo.se/joakimp/opencode-devbox) base image.
|
||||
|
||||
## What's inside
|
||||
|
||||
Built on `opencode-devbox:base-latest`, which provides:
|
||||
|
||||
- **Debian trixie** (stable base)
|
||||
- **Node.js** (LTS), **uv** (Python), **rustup** (Rust on-demand)
|
||||
- **AWS CLI** v2
|
||||
- **MemPalace** + MCP server (persistent agent memory across sessions)
|
||||
- **Gitea MCP** server
|
||||
- **Dev tools**: neovim (LazyVim), tmux, bat, eza, fzf, zoxide, ripgrep, git-lfs, make
|
||||
- **Shell**: bash with history tuning, prefix-search, fzf/zoxide integration
|
||||
|
||||
This image adds:
|
||||
|
||||
- **pi** (`@earendil-works/pi-coding-agent`) — baked at `/usr/bin/pi`
|
||||
- **pi-toolkit** — keybindings, env loader, settings template (cloned to `/opt/pi-toolkit`)
|
||||
- **pi-extensions** — ext-toggle, todo, ssh-controlmaster, notify, git-checkpoint, mcp-loader, confirm-destructive (cloned to `/opt/pi-extensions`)
|
||||
- **mempalace bridge** — `mempalace.ts` extension symlinked from `/opt/mempalace-toolkit`
|
||||
|
||||
## Quick start
|
||||
|
||||
```bash
|
||||
cp .env.example .env
|
||||
# edit .env — set WORKSPACE_PATH, GIT_USER_NAME, GIT_USER_EMAIL
|
||||
docker compose run --rm devbox
|
||||
# inside the container:
|
||||
pi
|
||||
```
|
||||
|
||||
## Versioning
|
||||
|
||||
Tags follow the pi npm version: `v0.74.0`, `v0.75.0`, etc.
|
||||
`latest` always points at the most recent release.
|
||||
|
||||
## Persistence
|
||||
|
||||
| Volume | What it holds |
|
||||
|--------|---------------|
|
||||
| `devbox-pi-config` | pi settings, extensions toggle state, sessions (`~/.pi/`) |
|
||||
| `devbox-shell-history` | bash history |
|
||||
| `devbox-zoxide` | zoxide directory jump history |
|
||||
| `devbox-nvim-data` | neovim plugins, Mason packages |
|
||||
| `devbox-uv` | uv Python installs and tool cache |
|
||||
|
||||
## User-installed pi packages
|
||||
|
||||
`NPM_CONFIG_PREFIX` is set to `/home/developer/.pi/npm-global`, so any `pi install npm:...` or `npm install -g` as the `developer` user lands on the `devbox-pi-config` volume and survives container recreation and image rebuilds. A user-installed pi wins over the baked binary via `PATH` order.
|
||||
|
||||
## Source
|
||||
|
||||
- [pi-devbox](https://gitea.jordbo.se/joakimp/pi-devbox) — this repo
|
||||
- [opencode-devbox](https://gitea.jordbo.se/joakimp/opencode-devbox) — base image source
|
||||
- [pi-toolkit](https://gitea.jordbo.se/joakimp/pi-toolkit)
|
||||
- [pi-extensions](https://gitea.jordbo.se/joakimp/pi-extensions)
|
||||
Reference in New Issue
Block a user