vibrate_

Claude Code in Docker. Auto-configured. Zero hassle.

Run Claude Code CLI in isolated containers with automatic Docker runtime detection, pre-configured MCP servers, 30+ developer tools, and enhanced security. As easy as vibrate.

Terminal
$ vibrate
[vibrator] Detected Docker runtime: OrbStack
[vibrator] Container: claude-vb-myproject-a1b2c3d4
MCP servers connected (Serena, Context7, Playwright, SQLite)
30+ developer tools ready
$ claude "analyze this codebase"
Analyzing project structure...

Already have Claude Code installed? Vibrator builds a personalized image with your host config and MCP connections. SSH/GPG agents can be forwarded with --ssh-gpg-agents.

Quick Install
mkdir -p ~/.local/bin && curl -fsSL https://github.com/wlame/vibrator/releases/latest/download/vibrate.sh \
  -o ~/.local/bin/vibrate && chmod +x ~/.local/bin/vibrate
Authentication
# Generate a long-lived OAuth token
claude setup-token
# Copy the token from the output and save it
echo "eyJhbG..." > ~/.claude-docker-token
Vibrator loads the token from ~/.claude-docker-token automatically on every run.

Then just:

cd ~/my-project
vibrate

First run builds a personalized image (~10 min). Subsequent starts are instant.

Don't have Claude Code yet? No problem. Vibrator ships a fully self-contained Docker image with Claude Code, MCP servers, and 30+ developer tools pre-installed.

1. Download vibrate.sh
mkdir -p ~/.local/bin && curl -fsSL https://github.com/wlame/vibrator/releases/latest/download/vibrate.sh \
  -o ~/.local/bin/vibrate && chmod +x ~/.local/bin/vibrate
2. Get the Docker Image
# Option A: Pull pre-built image (~2GB download, skips 10+ min build)
vibrate --pull

# Option B: Build locally (takes 10-15 min on first run)
vibrate --generic --build
3. Authenticate
# Option A: Interactive login (opens browser URL)
# Inside the container, run:
claude auth login

# Option B: Pass API key from host
ANTHROPIC_API_KEY=sk-ant-... vibrate
Claude Code needs to authenticate with Anthropic. You only need to do this once.

Then just:

cd ~/my-project
vibrate

Uses the pre-built generic image. All tools included, no host dependencies needed.

Or install to /usr/local/bin or any other directory in your $PATH

Why Vibrator?

🚀

Auto-Detection

Automatically detects Docker Desktop, OrbStack, Colima, Rancher, Podman, and native Docker. No configuration needed.

🔌

Pre-configured MCP

5 MCP servers ready out of the box: Serena, Context7, Playwright, Sequential Thinking, and SQLite. Just works.

🔒

Secure by Default

Minimal privileges by default. Docker-in-Docker opt-in with --docker flag. Clear security warnings.

Fast & Cached

Multi-stage builds, efficient layer caching, and smart container reuse. Start coding in seconds.

🔑

Agent Forwarding

SSH and GPG agents forwarded on demand with --ssh-gpg-agents. Not forwarded by default for security.

📦

Workspace Isolation

Each project in its own container. Clean environments. No tool conflicts. Full reproducibility.

Batteries Included

Everything you need for AI-powered development, pre-configured and ready to go. 30+ tools, 5 MCP servers, and multiple AI coding assistants in a single container.

🔌

MCP Servers

  • Serena — Semantic code analysis via LSP
  • Context7 — Up-to-date library documentation
  • Playwright — Browser automation with Chromium
  • Sequential Thinking — Structured multi-step reasoning
  • SQLite — Natural-language database queries
  • MCP Hub — MCP aggregation gateway with Web UI --mcp
🤖

AI Coding Tools

  • Claude Code — Anthropic's agentic coding CLI
  • agent-browser — Token-efficient browser automation by Vercel
  • ralphex — Autonomous coding loop for Claude Code
  • SuperClaude — Enhanced commands and workflows
  • aider — Multi-model AI coding assistant --aider
🔍

Search & Navigation

  • ripgrep — Fast regex search across files
  • fd — Fast, user-friendly file finder
  • fzf — Fuzzy finder for files, history, and more
  • tree — Directory structure viewer
📊

Data Processing

  • jq — JSON processor and transformer
  • yq — YAML/JSON/XML processor
  • sqlite3 — SQLite command-line interface
  • csvkit — CSV tools suite (csvlook, csvsql, csvgrep)
🔀

Git & Version Control

  • GitHub CLI — GitHub from the command line
  • delta — Syntax-highlighted git diffs
  • lazygit — Terminal UI for git operations

Code Quality

  • ruff — Python linter + formatter (replaces flake8, black, isort)
  • hadolint — Dockerfile linter
🌐

API & Network

  • HTTPie — Modern, human-friendly HTTP client
  • websocat — WebSocket CLI client
💻

Runtimes & Shell

  • Python 3 + uv — Python runtime & fast package manager
  • Go — Go programming language
  • Bun — Fast JavaScript/TypeScript runtime
  • zsh + Oh My Zsh — Enhanced shell with plugins

Tools marked with a flag badge are opt-in — pass the flag when starting vibrate to include them. All other tools are pre-installed and ready to use.

Usage

Interactive Shell

vibrate

Start interactive shell with Claude Code CLI in isolated container

Run Claude Command

vibrate claude "help me refactor this code"

Execute Claude with a prompt directly

With Docker Access

vibrate --docker

Enable Docker-in-Docker for container operations

Custom Workspace

vibrate --workspace /path/to/project

Mount a specific directory as workspace

Pro Tip: Add PATH & Alias

Make vibrate available permanently and add a shorter vb alias:

For Bash:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc && echo 'alias vb=vibrate' >> ~/.bashrc && source ~/.bashrc
For Zsh:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc && echo 'alias vb=vibrate' >> ~/.zshrc && source ~/.zshrc

Then just run vb in any project directory!