No agent injection
All container setup happens via docker exec from the host. Nothing gets
installed inside your container that you didn’t ask for.
devcontainer.json, minus the IDE. crib builds the container and stays out of your way.mise use github:fgrehm/cribOr without mise:
curl -Lo crib.tar.gz "https://github.com/fgrehm/crib/releases/latest/download/crib_$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/').tar.gz"tar xzf crib.tar.gz crib && install -m 755 crib ~/.local/bin/crib && rm crib.tar.gzSee Installation for full details.
If your project has a .devcontainer/ directory, you’re ready:
cd my-projectcrib up # build and start the devcontainercrib shell # drop into a shellcrib restart # restart (picks up config changes)crib down # stop and remove the containerNo agent injection
All container setup happens via docker exec from the host. Nothing gets
installed inside your container that you didn’t ask for.
Docker and Podman
Both runtimes are first-class citizens. Auto-detected or configurable via environment variable.
DevContainer Features
Full support for OCI-based devcontainer features. Install tools like Node, Go, or Docker-in-Docker without touching your Dockerfile.
Lifecycle hooks
All six devcontainer lifecycle hooks run automatically, from
onCreateCommand through postAttachCommand.
Docker Compose
Multi-service setups work out of the box. crib reads your compose files, builds services, and manages the full stack.
Smart restart
crib restart detects what changed and picks the fastest strategy, from a
simple restart to a container recreate.