perplexity-cli
🧠 A simple command-line client for the Perplexity API. Ask questions and receive answers directly from the terminal! 🚀🚀🚀
Sandboxed runner for AI coding agents. No permission fatigue, no credentials in the box, no changes to your project until you approve them.
AI coding agents work best with the guardrails off, and that's a terrible way to run them on your real machine. yoloAI gives the agent a disposable sandbox where it can edit anything and run anything, unattended. Your project, your credentials, and your network stay under your control. When the agent is done, review the diff and apply what you want to keep.
You Sandbox Your project
│ │ │
├─ yoloai new fix-bug . ├─ sandbox copy of project │
│ │ │
├─ << your prompt(s) >> ├─ agent works freely │
│ │ (no permission prompts) │
│ │ │
├─ yoloai diff fix-bug ├─ shows what changed │
│ │ │
├─ yoloai apply fix-bug │ ├─ patches applied
│ (you choose which ones) │ │
│ │ │
├─ yoloai destroy fix-bug ├─ destroys sandbox │
Permission prompts exist because agents make mistakes. After the hundredth approve/deny you stop reading them, and --dangerously-skip-permissions is one confused agent away from a very bad day. yoloAI shrinks the blast radius until the prompts are unnecessary:
diff shows exactly what changed, apply patches your real project while preserving individual commits, and your originals never change until you apply.--network-isolated restricts egress to the agent's API endpoints plus domains you allow. --network-none removes the network entirely.See Security for the full model, including honest limitations.
Download the archive for your platform from the latest release, extract the yoloai binary, and put it on your PATH:
# Linux x86-64 (swap in linux_arm64 / darwin_amd64 / darwin_arm64 as needed).
# Set VERSION to the tag shown on the latest-release page linked above, without
# the leading "v" — e.g. VERSION=1.2.3 for tag v1.2.3.
VERSION=X.Y.Z
curl -fsSL "https://github.com/kstenerud/yoloai/releases/download/v${VERSION}/yoloai_${VERSION}_linux_amd64.tar.gz" \
| tar -xz yoloai
sudo install yoloai /usr/local/bin/
Each archive also ships shell completions, the LICENSE, and the changelog. Releases are signed with cosign (checksums.txt) and carry GitHub build provenance (gh attestation verify yoloai_… --repo kstenerud/yoloai). Debian/RPM packages are attached to each release too.
brew install --cask kstenerud/tap/yoloai
go install# Latest release go install github.com/kstenerud/yoloai/cmd/yoloai@latest # Latest development version (unstable) go install github.com/kstenerud/yoloai/cmd/yoloai@main
Requires Go 1.26+. The binary is placed in $GOPATH/bin (typically ~/go/bin).
git clone https://github.com/kstenerud/yoloai.git cd yoloai git checkout "$(git describe --tags --abbrev=0)" # newest release tag; or stay on main for the development version make build sudo install yoloai /usr/local/bin/
It's a single Go binary with no runtime dependencies beyond your chosen backend. On first run, yoloAI builds its base image and creates ~/.yoloai/ (or whichever directory you point --data-dir to).
# Authenticate (yoloAI picks up existing credentials automatically) export ANTHROPIC_API_KEY=sk-ant-... # Claude Code export GEMINI_API_KEY=... # Gemini CLI # Or just let it pick up your already authenticated session # 1. Spin up a sandbox. The agent starts working immediately when you supply a prompt yoloai new fix-bug ./my-project --prompt "fix the failing tests" # 2. See what the agent changed yoloai diff fix-bug # 3. Apply the good parts to your real project yoloai apply fix-bug # 4. Toss the sandbox yoloai destroy fix-bug
yoloai new exploration ./my-project -a # You're inside the agent, running in tmux in the sandbox. # Ctrl-B, D to detach. # yoloai attach exploration to reconnect.
For longer sessions, work in a loop: tell the agent to commit as it goes, and run yoloai apply from another terminal whenever you want to pull the finished commits into your real project. Each apply brings over only the new commits since the last one. When you're happy with the result, push as usual and destroy the sandbox. See the Usage Guide for the full workflow.
Creating a sandbox, prompting the agent, and applying the results:
Sandboxing
--env, --dir).--cpus, --memory) and port forwarding (--port).clonefile), per-file reflinks on Linux filesystems that support them (btrfs, XFS). Filesystems without reflink (ext4) get a regular copy..gitignore honored: Anything ignored is NOT copied to the sandbox (security practice for on-disk dev credentials).Credentials
Workflow
.patch files, pick commits by ref, or --dry-run first.yoloai run --prompt ... --rm, with --json output on every command.Integration
shell mode for anything else.--vscode-tunnel).yoloai mcp serve lets an outer agent drive sandboxes as tools; yoloai mcp proxy runs MCP servers inside a sandbox.yoloai x).~/.yoloai/ (relocatable with --data-dir).| Backend | Supported Hosts | Dependencies |
|---|---|---|
| docker | Linux, macOS, Windows (WSL2) | Docker Engine, Docker Desktop, or OrbStack |
| podman | Linux, macOS | Podman (brew install podman on macOS) |
| containerd | Linux | Kata Containers |
| apple | macOS (Apple Silicon) | Apple Container |
| tart | macOS (Apple Silicon) | Tart (brew install cirruslabs/cli/tart) |
| seatbelt | macOS (any) | None (uses built-in sandbox-exec) |
Note: Tart provides a full macOS VM, enabling you to run simulators within the sandbox.
Optionally upgrade the OCI runtime for stronger isolation. gVisor modes are available on docker and podman; the VM modes come with the containerd backend.
| Mode | Description |
|---|---|
container |
Default runc: standard Linux namespaces and cgroups |
container-enhanced |
Userspace kernel (gVisor/runsc): syscall interception, no KVM needed |
container-privileged |
All capabilities, seccomp/AppArmor unconfined. Use for Docker-in-Docker and Compose |
vm |
Kata Containers (QEMU): hardware VM isolation |
vm-enhanced |
Kata + Firecracker microVM: lightweight VM isolation |
# Use gVisor for all new sandboxes yoloai config set isolation container-enhanced # Or per sandbox yoloai new task . --isolation container-enhanced
| Mode | Description |
|---|---|
claude |
Runs Claude Code via API key or subscription credentials (default) |
codex |
Runs Codex via API key or subscription credentials |
gemini |
Runs Gemini CLI via API key or subscription credentials |
aider |
Runs Aider (your config is copied in) |
opencode |
Runs OpenCode (your config is copied in) |
shell |
Runs a tmux shell with all agent credentials seeded |
idle |
Runs an idle process to allow MCP proxying |
Use yoloai system agents to list available agents.
Public beta. The core workflow is stable and exercised daily; interfaces may still change between 0.x releases, and every breaking change is documented in BREAKING-CHANGES. Feedback welcome.
more like this
🧠 A simple command-line client for the Perplexity API. Ask questions and receive answers directly from the terminal! 🚀🚀🚀
Skill Claude Code de veille tech francophone. Agrège les flux RSS (Journal du Hacker, Human Coders News…) et produit un…
search projects, people, and tags