From GitHub URL to running Docker stack.
One command.

Yoink clones any repository, detects its services, provisions the databases it needs, generates production Dockerfiles, repairs build failures with an autonomous LLM heal loop, and verifies live HTTP health.

$curl -sSfL https://raw.githubusercontent.com/monojitgoswami69/yoink/main/install.sh | bash
⚡ Auto-detects Linux, macOS (Apple Silicon & Intel), WindowsView all install methods →
Install Guide →Read Documentation ↗Explore 8-Step Pipeline ↓
yoink-session: certify (interactive replay)
Stage: 0 / 8

The barrier isn't a missing Dockerfile.
It's everything in between.

Most tools generate a generic template and walk away. Yoink solves the entire chain from git URL to addressable, verified local stack.

Capability
docker init
Buildpacks / Nix
Yoink CLI
Multi-Service Monorepo Detection
Detects frontend + backend + worker simultaneously
✖ Single only
⚠️ Partial
✔ Full monorepos
Backing Infrastructure Inference
Auto-provisions Postgres, Redis, Mongo from code refs
✖ None
✖ None
✔ 6 Services
Autonomous Self-Healing Loop
Captures Docker errors, patches config, and re-tests
✖ No
✖ No
✔ Bounded AI Healer
Runtime & HTTP Verification
Checks container health + port probe + HTTP 200
✖ Exits
✖ Exits
✔ Verified Live
Zero-Input Day-2 Management
Persistent state for instant yoink up / yoink stats
✖ None
✖ None
✔ Built-in Lockfile
Offline & Sandboxed Execution
Works without cloud with Ollama or --no-agent
✔ Offline
✔ Offline
✔ Ollama / --no-agent

8 Deterministic Stages.
One Verified Outcome.

Click any stage below to inspect how Yoink analyzes, configures, and heals your repository.

1
Clone Repository
Shallow clone of repository with private token isolation.
2
Generate Repo Tree
Safe filtered filesystem traversal skipping build noise.
3
Detect Services
Identifies 14 framework profiles and package managers.
4
Extract Env Vars
5-Tier environment variable discovery & classification.
5
Infer Backing Services
Automatic local container provisioning for databases & queues.
6
Generate Docker Config
Creates multi-stage Dockerfiles and docker-compose.yml.
7
Write Outputs
Writes isolated outputs and writes immutable state lockfile.
8
Build & Self-Heal Loop
Executes Compose build with bounded LLM repair & HTTP verification.

Built for Real-World Repositories

Every feature is designed to handle edge cases, missing configs, monorepos, and broken build outputs honestly.

01. BOUNDED AI HEALING LOOPDEFAULT: 3 TRIES

Autonomous Build Repair with Independent Verification

When a Docker build fails, Yoink extracts the high-priority root cause (TypeScript TS errors, npm mismatches, Python ImportError) rather than downstream noise. The bounded agent patches generated Dockerfiles, rebuilds, and independently verifies HTTP 200 reachability.

$ yoink heal <project> --heal-tries 5
[1/3] Root cause: Vite build failed (missing rollup native binary)
[1/3] Patch applied: Added libc6-compat to Dockerfile.service-1
[1/3] Rebuilding... Succeeded! Verification: http://localhost:80 (HTTP 200)
02. INFRASTRUCTURE

Infers 6 Backing Services

Scans env vars and SDKs. Sees DATABASE_URL? Provisions Postgres with healthchecks. Detects Upstash or Neon? Connects directly without local overhead.

🐘 Postgres 16
⚡ Redis 7
🍃 MongoDB 7
🐬 MySQL 8
🐇 RabbitMQ 3
🔍 Elasticsearch
03. DETECTOR ENGINE

14 Framework Profiles

Next.js, Vite, FastAPI, Django, NestJS, Astro, SvelteKit, and more receive bespoke, optimized multi-stage Dockerfiles rather than bloated generic images.

04. PERSISTENT STATE

Zero-Input Day-2 Re-Runs

Stores authoritative state in ~/.yoink/state/<project>/yoink.lock. Subsequent runs of yoink up, yoink restart, and yoink status require zero re-detection.

05. PROVIDER AGNOSTIC

5 Providers + Offline Ollama

Configure OpenAI, Anthropic Claude, Google Gemini, Groq, or 100% local Ollama. Or run in pure static mode with --no-agent (zero API keys needed).

06. SECURITY & SAFEEFS SANDBOXINGSTRICT PRIVACY

🔒 Sandboxed SafeFS Reader

Agent file reads are strictly limited (max 5 files/round, 16 KiB caps) and reject path traversal or symlinks outside the repository.

🛡️ Immutable Source Code

The agent can only edit generated files in yoink-outputs/. Your repository source files are never altered.

🔑 Zero Token Leakage

Git tokens injected via header flags in-memory only. PATs never hit disk, stdout, or CLI arguments.

Manage Your Local Stack Without Leaving the Terminal

Yoink provides built-in lifecycle management, log streaming, environment overrides, and resource metrics.

yoink up & down

Starts services and waits for healthchecks to turn green. Gracefully tears down containers while preserving persistent volumes.

yoink logs & stats

Unified live multi-container log streaming with timestamp synchronization and real-time CPU/memory metrics per container.

yoink env & explain

Override environment variables without editing compose files, and run explain for an instant architectural audit.

Answers to Common Questions

Everything you need to know about safety, LLM keys, and local Docker management.

No. You can run Yoink in 100% static mode using the --no-agent flag (yoink init <url> --no-agent), or configure a local, privacy-first Ollama instance during yoink setup. An API key (OpenAI, Anthropic, Gemini, Groq) is only needed if you want cloud-assisted build healing.
During yoink setup, you can supply a GitHub Personal Access Token (PAT). Yoink injects this token in-memory using git -c http.extraheader="Authorization: Basic ...". The token is never printed to standard output, never passed as a CLI argument, and is immediately stripped from git config once cloning finishes.
Never. Yoink enforces strict SafeFS sandboxing. The healing loop is only permitted to modify generated artifacts inside yoink-outputs/ (such as Dockerfile.* and docker-compose.yml). Any attempt by the LLM to patch source files, traversals (../), or non-allowlisted filenames is strictly blocked.
The heal loop is capped by default to 3 attempts (configurable via --heal-tries N). If a stack cannot be fixed within budget, Yoink cleanly tears down broken containers, prints an honest, human-readable summary of the root cause, and exits with code 3 (BLOCKED).
Global configuration lives in ~/.yoink/config.json (permissions chmod 0600). Project metadata, port allocations, and detection hashes are saved in ~/.yoink/state/<project>/yoink.lock. You can remove a project anytime with yoink incinerate <project>.

Ready to containerize any repository in seconds?

Copy the one-liner installer or dive into the complete documentation.

$curl -sSfL https://raw.githubusercontent.com/monojitgoswami69/yoink/main/install.sh | bash
⚡ Auto-detects Linux, macOS (Apple Silicon & Intel), WindowsView all install methods →
Read Full Documentation →★ Star on GitHub