@autosk/feature-dev-docker
v0.1.0
Published
feature-dev-docker — the @autosk/feature-dev (pi) cycle with every agent step running in a per-task dockerSandbox (ghcr.io/wierdbytes/pi-runtime), authenticated with the host ~/.pi.
Maintainers
Readme
@autosk/feature-dev-docker
The Docker variant of @autosk/feature-dev: the same
dev → review → docs → validator → accept (human) → cleanup → done pi cycle, but
every agent step runs inside a per-task docker run -i --rm container
(ghcr.io/wierdbytes/pi-runtime) instead of on the host.
It reuses featureDevWorkflow() verbatim — bounce-backs (review→dev,
validator→dev), the dev visit-cap, and the cleanup teardown step — only
swapping the default worktreeSandbox() for a credential- and git-aware
dockerSandbox. It registers ONE workflow, feature-dev-docker.
How it works
- Thin image, host MCP. Under a
dockerSandbox(sandbox.thin === true)@autosk/pi-agentmints a per-session host HTTP MCP server and injects only the ack-onlyautosk_transittool. The transport-aware@autosk/pi-tools(loaded from the mounted~/.pi) POSTsautosk_task/autosk_commentto that server overhost.docker.internal— so the image needs neitherautosknor a mounted daemon socket. - Auth. pi keeps its provider tokens in
~/.pi/agent/auth.json(a portable file), so the host~/.piis bind-mounted at the container's/home/agent/.pi(read-write). No export step. - Git.
dockerSandboxbind-mounts only the per-task git worktree; a worktree's.gitpoints into<projectRoot>/.git/worktrees/<id>, so this package also bind-mounts the project.gitat its identical path (layered in atwrap()time) so in-containergit/go/makeresolve the repo.
Use it
# 1. build (or pull) the pi-runtime image
daemon/extensions/pi-agent/docker/build.sh
# 2. install this extension + restart the daemon
autosk ext add npm:@autosk/feature-dev-docker # or: autosk ext add /path/to/feature-dev-docker
# 3. enroll a task
autosk enroll <task-id> --workflow feature-dev-dockerEnv knobs (all optional):
| var | default | what |
|-----|---------|------|
| AUTOSK_PI_DOCKER_IMAGE | ghcr.io/wierdbytes/pi-runtime:latest | image to run |
| AUTOSK_PI_DIR | ~/.pi | host pi config (auth + models) bind-mounted into the container |
Exports
- default — the extension factory (registers
feature-dev-docker). defaultDockerImage()/featureDevDockerSandbox()— for composing your own workflow over the same docker sandbox.
