Vibeleaderboard
Index / tool
Visit github.com
Category
Developer Tools
Rank
No. 1117Tools index
Pricing
Open Source
Type
TOOL
Builder
obra
GitHub
174 stars
Latest release
v1.3.0
Date

About

Run any command in a sandboxed Docker container with automated git worktree and dev-container management — safe playground for coding agents.

What it does

Packnplay coordinates coding sessions by pairing a branch-specific checkout with a container environment. It can reuse an existing session, attach to it, expose ports, pass selected environment variables, and mount chosen credentials or agent configuration. Projects may supply their own development-container setup; otherwise Packnplay uses a configurable default image.

Why it's ranked here

Packnplay is a practical convenience layer for developers already committed to containers and Git worktrees. Its strongest case is reducing setup friction across repeated agent sessions, including ports, credentials, users, and development-container lifecycle steps. The verdict is mixed for security-sensitive use because the project explicitly limits its protection to container isolation and provides neither activity introspection nor access control.

What's good

Worktree creation keeps concurrent agent changes separate without forcing manual checkout management. Container-user detection respects project configuration, caches results by image, and interrogates unfamiliar images before falling back to root. Credential mounting is selective per invocation. AWS handling covers static credentials, SSO-related files, and external credential providers. Existing containers can be reattached by worktree.

Tradeoffs

This is isolation plumbing, not an agent policy system. Mounted credentials and writable agent configuration remain available inside the container when enabled. AWS credentials obtained from an external process are captured when the container starts and may expire without refresh. The default workflow requires Docker or Podman, while native macOS sandboxing is outside scope. Skipping worktrees also places the current directory directly into the session.

How to use it well

Use Packnplay when several coding agents or branches need repeatable, independently attachable development sessions. Keep credential mounts narrowly scoped, prefer project-owned development-container definitions, and expose only required ports and variables. It fits local agent experimentation and parallel feature work. It does not replace permission rules, behavioral auditing, activity inspection, or native host sandboxing.

Technical notes+

main.go delegates to the Cobra command package. pkg/git/worktree.go creates XDG-based worktrees and sanitizes branch names. pkg/docker/client.go detects Docker or Podman, caches progress-flag support, and notes that Apple Container detection is disabled despite retaining argument translation code. pkg/agents/agent.go registers nine agent adapters, while README.md claims first-class support for seven. pkg/aws/credentials.go runs a configured credential_process through sh -c with a 30-second timeout and parses its JSON response. pkg/compose/compose.go supports Compose startup, service lookup, and teardown with volume removal. pkg/runner/e2e_test.go contains Docker-dependent end-to-end tests that skip when Docker is unavailable or short mode is active.

Observed

Primary language
Go
Packaging and installation
Homebrew formula, Go install command, and source build through Make
Interface
Command-line application with run, attach, list, stop, and configuration workflows
Container runtimes
Automatically detects Docker or Podman; OrbStack uses the Docker CLI context
Platform surface
Homebrew installation is documented for macOS and Linux; macOS Keychain integration is documented
Testing structure
Docker-dependent end-to-end tests are present under the runner package
License
No license is stated in the supplied repository text

Read from README.md, go.mod, Makefile, main.go, pkg/agents/agent.go, pkg/git/worktree.go, pkg/progress/bar.go, pkg/config/config.go, pkg/docker/client.go, pkg/aws/credentials.go, pkg/compose/compose.go, pkg/runner/e2e_test.go, pkg/container/labels.go, pkg/container/naming.go, pkg/progress/tracker.go.

What it can do

  • Run commands in sandboxed environment

    Command line instructionsCommand execution results in isolated container

  • Create automated git worktrees

    Git repositoryIsolated working directory for development

  • Manage development containers

    Development environment configurationConfigured Docker container for coding

  • Provide safe coding playground

    Code and development tasksIsolated environment for testing code safely

  • Execute coding agent operations

    Automated coding scripts or AI agentsSafe execution environment for autonomous code operations

Tags

sandboxdockerworktreedev-containeragents

Tech Stack

Go

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.